クラス MethodVisitorTee
java.lang.ObjectSE
org.springframework.asm.MethodVisitor
org.springframework.cglib.transform.MethodVisitorTee
フィールドのサマリー
クラス org.springframework.asm.MethodVisitor から継承されたフィールド
api, mvコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明visitAnnotation(StringSE desc, boolean visible) このメソッドのアノテーションにアクセスします。このアノテーションインターフェースメソッドのデフォルト値にアクセスします。voidvisitAttribute(Attribute attr) このメソッドの非標準属性を訪問します。voidメソッドのコードの訪問を開始します(ある場合)。voidvisitEnd()メソッドの最後にアクセスします。voidvisitFieldInsn(int opcode, StringSE owner, StringSE name, StringSE desc) 現場指示を訪問します。voidvisitFrame(int type, int nLocal, ObjectSE[] local, int nStack, ObjectSE[] stack) ローカル変数とオペランドスタック要素の現在の状態にアクセスします。voidvisitIincInsn(int var, int increment) IINC 命令を訪問します。voidvisitInsn(int opcode) ゼロオペランド命令にアクセスします。visitInsnAnnotation(int typeRef, TypePath typePath, StringSE desc, boolean visible) 指示のアノテーションにアクセスします。voidvisitIntInsn(int opcode, int operand) 単一の int オペランドを持つ命令を訪問します。voidvisitInvokeDynamicInsn(StringSE name, StringSE desc, Handle bsm, ObjectSE... bsmArgs) invokedynamic 命令にアクセスします。voidvisitJumpInsn(int opcode, Label label) ジャンプ命令を訪問します。voidvisitLabel(Label label) ラベルにアクセスします。voidvisitLdcInsn(ObjectSE cst) LDC 命令を訪問します。voidvisitLineNumber(int line, Label start) 行番号宣言にアクセスします。voidvisitLocalVariable(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) ローカル変数型のアノテーションにアクセスします。voidvisitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) LOOKUPSWITCH 命令を訪問します。voidvisitMaxs(int maxStack, int maxLocals) メソッドの最大スタックサイズとローカル変数の最大数にアクセスします。voidvisitMethodInsn(int opcode, StringSE owner, StringSE name, StringSE desc) メソッドの説明にアクセスします。voidvisitMethodInsn(int opcode, StringSE owner, StringSE name, StringSE desc, boolean itf) メソッドの説明にアクセスします。voidvisitMultiANewArrayInsn(StringSE desc, int dims) MULTIANEWARRAY 命令を訪問します。voidvisitParameter(StringSE name, int access) このメソッドのパラメーターを訪問します。visitParameterAnnotation(int parameter, StringSE desc, boolean visible) このメソッドのパラメーターのアノテーションにアクセスします。voidvisitTableSwitchInsn(int min, int max, Label dflt, Label... labels) TABLESWITCH 命令を訪問します。visitTryCatchAnnotation(int typeRef, TypePath typePath, StringSE desc, boolean visible) 例外ハンドラー型のアノテーションにアクセスします。voidvisitTryCatchBlock(Label start, Label end, Label handler, StringSE type) try catch ブロックにアクセスします。visitTypeAnnotation(int typeRef, TypePath typePath, StringSE desc, boolean visible) メソッドシグネチャーの型のアノテーションにアクセスします。voidvisitTypeInsn(int opcode, StringSE desc) 型命令を訪問します。voidvisitVarInsn(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
クラスからコピーされた説明:MethodVisitorLDC 命令にアクセスします。新しい定数型は、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 でないIntegerSE、FloatSE、LongSE、DoubleSE、StringSE、Type、バージョンが 51 のクラスでは MethodType の METHOD ソートのType、MethodHandle 定数のHandle、バージョンが 55 のクラスでは動的定数のConstantDynamicでなければなりません。
visitIincInsn
public void visitIincInsn(int var, int increment) クラスからコピーされた説明:MethodVisitorIINC 命令を訪問します。- オーバーライド:
- クラス
MethodVisitorのvisitIincInsn - パラメーター:
var- インクリメントするローカル変数のインデックス。increment- ローカル変数をインクリメントする量。
visitTableSwitchInsn
クラスからコピーされた説明:MethodVisitorTABLESWITCH 命令を訪問します。- オーバーライド:
- クラス
MethodVisitorのvisitTableSwitchInsn - パラメーター:
min- キーの最小値。max- キーの最大値。dflt- デフォルトのハンドラーブロックの始まり。labels- ハンドラーブロックの始まり。labels[i]は、min + iキーのハンドラーブロックの先頭です。
visitLookupSwitchInsn
クラスからコピーされた説明:MethodVisitorLOOKUPSWITCH 命令を訪問します。- オーバーライド:
- クラス
MethodVisitorのvisitLookupSwitchInsn - パラメーター:
dflt- デフォルトのハンドラーブロックの始まり。keys- キーの値。キーは昇順で並べ替える必要があります。labels- ハンドラーブロックの始まり。labels[i]は、keys[i]キーのハンドラーブロックの先頭です。
visitMultiANewArrayInsn
クラスからコピーされた説明:MethodVisitorMULTIANEWARRAY 命令を訪問します。- オーバーライド:
- クラス
MethodVisitorのvisitMultiANewArrayInsn - パラメーター:
desc- 配列型記述子(Typeを参照)。dims- 割り当てる配列の次元数。
visitTryCatchBlock
クラスからコピーされた説明:MethodVisitortry 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
クラスからコピーされた説明:MethodVisitorinvokedynamic 命令にアクセスします。- オーバーライド:
- クラス
MethodVisitorのvisitInvokeDynamicInsn - パラメーター:
name- メソッドの名前。desc- メソッドの記述子(Typeを参照)bsm- ブートストラップメソッド。bsmArgs- ブートストラップメソッドの定数引数。各引数は、IntegerSE、FloatSE、LongSE、DoubleSE、StringSE、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。