Eclipse PDT: получение исходного кода за ASTNode - PullRequest
0 голосов
/ 28 марта 2012

Я изучаю PDT SDK, чтобы использовать его для плагина Eclipse, который я пишу.

Проблема, с которой я столкнулся, заключается в следующем: с классом, который расширяет org.eclipse.php.internal.core.ast.visitor.AbstractVisitor, я могу найти функцию с заданным именем. Это возвращает мне объект типа FunctionDeclaration.

Есть ли способ от FunctionDeclaration (или FunctionDeclaration.getAST()) вернуть исходный код, который находится за самим AST?

Используя FunctionDeclaration.toString(), я могу получить только XML-подобное представление дерева, это не то, что я желаю.

Большое спасибо заранее, эта проблема сводит меня с ума:)

1 Ответ

0 голосов
/ 29 марта 2012

Вот решение:

import org.eclipse.php.internal.core.ast.rewrite.ASTRewriteFlattener;
...
String functionSource = ASTRewriteFlattener.asString(foundAction, new RewriteEventStore());

извините, я не нашел класс ASTRewriteFlattener перед добавлением вышеуказанного вопроса. Я оставляю здесь ответ для протокола.

...