2016-07-23 8 views
1

ASTNode(または少なくともCompilationUnit)を有効なソースコードに変換するにはどうすればよいですか?ASTNodeをコードに変換する

ドキュメントは、1つのtoStringを使用してはならないと言っているが、どの選択肢を言及していない:

はデバッグ目的に適したこのノードの文字列表現を返します。

コンパイルユニットはですが、手動で作成されたASTでは機能しません。

書式設定オプションは好都合ですが、基本的には、任意のASTNodeを意味的に同等のソースコードに変換するものに満足しています。

答えて

1

JDTでは、AST操作の通常の方法は、基本CompilationUnitで始まり、次にリライタを使用してコンテンツを追加することです。その後、ASTRewriteAnalyzer/ASTRewriteFormatterは、書式設定されたソースコードを作成する必要があります。スタブ型宣言だけを含むCUを作成するのは難しいはずがないので、これは1つのオプションです。

あなたのニーズに合っていない場合は、直接org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFlattener.asString(ASTNode, RewriteEventStore)と呼んでください。既存のファイルを編集していない場合は、RewriteEventStoreで収集されたイベントを無視して、返されたStringを使用するだけです。

関連する問題