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