0

私はEclipseプラグインの開発に取り組んでいるので、APIドキュメントを見つけてグーグルで検索します.ICompilationUnitでそのようなメソッドisClass() isInterface()しか含まれていませんが、抽象クラス、次のようなコードを深く掘り下げたい

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

誰でも私を助けることができますか?

4

1 に答える 1

2

まず、 のインスタンスが必要です。これはorg.eclipse.jdt.core.IType、1 つのインスタンスに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 に答える