Ich benutze JDT in Eclipse Neon, um ein Java-Code-Generator-Plug-in zu schreiben. In einem bestimmten Moment habe ich bereits den AST eine korrekt generierten Klasse und ein Verfahren mit einem leeren Körper, wie unten:Verwendung von ASTRewrite zum Einfügen eines Code-Snippets den Körper einer Methode einfügen?
// Simplified for this question
public class X {
public void x(void) {
}
}
Jetzt habe ich einen Code-Schnipsel in einer StringBuilder
Instanz bereit, wie die verwendet werden Code für diesen leeren Methodenkörper. Der Code ist korrekt geschrieben, also wird er nach dem Einfügen fehlerfrei kompiliert.
Nachdem ich eine Reihe von Posts, Foruns und die JDT-Dokumentation gelesen hatte, konnte ich keine Möglichkeit finden, dieses Code-Snippet in den AST einzufügen.
PS .: Einer meiner Versuche war die ASTParser
Klasse zu verwenden, um einen neuen AST aus meinem Schnipsel zu generieren, was tatsächlich funktioniert. Da der AST des Snippets jedoch nicht mit der Zielklasse AST identisch ist, kann er nicht als Methodenkörper verwendet werden.
Eine perfekte Passform für meine Bedürfnisse! Vielen Dank!!! – AlexSC