获取全字段类型的ICompilationUnit

问题描述:

我需要获取java文件(ICompilationUnit)中声明的字段类型。获取全字段类型的ICompilationUnit

for (IType type : compilationUnit.getTypes()) { 
    for (IField iField : type.getFields()) { 
    typesig = iField.getTypeSignature() 
    } 
} 

getTypeSignature() - 返回类型名称,但没有包名称。

可以使用以下方式获取软件包名称: IType.resolveType(String typeName) 但是这种方法非常繁重,需要一些时间才能完成。

是否有另一种方式获取完整的类型名称(包)?

当使用JDT的Java模型时,问题中的方法(使用IType.resolveType())是正确的。

如果您需要解析许多元素的类型,请考虑使用带有解析绑定的AST。这样你付出的代价只能解决一次。