ASMを使用してJavaバイトコードを生成しています。基本的にあらゆる種類のメソッドを追加の後処理でオーバーライドできる動的プロキシを作成する必要があります。私はそれをすべて行うことができますが、良い方法で行う方法がわからないことが1つあります。
ALOAD
オーバーライドするメソッドの最初のパラメーターのタイプは任意であるため、ASMコードでは使用できませんがILOAD
、、などを使用する必要がある場合があります。私の質問:ロードするパラメータータイプに基づいてLLOAD
、FLOAD
どのLOAD命令のオペコードが有効であるかを簡単に知る方法があるので、次のようなことをする必要はありません。
if (parameterType == int.class)
mv.visitVarInsn(ILOAD, 1);
else if
...
else
mv.visitVarInsn(ALOAD, 1);