我正在开发eclipse插件开发,所以我找到api docs和google它们,它只包含这样的方法isClass()isInterface()与ICompilationUnit,但我想深入挖掘抽象类,代码像
public boolean isAbstract(ICompilationUnit icu) {
//TODO
}
任何人都可以帮助我吗?
答案 0 :(得分:2)
首先,您需要一个org.eclipse.jdt.core.IType
的实例,因为一个ICompilationUnit
可以包含多种类型。 ICompilationUnit.getTypes()
将为您提供此单元中所有类型的列表。 ICompilationUnit.findPrimaryType()
会为您提供此单元的主要类型。
您的日常工作应如下所示:
public boolean isAbstract(ICompilationUnit icu) throws JavaModelException {
final IType type = icu.findPrimaryType();
return (type != null)
? Flags.isAbstract(type.getFlags())
: false;
}
其中Flags
为org.eclipse.jdt.core.Flags
。