0

我正在开发 eclipse 插件,所以我找到了 api 文档并在谷歌上搜索它们,它只包含带有 ICompilationUnit 的 isClass() isInterface() 这样的方法,但我想深入挖掘抽象类,代码如

public boolean isAbstract(ICompilationUnit icu) {
   //TODO
}

有谁能够帮助我?

4

1 回答 1

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

于 2012-04-06T17:39:43.573 回答