我正在寻找一种方法来分析 Java 代码并以编程方式修改它们,
例如,代码可能是这样的:
@FindBy(id = "login")
WebElement btnLogin;
@FindBy(xpath = "//div/a")
List<WebElement> aNodes;
我希望检查@FindBy注释的每个字段,并将注释@FindBy更改为@Synchronized。
那是:
@Synchronized
WebElement btnLogin;
@Synchronized
List<WebElement> aNodes;
与我发现的类似问题不同(他们使用 javassist 或 ASM 修改字节码),这些注释将在运行时被删除,所以我只能在源代码级别而不是在字节码级别。
到目前为止,我找到了 qdox,但它似乎只能分析代码而不能修改它。
我试图自己编写正则表达式来解决它,但这似乎是一个太大的项目。
对此有什么建议吗?