Skip to content

Latest commit

 

History

History
62 lines (47 loc) · 2.08 KB

README_JP.md

File metadata and controls

62 lines (47 loc) · 2.08 KB

EN JP

gen.mjava

概要

GumTree.mjava 用のASTを生成します. .mjavaファイルはJavaプログラムから一つのメソッドのみを抽出したファイルです.

使用方法

Gradle (GitHub Packagesを使用)

build.gradle

repositories {
    ....
    maven {
        name = "GitHubPackages"
        url = uri("https://maven.pkg.github.com/a-fujimt/gen.mjava")
        credentials {
            username = project.hasProperty("GITHUB_USER") ? GITHUB_USER : ''
            password = project.hasProperty("GITHUB_TOKEN") ? GITHUB_TOKEN : ''
        }
    }
}

dependencies {
  implementation 'com.fujimotoakira:gen.mjava:1.0-SNAPSHOT'
  implementation 'com.github.gumtreediff:core:version' // GumTree
  implementation 'com.github.gumtreediff:client:version' // GumTree
  ....
}

gradle.properties

GITHUB_USER = XXXXXX
GUTHUB_TOKEN = YYYYYY

このプロジェクトはGitHub Packageで公開されているためgradle.propertiesにGitHubのアクセストークンを記載します.アクセストークンについての詳しい情報はこちらをご覧ください.

ASTの生成

ファイル種類に応じたGeneratorを利用 (参考)

Run.initGenerators(); // registers the available parsers
String file = "myfile.mjava";
TreeContext tc = TreeGenerators.getInstance().getTree(file); // retrieves and applies the default parser for the file 
Tree t = tc.getRoot(); // retrieves the root of the tree
System.out.println(t.toTreeString()); // displays the tree in our ad-hoc format

mjavaファイルのGeneratorを利用 (参考)

String file = "myfile.mjava";
Tree tree = new MJdtTreeGenerator().generateFrom().file(file).getRoot(); // instantiates and applies the MJDT generator