ネクストデザイン有限会社 2017.1.30

Eclipse JDT 3.3で列挙型をvisitできなかった時のメモ

2011.9

この内容は、JDTをEclipseプラグインからではなく、スタンドアロンで使用した時に、
すぐに解決できなかった状況と、その時の解決方法です。

■すぐに解決できなかった状況
ASTVisitor#visit() でアノテーション、列挙型をvisitできない、という状況。
public boolean visit(AnnotationTypeDeclaration node)
public boolean visit(EnumDeclaration node)

■解決方法
Map options = JavaCore.getOptions();
options.put(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_6);
options.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_6);
options.put(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_6);
myParser.setCompilerOptions(options);

上記コードでJavaCore.VERSION_1_6を明示的に指定することで解決しました。
また、この指定は、myParserにsetSource(char[] source)するたびに行う必要があるようです。

追記
弊社のフリーソフトですが・・・こちらのツールがお役に立つかも知れません.。こちら

以上
NextDesign 2017.1.30