クラス MethodVisitorTee
java.lang.ObjectSE
org.springframework.asm.MethodVisitor
org.springframework.cglib.transform.MethodVisitorTee
フィールドのサマリー
クラス org.springframework.asm.MethodVisitor から継承されたフィールド
api, mv
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明visitAnnotation
(StringSE desc, boolean visible) このメソッドのアノテーションにアクセスします。このアノテーションインターフェースメソッドのデフォルト値にアクセスします。void
visitAttribute
(Attribute attr) このメソッドの非標準属性を訪問します。void
メソッドのコードの訪問を開始します(ある場合)。void
visitEnd()
メソッドの最後にアクセスします。void
visitFieldInsn
(int opcode, StringSE owner, StringSE name, StringSE desc) 現場指示を訪問します。void
visitFrame
(int type, int nLocal, ObjectSE[] local, int nStack, ObjectSE[] stack) ローカル変数とオペランドスタック要素の現在の状態にアクセスします。void
visitIincInsn
(int var, int increment) IINC 命令を訪問します。void
visitInsn
(int opcode) ゼロオペランド命令にアクセスします。visitInsnAnnotation
(int typeRef, TypePath typePath, StringSE desc, boolean visible) 指示のアノテーションにアクセスします。void
visitIntInsn
(int opcode, int operand) 単一の int オペランドを持つ命令を訪問します。void
visitInvokeDynamicInsn
(StringSE name, StringSE desc, Handle bsm, ObjectSE... bsmArgs) invokedynamic 命令にアクセスします。void
visitJumpInsn
(int opcode, Label label) ジャンプ命令を訪問します。void
visitLabel
(Label label) ラベルにアクセスします。void
visitLdcInsn
(ObjectSE cst) LDC 命令を訪問します。void
visitLineNumber
(int line, Label start) 行番号宣言にアクセスします。void
visitLocalVariable
(StringSE name, StringSE desc, StringSE signature, Label start, Label end, int index) ローカル変数宣言にアクセスします。visitLocalVariableAnnotation
(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, StringSE desc, boolean visible) ローカル変数型のアノテーションにアクセスします。void
visitLookupSwitchInsn
(Label dflt, int[] keys, Label[] labels) LOOKUPSWITCH 命令を訪問します。void
visitMaxs
(int maxStack, int maxLocals) メソッドの最大スタックサイズとローカル変数の最大数にアクセスします。void
visitMethodInsn
(int opcode, StringSE owner, StringSE name, StringSE desc) メソッドの説明にアクセスします。void
visitMethodInsn
(int opcode, StringSE owner, StringSE name, StringSE desc, boolean itf) メソッドの説明にアクセスします。void
visitMultiANewArrayInsn
(StringSE desc, int dims) MULTIANEWARRAY 命令を訪問します。void
visitParameter
(StringSE name, int access) このメソッドのパラメーターを訪問します。visitParameterAnnotation
(int parameter, StringSE desc, boolean visible) このメソッドのパラメーターのアノテーションにアクセスします。void
visitTableSwitchInsn
(int min, int max, Label dflt, Label... labels) TABLESWITCH 命令を訪問します。visitTryCatchAnnotation
(int typeRef, TypePath typePath, StringSE desc, boolean visible) 例外ハンドラー型のアノテーションにアクセスします。void
visitTryCatchBlock
(Label start, Label end, Label handler, StringSE type) try catch ブロックにアクセスします。visitTypeAnnotation
(int typeRef, TypePath typePath, StringSE desc, boolean visible) メソッドシグネチャーの型のアノテーションにアクセスします。void
visitTypeInsn
(int opcode, StringSE desc) 型命令を訪問します。void
visitVarInsn
(int opcode, int var) ローカル変数命令を訪問します。クラス org.springframework.asm.MethodVisitor から継承されたメソッド
getDelegate, visitAnnotableParameterCount
コンストラクターの詳細
MethodVisitorTee
メソッドの詳細
visitFrame
クラスからコピーされた説明:MethodVisitor
ローカル変数とオペランドスタック要素の現在の状態にアクセスします。このメソッドは、ジャンプ命令のターゲットである GOTO や THROW などの無条件ブランチ命令に続く命令 i の 直前、または例外ハンドラーブロックを開始する命令 i の直前に呼び出す必要があります。 訪問する型は、i が実行される直前に、ローカル変数とオペランドスタック要素の値を記述する必要があります。
(*)これは、バージョンがOpcodes.V1_6
以上のクラスにのみ必須です。
メソッドのフレームは、拡張形式または圧縮形式のいずれかで指定する必要があります(すべてのフレームは同じ形式を使用する必要があります。つまり、単一のメソッド内で拡張フレームと圧縮フレームを混在させないでください)。- 拡張形式では、すべてのフレームが F_NEW 型である必要があります。
- 圧縮形式では、フレームは基本的に前のフレームの状態からの「デルタ」です。
Opcodes.F_SAME
は、前のフレームとまったく同じローカルで、スタックが空のフレームを表します。Opcodes.F_SAME1
は、前のフレームとまったく同じローカルで、スタック上の単一の値を持つフレームを表します(numStack
は 1 で、stack[0]
にはスタックアイテムの型の値が含まれます)。- 現在のローカルを持つフレームを表す
Opcodes.F_APPEND
は、追加のローカルが定義されていることを除いて、前のフレームのローカルと同じです(numLocal
は 1, 2 または 3 であり、local
要素には追加された型を表す値が含まれます)。 - 現在のローカルを持つフレームを表す
Opcodes.F_CHOP
は、最後の 1 〜 3 のローカルが存在せず、スタックが空であることを除いて、前のフレームのローカルと同じです(numLocal
は 1, 2 または 3 です)。 - 完全なフレームデータを表す
Opcodes.F_FULL
。
どちらの場合も、メソッドのパラメーターとアクセスフラグに対応する最初のフレームは暗黙的であり、アクセスしてはなりません。また、同じコード位置に対して 2 つ以上のフレームにアクセスすることも不正です (つまり、visitFrame への 2 回の呼び出しの間に少なくとも 1 つの命令にアクセスする必要があります)。- オーバーライド:
- クラス
MethodVisitor
のvisitFrame
- パラメーター:
type
- このスタックマップフレームの型。拡張フレームの場合はOpcodes.F_NEW
、圧縮フレームの場合はOpcodes.F_FULL
、Opcodes.F_APPEND
、Opcodes.F_CHOP
、Opcodes.F_SAME
またはOpcodes.F_APPEND
、Opcodes.F_SAME1
である必要があります。nLocal
- 訪問したフレーム内のローカル変数の数。long 値と double 値は、1 つの変数としてカウントされます。local
- このフレームのローカル変数の型。この配列は変更しないでください。プリミティブ型はOpcodes.TOP
、Opcodes.INTEGER
、Opcodes.FLOAT
、Opcodes.LONG
、Opcodes.DOUBLE
、Opcodes.NULL
またはOpcodes.UNINITIALIZED_THIS
で表されます。( long と double は単一要素で表されます)。参照型は String オブジェクト (内部名を表す。Type.getInternalName()
を参照) で表され、初期化されていない型は Label オブジェクトで表されます (このラベルは、この初期化されていない値を作成した NEW 命令を示します)。nStack
- 訪問したフレームのオペランドスタック要素の数。long 値と double 値は、1 つのスタック要素としてカウントされます。stack
- このフレームのオペランドスタック型。この配列は変更しないでください。その内容は「ローカル」配列と同じ形式です。
visitAnnotationDefault
クラスからコピーされた説明:MethodVisitor
このアノテーションインターフェースメソッドのデフォルト値にアクセスします。- オーバーライド:
- クラス
MethodVisitor
のvisitAnnotationDefault
- 戻り値:
- このアノテーションインターフェースメソッドの実際のデフォルト値を訪問するビジター、またはこのビジターがこのデフォルト値を訪問することに関心がない場合は null です。このアノテーションビジターのメソッドに渡される 'name' パラメーターは無視されます。さらに、このアノテーションビジターでは、正確に 1 つの訪問メソッドが呼び出され、その後に visitEnd が続く必要があります。
visitAnnotation
クラスからコピーされた説明:MethodVisitor
このメソッドのアノテーションにアクセスします。- オーバーライド:
- クラス
MethodVisitor
のvisitAnnotation
- パラメーター:
desc
- アノテーションクラスのクラス記述子。visible
- 実行時にアノテーションが表示される場合は true。- 戻り値:
- アノテーションの値を訪問する訪問者、またはこの訪問者がこのアノテーションを訪問することに興味がない場合は null。
visitParameterAnnotation
クラスからコピーされた説明:MethodVisitor
このメソッドのパラメーターのアノテーションにアクセスします。- オーバーライド:
- クラス
MethodVisitor
のvisitParameterAnnotation
- パラメーター:
parameter
- パラメーターインデックス。このインデックスは、メソッド記述子のパラメーターの数よりも厳密に小さく、MethodVisitor.visitAnnotableParameterCount(int, boolean)
で指定されたパラメーターの数よりも厳密に小さくする必要があります。重要な注意: 特に合成パラメーターの場合、パラメーターインデックス i は、メソッド記述子の i 番目のパラメーター記述子に対応する必要はありません(https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.7.18) を参照)。desc
- アノテーションクラスのクラス記述子。visible
- 実行時にアノテーションが表示される場合は true。- 戻り値:
- アノテーションの値を訪問する訪問者、またはこの訪問者がこのアノテーションを訪問することに興味がない場合は null。
visitAttribute
クラスからコピーされた説明:MethodVisitor
このメソッドの非標準属性を訪問します。- オーバーライド:
- クラス
MethodVisitor
のvisitAttribute
- パラメーター:
attr
- 属性。
visitCode
public void visitCode()クラスからコピーされた説明:MethodVisitor
メソッドのコード(つまり、非抽象メソッド)の訪問を開始します。- オーバーライド:
- クラス
MethodVisitor
のvisitCode
visitInsn
public void visitInsn(int opcode) クラスからコピーされた説明:MethodVisitor
ゼロオペランド命令にアクセスします。- オーバーライド:
- クラス
MethodVisitor
のvisitInsn
- パラメーター:
opcode
- the opcode of the instruction to be visited. This opcode is either NOP, ACONST_NULL, ICONST_M1, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, LCONST_0, LCONST_1, FCONST_0, FCONST_1, FCONST_2, DCONST_0, DCONST_1, IALOAD, LALOAD, FALOAD, DALOAD, AALOAD, BALOAD, CALOAD, SALOAD, IASTORE, LASTORE, FASTORE, DASTORE, AASTORE, BASTORE, CASTORE, SASTORE, POP, POP2, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, SWAP, IADD, LADD, FADD, DADD, ISUB, LSUB, FSUB, DSUB, IMUL, LMUL, FMUL, DMUL, IDIV, LDIV, FDIV, DDIV, IREM, LREM, FREM, DREM, INEG, LNEG, FNEG, DNEG, ISHL, LSHL, ISHR, LSHR, IUSHR, LUSHR, IAND, LAND, IOR, LOR, IXOR, LXOR, I2L, I2F, I2D, L2I, L2F, L2D, F2I, F2L, F2D, D2I, D2L, D2F, I2B, I2C, I2S, LCMP, FCMPL, FCMPG, DCMPL, DCMPG, IRETURN, LRETURN, FRETURN, DRETURN, ARETURN, RETURN, ARRAYLENGTH, ATHROW, MONITORENTER, or MONITOREXIT.
visitIntInsn
public void visitIntInsn(int opcode, int operand) クラスからコピーされた説明:MethodVisitor
単一の int オペランドを持つ命令を訪問します。- オーバーライド:
- クラス
MethodVisitor
のvisitIntInsn
- パラメーター:
opcode
- 訪問する命令のオペコード。このオペコードは、BIPUSH、SIPUSH、NEWARRAY のいずれかです。operand
- 訪問する命令のオペランド。
オペコードが BIPUSH の場合、オペランド値は Byte.MIN_VALUE と Byte.MAX_VALUE の間にある必要があります。
オペコードが SIPUSH の場合、オペランド値は Short.MIN_VALUE と Short.MAX_VALUE の間にある必要があります。
オペコードが NEWARRAY の場合、オペランド値はOpcodes.T_BOOLEAN
、Opcodes.T_CHAR
、Opcodes.T_FLOAT
、Opcodes.T_DOUBLE
、Opcodes.T_BYTE
、Opcodes.T_SHORT
、Opcodes.T_INT
、Opcodes.T_LONG
のいずれかである必要があります。
visitVarInsn
public void visitVarInsn(int opcode, int var) クラスからコピーされた説明:MethodVisitor
ローカル変数命令にアクセスします。ローカル変数命令は、ローカル変数の値をロードまたは格納する命令です。- オーバーライド:
- クラス
MethodVisitor
のvisitVarInsn
- パラメーター:
opcode
- 訪問するローカル変数命令のオペコード。このオペコードは、ILOAD、LLOAD、FLOAD、DLOAD、ALOAD、ISTORE、LSTORE、FSTORE、DSTORE、ASTORE、RET のいずれかです。var
- 訪問する命令のオペランド。このオペランドは、ローカル変数のインデックスです。
visitTypeInsn
クラスからコピーされた説明:MethodVisitor
型命令を訪問します。型命令は、クラスの内部名をパラメーターとして受け取る命令です (Type.getInternalName()
を参照)。- オーバーライド:
- クラス
MethodVisitor
のvisitTypeInsn
- パラメーター:
opcode
- 訪問する型命令のオペコード。このオペコードは、NEW、ANEWARRAY、CHECKCAST、INSTANCEOF のいずれかです。desc
- 訪問する命令のオペランド。このオペランドは、オブジェクトまたは配列クラスの内部名である必要があります(Type.getInternalName()
を参照)。
visitFieldInsn
クラスからコピーされた説明:MethodVisitor
フィールドインストラクションを訪問します。フィールド命令は、オブジェクトのフィールドの値をロードまたは格納する命令です。- オーバーライド:
- クラス
MethodVisitor
のvisitFieldInsn
- パラメーター:
opcode
- 訪問する型命令のオペコード。このオペコードは、GETSTATIC、PUTSTATIC、GETFIELD、PUTFIELD のいずれかです。owner
- フィールドの所有者クラスの内部名(Type.getInternalName()
を参照)。name
- フィールドの名前。desc
- フィールドの記述子(Type
を参照)
visitMethodInsn
クラスからコピーされた説明:MethodVisitor
メソッドの説明にアクセスします。メソッド命令は、メソッドを呼び出す命令です。- オーバーライド:
- クラス
MethodVisitor
のvisitMethodInsn
- パラメーター:
opcode
- 訪問する型命令のオペコード。このオペコードは、INVOKEVIRTUAL、INVOKESPECIAL、INVOKESTATIC、INVOKEINTERFACE のいずれかです。owner
- メソッドの所有者クラスの内部名(Type.getInternalName()
を参照)。name
- メソッドの名前。desc
- メソッドの記述子(Type
を参照)
visitMethodInsn
クラスからコピーされた説明:MethodVisitor
メソッドの説明にアクセスします。メソッド命令は、メソッドを呼び出す命令です。- オーバーライド:
- クラス
MethodVisitor
のvisitMethodInsn
- パラメーター:
opcode
- 訪問する型命令のオペコード。このオペコードは、INVOKEVIRTUAL、INVOKESPECIAL、INVOKESTATIC、INVOKEINTERFACE のいずれかです。owner
- メソッドの所有者クラスの内部名(Type.getInternalName()
を参照)。name
- メソッドの名前。desc
- メソッドの記述子(Type
を参照)itf
- メソッドの所有者クラスがインターフェースの場合。
visitJumpInsn
クラスからコピーされた説明:MethodVisitor
ジャンプ命令にアクセスします。ジャンプ命令は、別の命令にジャンプする可能性のある命令です。- オーバーライド:
- クラス
MethodVisitor
のvisitJumpInsn
- パラメーター:
opcode
- 訪問する型命令のオペコード。このオペコードは、IFEQ、IFNE、IFLT、IFGE、IFGT、IFLE、IF_ICMPEQ、IF_ICMPNE、IF_ICMPLT、IF_ICMPGE、IF_ICMPGT、IF_ICMPLE、IF_ACMPEQ、IF_ACMPNE、GOTO、JSR、IFNULL、IFNONNULL のいずれかです。label
- 訪問する命令のオペランド。このオペランドは、ジャンプ命令がジャンプできる命令を指定するラベルです。
visitLabel
クラスからコピーされた説明:MethodVisitor
ラベルにアクセスします。ラベルは、その直後に訪問される命令を示します。- オーバーライド:
- クラス
MethodVisitor
のvisitLabel
- パラメーター:
label
-Label
オブジェクト。
visitLdcInsn
クラスからコピーされた説明:MethodVisitor
LDC 命令にアクセスします。新しい定数型は、Java 仮想マシンの将来のバージョンで追加される可能性があることに注意してください。新しい定数型を簡単に検出するには、このメソッドの実装で、次のような予期しない定数型をチェックする必要があります。if (cst instanceof Integer) { // ... } else if (cst instanceof Float) { // ... } else if (cst instanceof Long) { // ... } else if (cst instanceof Double) { // ... } else if (cst instanceof String) { // ... } else if (cst instanceof Type) { int sort = ((Type) cst).getSort(); if (sort == Type.OBJECT) { // ... } else if (sort == Type.ARRAY) { // ... } else if (sort == Type.METHOD) { // ... } else { // throw an exception } } else if (cst instanceof Handle) { // ... } else if (cst instanceof ConstantDynamic) { // ... } else { // throw an exception }
- オーバーライド:
- クラス
MethodVisitor
のvisitLdcInsn
- パラメーター:
cst
- スタックにロードされる定数。このパラメーターは、バージョンが 49 のクラスでは、.class
定数の OBJECT または ARRAY ソートの null でないInteger
SE、Float
SE、Long
SE、Double
SE、String
SE、Type
、バージョンが 51 のクラスでは MethodType の METHOD ソートのType
、MethodHandle 定数のHandle
、バージョンが 55 のクラスでは動的定数のConstantDynamic
でなければなりません。
visitIincInsn
public void visitIincInsn(int var, int increment) クラスからコピーされた説明:MethodVisitor
IINC 命令を訪問します。- オーバーライド:
- クラス
MethodVisitor
のvisitIincInsn
- パラメーター:
var
- インクリメントするローカル変数のインデックス。increment
- ローカル変数をインクリメントする量。
visitTableSwitchInsn
クラスからコピーされた説明:MethodVisitor
TABLESWITCH 命令を訪問します。- オーバーライド:
- クラス
MethodVisitor
のvisitTableSwitchInsn
- パラメーター:
min
- キーの最小値。max
- キーの最大値。dflt
- デフォルトのハンドラーブロックの始まり。labels
- ハンドラーブロックの始まり。labels[i]
は、min + i
キーのハンドラーブロックの先頭です。
visitLookupSwitchInsn
クラスからコピーされた説明:MethodVisitor
LOOKUPSWITCH 命令を訪問します。- オーバーライド:
- クラス
MethodVisitor
のvisitLookupSwitchInsn
- パラメーター:
dflt
- デフォルトのハンドラーブロックの始まり。keys
- the values of the keys. Keys must be sorted in increasing order.labels
- ハンドラーブロックの始まり。labels[i]
は、keys[i]
キーのハンドラーブロックの先頭です。
visitMultiANewArrayInsn
クラスからコピーされた説明:MethodVisitor
MULTIANEWARRAY 命令を訪問します。- オーバーライド:
- クラス
MethodVisitor
のvisitMultiANewArrayInsn
- パラメーター:
desc
- 配列型記述子(Type
を参照)。dims
- 割り当てる配列の次元数。
visitTryCatchBlock
クラスからコピーされた説明:MethodVisitor
try catch ブロックにアクセスします。- オーバーライド:
- クラス
MethodVisitor
のvisitTryCatchBlock
- パラメーター:
start
- 例外ハンドラーのスコープの先頭(両端を含む)。end
- 例外ハンドラーのスコープの終わり(排他的)。handler
- 例外ハンドラーのコードの先頭。type
- ハンドラーによって処理される例外の型の内部名 (Type.getInternalName()
を参照)、または例外をキャッチする場合は null ( "finally" ブロックの場合)。
visitLocalVariable
public void visitLocalVariable(StringSE name, StringSE desc, StringSE signature, Label start, Label end, int index) クラスからコピーされた説明:MethodVisitor
ローカル変数宣言にアクセスします。- オーバーライド:
- クラス
MethodVisitor
のvisitLocalVariable
- パラメーター:
name
- ローカル変数の名前。desc
- このローカル変数の型記述子。signature
- このローカル変数の型シグネチャー。ローカル変数型がジェネリクス型を使用しない場合は null になる可能性があります。start
- このローカル変数のスコープに対応する最初の命令(両端を含む)。end
- このローカル変数のスコープに対応する最後の命令(排他的)。index
- ローカル変数のインデックス。
visitLineNumber
クラスからコピーされた説明:MethodVisitor
行番号宣言にアクセスします。- オーバーライド:
- クラス
MethodVisitor
のvisitLineNumber
- パラメーター:
line
- 行番号。この番号は、クラスがコンパイルされたソースファイルを参照します。start
- この行番号に対応する最初の命令。
visitMaxs
public void visitMaxs(int maxStack, int maxLocals) クラスからコピーされた説明:MethodVisitor
メソッドの最大スタックサイズとローカル変数の最大数にアクセスします。- オーバーライド:
- クラス
MethodVisitor
のvisitMaxs
- パラメーター:
maxStack
- メソッドの最大スタックサイズ。maxLocals
- メソッドのローカル変数の最大数。
visitEnd
public void visitEnd()クラスからコピーされた説明:MethodVisitor
メソッドの最後にアクセスします。最後に呼び出されるこのメソッドは、メソッドのすべてのアノテーションと属性が訪問されたことを訪問者に通知するために使用されます。- オーバーライド:
- クラス
MethodVisitor
のvisitEnd
visitParameter
クラスからコピーされた説明:MethodVisitor
このメソッドのパラメーターを訪問します。- オーバーライド:
- クラス
MethodVisitor
のvisitParameter
- パラメーター:
name
- パラメーター名。指定されていない場合は null。access
- パラメーターのアクセスフラグ、ACC_FINAL
、ACC_SYNTHETIC
、/ およびACC_MANDATED
のみが許可されます(Opcodes
を参照)。
visitTypeAnnotation
public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, StringSE desc, boolean visible) クラスからコピーされた説明:MethodVisitor
メソッドシグネチャーの型のアノテーションにアクセスします。- オーバーライド:
- クラス
MethodVisitor
のvisitTypeAnnotation
- パラメーター:
typeRef
- アノテーション付き型への参照。この型の参照の種類は、TypeReference.METHOD_TYPE_PARAMETER
、TypeReference.METHOD_TYPE_PARAMETER_BOUND
、TypeReference.METHOD_RETURN
、TypeReference.METHOD_RECEIVER
、TypeReference.METHOD_FORMAL_PARAMETER
、TypeReference.THROWS
である必要があります。TypeReference
を参照してください。typePath
- 'typeRef' 内のアノテーション付き型引数、ワイルドカード境界、配列要素型、静的内部型へのパス。アノテーションが 'typeRef' 全体を対象とする場合は null になることがあります。desc
- アノテーションクラスのクラス記述子。visible
- 実行時にアノテーションが表示される場合は true。- 戻り値:
- アノテーションの値を訪問する訪問者、またはこの訪問者がこのアノテーションを訪問することに興味がない場合は null。
visitInvokeDynamicInsn
クラスからコピーされた説明:MethodVisitor
invokedynamic 命令にアクセスします。- オーバーライド:
- クラス
MethodVisitor
のvisitInvokeDynamicInsn
- パラメーター:
name
- メソッドの名前。desc
- メソッドの記述子(Type
を参照)bsm
- ブートストラップメソッド。bsmArgs
- ブートストラップメソッドの定数引数。各引数は、Integer
SE、Float
SE、Long
SE、Double
SE、String
SE、Type
、Handle
、ConstantDynamic
の値である必要があります。このメソッドは配列の内容を変更できるため、呼び出し元はこの配列が変更される可能性があることを予期する必要があります。
visitInsnAnnotation
public AnnotationVisitor visitInsnAnnotation(int typeRef, TypePath typePath, StringSE desc, boolean visible) クラスからコピーされた説明:MethodVisitor
命令のアノテーションにアクセスします。このメソッドは、アノテーション付き命令の直後に呼び出す必要があります。同じ命令に対して複数回呼び出すことができます。- オーバーライド:
- クラス
MethodVisitor
のvisitInsnAnnotation
- パラメーター:
typeRef
- アノテーション付き型への参照。この型参照のソートは、TypeReference.INSTANCEOF
、TypeReference.NEW
、TypeReference.CONSTRUCTOR_REFERENCE
、TypeReference.METHOD_REFERENCE
、TypeReference.CAST
、TypeReference.CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT
、TypeReference.METHOD_INVOCATION_TYPE_ARGUMENT
、TypeReference.CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT
、TypeReference.METHOD_REFERENCE_TYPE_ARGUMENT
である必要があります。TypeReference
を参照してください。typePath
- 'typeRef' 内のアノテーション付き型引数、ワイルドカード境界、配列要素型、静的内部型へのパス。アノテーションが 'typeRef' 全体を対象とする場合は null になることがあります。desc
- アノテーションクラスのクラス記述子。visible
- 実行時にアノテーションが表示される場合は true。- 戻り値:
- アノテーションの値を訪問する訪問者、またはこの訪問者がこのアノテーションを訪問することに興味がない場合は null。
visitTryCatchAnnotation
public AnnotationVisitor visitTryCatchAnnotation(int typeRef, TypePath typePath, StringSE desc, boolean visible) クラスからコピーされた説明:MethodVisitor
例外ハンドラー型のアノテーションにアクセスします。このメソッドは、アノテーション付き例外ハンドラーのMethodVisitor.visitTryCatchBlock(org.springframework.asm.Label, org.springframework.asm.Label, org.springframework.asm.Label, java.lang.String)
の後に呼び出す必要があります。同じ例外ハンドラーに対して複数回呼び出すことができます。- オーバーライド:
- クラス
MethodVisitor
のvisitTryCatchAnnotation
- パラメーター:
typeRef
- アノテーション付きの型への参照。この型参照の種類はTypeReference.EXCEPTION_PARAMETER
でなければなりません。TypeReference
を参照してください。typePath
- 'typeRef' 内のアノテーション付き型引数、ワイルドカード境界、配列要素型、静的内部型へのパス。アノテーションが 'typeRef' 全体を対象とする場合は null になることがあります。desc
- アノテーションクラスのクラス記述子。visible
- 実行時にアノテーションが表示される場合は true。- 戻り値:
- アノテーションの値を訪問する訪問者、またはこの訪問者がこのアノテーションを訪問することに興味がない場合は null。
visitLocalVariableAnnotation
public AnnotationVisitor visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, StringSE desc, boolean visible) クラスからコピーされた説明:MethodVisitor
ローカル変数型のアノテーションにアクセスします。- オーバーライド:
- クラス
MethodVisitor
のvisitLocalVariableAnnotation
- パラメーター:
typeRef
- アノテーション付き型への参照。この型参照の種類は、TypeReference.LOCAL_VARIABLE
またはTypeReference.RESOURCE_VARIABLE
である必要があります。TypeReference
を参照してください。typePath
- 'typeRef' 内のアノテーション付き型引数、ワイルドカード境界、配列要素型、静的内部型へのパス。アノテーションが 'typeRef' 全体を対象とする場合は null になることがあります。start
- このローカル変数のスコープを構成する連続範囲に対応する最初の命令(両端を含む)。end
- このローカル変数のスコープを作成する連続範囲に対応する最後の命令(排他的)。この配列は、「開始」配列と同じサイズである必要があります。index
- 各範囲のローカル変数のインデックス。この配列は、「開始」配列と同じサイズである必要があります。desc
- アノテーションクラスのクラス記述子。visible
- 実行時にアノテーションが表示される場合は true。- 戻り値:
- アノテーションの値を訪問する訪問者、またはこの訪問者がこのアノテーションを訪問することに興味がない場合は null。