我正在探索PDT SDK,以便将它用于我正在编写的Eclipse插件。
我遇到的问题是:使用扩展org.eclipse.php.internal.core.ast.visitor.AbstractVisitor
的类,我可以找到具有给定名称的函数。这会返回一个FunctionDeclaration
类型的对象。
来自FunctionDeclaration
(或FunctionDeclaration.getAST()
)是否有办法取回AST本身背后的源代码?
使用FunctionDeclaration.toString()
我只能获得树的类似XML的表示,这不是我想要的。
非常感谢,这个问题让我抓狂:)
答案 0 :(得分:0)
以下是解决方案:
import org.eclipse.php.internal.core.ast.rewrite.ASTRewriteFlattener;
...
String functionSource = ASTRewriteFlattener.asString(foundAction, new RewriteEventStore());
抱歉,在添加上述问题之前我没有找到ASTRewriteFlattener
课程。我把答案留在这里备案。