【发布时间】:2012-11-27 21:17:43
【问题描述】:
我正在尝试使用 JDT/AST 生成 Java 源代码。我现在有MethodDeclaration 并想将代码 sn-p(来自另一个来源)添加到方法主体。代码 sn-p 可以包含任何 Java 代码,甚至是语法无效的代码。我只是找不到这样做的方法。
对于 JCodeModel,您将使用 JBlock#directStatement(String s) method。
有没有办法用 JDT/AST 做到这一点?
【问题讨论】:
-
AST 操作通常要求您拥有语法上有效的树。如果该方法的代码无效,通常情况下,您将没有要插入的有效树并且您将无法执行此操作,或者您可以执行此操作但只能获得一棵无意义的树作为结果。
-
好吧,那么 JST/AST 似乎不是合适的工具...
-
为什么要插入无效代码?
-
我正在实现教育软件,其中 UML 活动图(由学生创建)应该被翻译成 Java 源代码。在图表编辑器中,可以使用任意 Java 代码定义动作节点,这些代码需要按原样出现在生成的代码中。
-
然后你可以解析代码,如果没有错误就使用它,如果没有错误就将它作为cmets插入。
标签: java code-generation abstract-syntax-tree eclipse-jdt