EclipsePDT:获取ASTNode背后的源代码



我正在探索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类。我把答案留作记录。

最新更新