gpt4 book ai didi

java - eclipse JDT AST : How to write generated AST to java file?

转载 作者:搜寻专家 更新时间:2023-11-01 02:51:38 25 4
gpt4 key购买 nike

我目前正在使用 eclipse AST 来生成源代码。除了在大多数示例中,我是在独立应用程序中从头开始生成源代码,而不是在 eclipse 插件中。

当从 ASTParser 读取时,您可以通过调用 recordModifications() 来激活修改,但是当 AST 是从头开始创建时这不起作用,例如通过调用 newCompilationUnit()

因此,不可能通过 DocumentTextEdit 将源代码写入文件 - 有一个异常(exception)说明修改记录尚未启用。
从头开始生成 AST 并写入文件有什么经验吗?谢谢!

最佳答案

为什么不先创建文件,然后从中生成 AST,如下所示:

ICompilationUnit unit = JavaCore.createCompilationUnitFrom(file);
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setResolveBindings(true);
parser.setSource(unit);
// Parse the source code and generate an AST.
CompilationUnit ast = (CompilationUnit) parser.createAST(null);

如果文件是新创建的并且是空白的,那么 AST 可能是空的,然后您可以替换 ast 对象的根并将其写入文件。此外,如果您不依赖于 Eclipse,您可以使用 JSR199 标准做同样的事情,并以正常方式将该 AST 写入文件。参见 here进行介绍。

关于java - eclipse JDT AST : How to write generated AST to java file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10148802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com