获取全字段类型的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。这样你付出的代价只能解决一次。