Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
51 lines (35 sloc) 2.07 KB

Eclipse AST を利用した シンプルな Java ソースコード解析

Eclipse AST を利用した Java ソースコード解析の最新な状況をメモしておきます。

まず、ここで調べた結果は以下の github リポジトリに反映済みです。

Eclipse AST に必要な jar ライブラリを利用

Eclipse AST を利用するためには、Eclipse AST に関連する jar ライブラリ一式を揃える必要があります。これは Maven リポジトリを利用すると大変簡単に実現することができます。

Maven の依存関係に、以下のように org.eclipse.jdt.core を加えます。これだけで、芋づる式に必要な jar ライブラリを利用することが可能になります。

<dependency>
  <groupId>org.eclipse.jdt</groupId>
  <artifactId>org.eclipse.jdt.core</artifactId>
  <version>3.13.102</version>
</dependency>

シンプルな Eclipse AST コード

Eclipse AST に必要なライブラリ一式が組み込めたら、Eclipse AST を利用したパースコードが記述および実行できます。重要な箇所を以下にピックアップします。

import org.apache.commons.io.FileUtils;
import org.eclipse.jdt.core.dom.AST;
import org.eclipse.jdt.core.dom.ASTParser;
import org.eclipse.jdt.core.dom.CompilationUnit;

        final ASTParser parser = ASTParser.newParser(AST.JLS10);
        parser.setKind(ASTParser.K_COMPILATION_UNIT);
        parser.setSource(buf.toString().toCharArray());

        final CompilationUnit node = (CompilationUnit) parser.createAST(null);
        final SimpleVisitor visitor = new SimpleVisitor();
        node.accept(visitor);

完全なソースコードは <@link value="https://github.com/igapyon/simple-EclipseAstJava" /> にて参照することができます。

関連する日記

  • <@linkdiary date="2018-04-17" />
  • <@linkdiary date="2016-10-22" />
  • <@linkdiary date="2016-10-23" />
  • <@linkdiary date="2011-10-14" />

<@lastmodified date="2018-04-18"/>

You can’t perform that action at this time.