アプリケーションの残りの部分に整形されたツリーがあり、整形されていないテキストを特定の場所に挿入する必要があるため、標準のツリーノード挿入メカニズムではほとんどできません。
重要なのは、適切な場所にatを挿入した有効なプログラムテキストのテキストを生成することです。 ASTをテキストとして印刷するロジックが必要です。あなたがする必要があるのは、ASTをテキストとして印刷し、そのプロセスの途中で、必要な正確な位置にキャッチして、任意のテキストを挿入することです。
私たちのDMSソフトウェアリエンジニアリングツールキットは、このような事態を可能にするために、プリテプリタにプリントノードフックを入力/終了しています。
JDT/ASTにこのようなことが存在しない場合は、その前置記号を修正してそのフックを与えることができます。あるいは、標準セットの一部ではなく、任意のテキストを保持するだけでメソッド・ノードのように動作する別のツリー・ノード型を追加することで、JDT/ASTを変更することもできます。おそらく各ノードは印刷されるものを制御するでしょう。そのツリーノードのprettyprintingを定義して、テキストを出力させることができます。
最終的には本当にハックな解決策です。完全な有効なASTを任意のテキストに挿入します。一意の名前(例:ZZZ)の偽の識別子が含まれています。 ASTを文字列に出力し、その文字列を後処理して、一意の名前を含む偽のツリーを実際のユーザーテキストに置き換えます。
ASTの操作では、構文上有効なツリーが必要です。メソッドのコードが不正な場合は、一般的には、挿入する有効なツリーを持たず、それを行うこともできません。そうしないと、無意味なツリーしか取得できません。結果。 –
OK、JST/ASTは正しいツールではないようです... – Morrandir
なぜ無効なコードを挿入する必要がありますか? –