いくつかの注釈処理 (シリアル化) を実行したい:
私が欲しいもの:
- 問題のクラスをサブクラス化したくありません
- メソッドを既存のクラスに挿入したい
- ASMを使用してこれらのメソッドを追加したい
- 手で生成したくありませんが、コンパイル時に自動的に生成します
私が持っているもの:
- 注釈:)
- ASM で .class ファイルをスキャンして変更するコード
問題:
- .class ファイルを処理するタイミングがわからない
- 私の知る限り、AbstractProcessorアプローチでは新しいソースファイルの作成のみが許可されます
- ASM を使用して.classファイルを変更しますが、メソッドをまだ作成する必要がある場合、コンパイラはどのように.javaファイルをコンパイルできますか?
アイデア:
- 現時点では、追加するメソッドはインターフェースによって定義されていますが、スーパークラスを使用すると、ポストでオーバーライドできる何もしない実装を持つことができます。ただし、これは多くの柔軟性を奪います。それでも、javac を使用して 1 ステップでコンパイルする方法がわかりません...
ヒント、提案、解決策を事前にありがとう,
Till