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を見つけましたが、コードを分析することはできますが、変更することはできないようです。
そして、それを解決するために自分で正規表現を書こうとしましたが、あまりにも巨大なプロジェクトのようです。
これに関する推奨事項はありますか?