gpt4 book ai didi

java - 解析java源文件,然后使用ANTLR4修改原始源

转载 作者:行者123 更新时间:2023-11-29 09:02:09 27 4
gpt4 key购买 nike

我是 ANTLR 的新手。我的目标是将我们的代码库升级到 Hibernate 4,新版本已经弃用了类“HibernateCallback”。我们有一个庞大的代码库,其中包含数千个已弃用类的引用。这就是我的想法:1. 读取 Java 源文件2.每当我们遇到如下代码:

getDao().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
//Some code;
}
});

3.在此代码之前,我想插入另一行,如下所示:

session.doWork(new Work(){
@Override
public void execute(Connection conx) throws SQLException {
//Some code from the previous pattern
}
});

我有一个工作示例 - 但它打印到标准输出,我实际上想修改 antlr 解析器正在读取的 java 文件。

我在“ExtractInterfaceTool”一书中遵循的示例 - 用于从 java 类中提取 java 接口(interface)。

如果这个问题得到了回答,那么请接受我的道歉 - 请为我指明正确的方向。

最佳答案

ANTLR 4 当前没有任何自动源代码转换 功能,至少在核心运行时中没有。当我为 ANTLRWorks 2(它使用 ANTLR 在源文件被编辑时解析它们)实现一个小的重构操作时,我使用解析树中的信息来识别在哪里插入额外的代码,但是实际的插入过程是我必须自己编写的。

关于java - 解析java源文件,然后使用ANTLR4修改原始源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16688722/

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