クラス MethodVisitorTee

java.lang.ObjectSE
org.springframework.asm.MethodVisitor
org.springframework.cglib.transform.MethodVisitorTee

public class MethodVisitorTee extends MethodVisitor
  • コンストラクターの詳細

  • メソッドの詳細

    • visitFrame

      public void visitFrame(int type, int nLocal, ObjectSE[] local, int nStack, ObjectSE[] stack)
      クラスからコピーされた説明: 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 つの命令にアクセスする必要があります)。
      オーバーライド:
      クラス MethodVisitorvisitFrame 
      パラメーター:
      type - このスタックマップフレームの型。拡張フレームの場合は Opcodes.F_NEW、圧縮フレームの場合は Opcodes.F_FULLOpcodes.F_APPENDOpcodes.F_CHOPOpcodes.F_SAME または Opcodes.F_APPENDOpcodes.F_SAME1 である必要があります。
      nLocal - 訪問したフレーム内のローカル変数の数。long 値と double 値は、1 つの変数としてカウントされます。
      local - このフレームのローカル変数の型。この配列は変更しないでください。プリミティブ型は Opcodes.TOPOpcodes.INTEGEROpcodes.FLOATOpcodes.LONGOpcodes.DOUBLEOpcodes.NULL または Opcodes.UNINITIALIZED_THIS で表されます。( long と double は単一要素で表されます)。参照型は String オブジェクト (内部名を表す。Type.getInternalName() を参照) で表され、初期化されていない型は Label オブジェクトで表されます (このラベルは、この初期化されていない値を作成した NEW 命令を示します)。
      nStack - 訪問したフレームのオペランドスタック要素の数。long 値と double 値は、1 つのスタック要素としてカウントされます。
      stack - このフレームのオペランドスタック型。この配列は変更しないでください。その内容は「ローカル」配列と同じ形式です。
    • visitAnnotationDefault

      public AnnotationVisitor visitAnnotationDefault()
      クラスからコピーされた説明: MethodVisitor
      このアノテーションインターフェースメソッドのデフォルト値にアクセスします。
      オーバーライド:
      クラス MethodVisitorvisitAnnotationDefault 
      戻り値:
      このアノテーションインターフェースメソッドの実際のデフォルト値を訪問するビジター、またはこのビジターがこのデフォルト値を訪問することに関心がない場合は null です。このアノテーションビジターのメソッドに渡される 'name' パラメーターは無視されます。さらに、このアノテーションビジターでは、正確に 1 つの訪問メソッドが呼び出され、その後に visitEnd が続く必要があります。
    • visitAnnotation

      public AnnotationVisitor visitAnnotation(StringSE desc, boolean visible)
      クラスからコピーされた説明: MethodVisitor
      このメソッドのアノテーションにアクセスします。
      オーバーライド:
      クラス MethodVisitorvisitAnnotation 
      パラメーター:
      desc - アノテーションクラスのクラス記述子。
      visible - 実行時にアノテーションが表示される場合は true。
      戻り値:
      アノテーションの値を訪問する訪問者、またはこの訪問者がこのアノテーションを訪問することに興味がない場合は null。
    • visitParameterAnnotation

      public AnnotationVisitor visitParameterAnnotation(int parameter, StringSE desc, boolean visible)
      クラスからコピーされた説明: MethodVisitor
      このメソッドのパラメーターのアノテーションにアクセスします。
      オーバーライド:
      クラス MethodVisitorvisitParameterAnnotation 
      パラメーター:
      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

      public void visitAttribute(Attribute attr)
      クラスからコピーされた説明: MethodVisitor
      このメソッドの非標準属性を訪問します。
      オーバーライド:
      クラス MethodVisitorvisitAttribute 
      パラメーター:
      attr - 属性。
    • visitCode

      public void visitCode()
      クラスからコピーされた説明: MethodVisitor
      メソッドのコード(つまり、非抽象メソッド)の訪問を開始します。
      オーバーライド:
      クラス MethodVisitorvisitCode 
    • visitInsn

      public void visitInsn(int opcode)
      クラスからコピーされた説明: MethodVisitor
      ゼロオペランド命令にアクセスします。
      オーバーライド:
      クラス MethodVisitorvisitInsn 
      パラメーター:
      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 オペランドを持つ命令を訪問します。
      オーバーライド:
      クラス MethodVisitorvisitIntInsn 
      パラメーター:
      opcode - 訪問する命令のオペコード。このオペコードは、BIPUSH、SIPUSH、NEWARRAY のいずれかです。
      operand - 訪問する命令のオペランド。
      オペコードが BIPUSH の場合、オペランド値は Byte.MIN_VALUE と Byte.MAX_VALUE の間にある必要があります。
      オペコードが SIPUSH の場合、オペランド値は Short.MIN_VALUE と Short.MAX_VALUE の間にある必要があります。
      オペコードが NEWARRAY の場合、オペランド値は Opcodes.T_BOOLEANOpcodes.T_CHAROpcodes.T_FLOATOpcodes.T_DOUBLEOpcodes.T_BYTEOpcodes.T_SHORTOpcodes.T_INTOpcodes.T_LONG のいずれかである必要があります。
    • visitVarInsn

      public void visitVarInsn(int opcode, int var)
      クラスからコピーされた説明: MethodVisitor
      ローカル変数命令にアクセスします。ローカル変数命令は、ローカル変数の値をロードまたは格納する命令です。
      オーバーライド:
      クラス MethodVisitorvisitVarInsn 
      パラメーター:
      opcode - 訪問するローカル変数命令のオペコード。このオペコードは、ILOAD、LLOAD、FLOAD、DLOAD、ALOAD、ISTORE、LSTORE、FSTORE、DSTORE、ASTORE、RET のいずれかです。
      var - 訪問する命令のオペランド。このオペランドは、ローカル変数のインデックスです。
    • visitTypeInsn

      public void visitTypeInsn(int opcode, StringSE desc)
      クラスからコピーされた説明: MethodVisitor
      型命令を訪問します。型命令は、クラスの内部名をパラメーターとして受け取る命令です ( Type.getInternalName() を参照)。
      オーバーライド:
      クラス MethodVisitorvisitTypeInsn 
      パラメーター:
      opcode - 訪問する型命令のオペコード。このオペコードは、NEW、ANEWARRAY、CHECKCAST、INSTANCEOF のいずれかです。
      desc - 訪問する命令のオペランド。このオペランドは、オブジェクトまたは配列クラスの内部名である必要があります(Type.getInternalName() を参照)。
    • visitFieldInsn

      public void visitFieldInsn(int opcode, StringSE owner, StringSE name, StringSE desc)
      クラスからコピーされた説明: MethodVisitor
      フィールドインストラクションを訪問します。フィールド命令は、オブジェクトのフィールドの値をロードまたは格納する命令です。
      オーバーライド:
      クラス MethodVisitorvisitFieldInsn 
      パラメーター:
      opcode - 訪問する型命令のオペコード。このオペコードは、GETSTATIC、PUTSTATIC、GETFIELD、PUTFIELD のいずれかです。
      owner - フィールドの所有者クラスの内部名(Type.getInternalName() を参照)。
      name - フィールドの名前。
      desc - フィールドの記述子(Type を参照)
    • visitMethodInsn

      public void visitMethodInsn(int opcode, StringSE owner, StringSE name, StringSE desc)
      クラスからコピーされた説明: MethodVisitor
      メソッドの説明にアクセスします。メソッド命令は、メソッドを呼び出す命令です。
      オーバーライド:
      クラス MethodVisitorvisitMethodInsn 
      パラメーター:
      opcode - 訪問する型命令のオペコード。このオペコードは、INVOKEVIRTUAL、INVOKESPECIAL、INVOKESTATIC、INVOKEINTERFACE のいずれかです。
      owner - メソッドの所有者クラスの内部名(Type.getInternalName() を参照)。
      name - メソッドの名前。
      desc - メソッドの記述子(Type を参照)
    • visitMethodInsn

      public void visitMethodInsn(int opcode, StringSE owner, StringSE name, StringSE desc, boolean itf)
      クラスからコピーされた説明: MethodVisitor
      メソッドの説明にアクセスします。メソッド命令は、メソッドを呼び出す命令です。
      オーバーライド:
      クラス MethodVisitorvisitMethodInsn 
      パラメーター:
      opcode - 訪問する型命令のオペコード。このオペコードは、INVOKEVIRTUAL、INVOKESPECIAL、INVOKESTATIC、INVOKEINTERFACE のいずれかです。
      owner - メソッドの所有者クラスの内部名(Type.getInternalName() を参照)。
      name - メソッドの名前。
      desc - メソッドの記述子(Type を参照)
      itf - メソッドの所有者クラスがインターフェースの場合。
    • visitJumpInsn

      public void visitJumpInsn(int opcode, Label label)
      クラスからコピーされた説明: MethodVisitor
      ジャンプ命令にアクセスします。ジャンプ命令は、別の命令にジャンプする可能性のある命令です。
      オーバーライド:
      クラス MethodVisitorvisitJumpInsn 
      パラメーター:
      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

      public void visitLabel(Label label)
      クラスからコピーされた説明: MethodVisitor
      ラベルにアクセスします。ラベルは、その直後に訪問される命令を示します。
      オーバーライド:
      クラス MethodVisitorvisitLabel 
      パラメーター:
      label - Label オブジェクト。
    • visitLdcInsn

      public void visitLdcInsn(ObjectSE cst)
      クラスからコピーされた説明: 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
       }
       
      オーバーライド:
      クラス MethodVisitorvisitLdcInsn 
      パラメーター:
      cst - スタックにロードされる定数。このパラメーターは、バージョンが 49 のクラスでは、.class 定数の OBJECT または ARRAY ソートの null でない IntegerSEFloatSELongSEDoubleSEStringSEType、バージョンが 51 のクラスでは MethodType の METHOD ソートの Type、MethodHandle 定数の Handle、バージョンが 55 のクラスでは動的定数の ConstantDynamic でなければなりません。
    • visitIincInsn

      public void visitIincInsn(int var, int increment)
      クラスからコピーされた説明: MethodVisitor
      IINC 命令を訪問します。
      オーバーライド:
      クラス MethodVisitorvisitIincInsn 
      パラメーター:
      var - インクリメントするローカル変数のインデックス。
      increment - ローカル変数をインクリメントする量。
    • visitTableSwitchInsn

      public void visitTableSwitchInsn(int min, int max, Label dflt, Label... labels)
      クラスからコピーされた説明: MethodVisitor
      TABLESWITCH 命令を訪問します。
      オーバーライド:
      クラス MethodVisitorvisitTableSwitchInsn 
      パラメーター:
      min - キーの最小値。
      max - キーの最大値。
      dflt - デフォルトのハンドラーブロックの始まり。
      labels - ハンドラーブロックの始まり。labels[i] は、min + i キーのハンドラーブロックの先頭です。
    • visitLookupSwitchInsn

      public void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels)
      クラスからコピーされた説明: MethodVisitor
      LOOKUPSWITCH 命令を訪問します。
      オーバーライド:
      クラス MethodVisitorvisitLookupSwitchInsn 
      パラメーター:
      dflt - デフォルトのハンドラーブロックの始まり。
      keys - the values of the keys. Keys must be sorted in increasing order.
      labels - ハンドラーブロックの始まり。labels[i] は、keys[i] キーのハンドラーブロックの先頭です。
    • visitMultiANewArrayInsn

      public void visitMultiANewArrayInsn(StringSE desc, int dims)
      クラスからコピーされた説明: MethodVisitor
      MULTIANEWARRAY 命令を訪問します。
      オーバーライド:
      クラス MethodVisitorvisitMultiANewArrayInsn 
      パラメーター:
      desc - 配列型記述子(Type を参照)。
      dims - 割り当てる配列の次元数。
    • visitTryCatchBlock

      public void visitTryCatchBlock(Label start, Label end, Label handler, StringSE type)
      クラスからコピーされた説明: MethodVisitor
      try catch ブロックにアクセスします。
      オーバーライド:
      クラス MethodVisitorvisitTryCatchBlock 
      パラメーター:
      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
      ローカル変数宣言にアクセスします。
      オーバーライド:
      クラス MethodVisitorvisitLocalVariable 
      パラメーター:
      name - ローカル変数の名前。
      desc - このローカル変数の型記述子。
      signature - このローカル変数の型シグネチャー。ローカル変数型がジェネリクス型を使用しない場合は null になる可能性があります。
      start - このローカル変数のスコープに対応する最初の命令(両端を含む)。
      end - このローカル変数のスコープに対応する最後の命令(排他的)。
      index - ローカル変数のインデックス。
    • visitLineNumber

      public void visitLineNumber(int line, Label start)
      クラスからコピーされた説明: MethodVisitor
      行番号宣言にアクセスします。
      オーバーライド:
      クラス MethodVisitorvisitLineNumber 
      パラメーター:
      line - 行番号。この番号は、クラスがコンパイルされたソースファイルを参照します。
      start - この行番号に対応する最初の命令。
    • visitMaxs

      public void visitMaxs(int maxStack, int maxLocals)
      クラスからコピーされた説明: MethodVisitor
      メソッドの最大スタックサイズとローカル変数の最大数にアクセスします。
      オーバーライド:
      クラス MethodVisitorvisitMaxs 
      パラメーター:
      maxStack - メソッドの最大スタックサイズ。
      maxLocals - メソッドのローカル変数の最大数。
    • visitEnd

      public void visitEnd()
      クラスからコピーされた説明: MethodVisitor
      メソッドの最後にアクセスします。最後に呼び出されるこのメソッドは、メソッドのすべてのアノテーションと属性が訪問されたことを訪問者に通知するために使用されます。
      オーバーライド:
      クラス MethodVisitorvisitEnd 
    • visitParameter

      public void visitParameter(StringSE name, int access)
      クラスからコピーされた説明: MethodVisitor
      このメソッドのパラメーターを訪問します。
      オーバーライド:
      クラス MethodVisitorvisitParameter 
      パラメーター:
      name - パラメーター名。指定されていない場合は null。
      access - パラメーターのアクセスフラグ、ACC_FINALACC_SYNTHETIC、/ および ACC_MANDATED のみが許可されます(Opcodes を参照)。
    • visitTypeAnnotation

      public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, StringSE desc, boolean visible)
      クラスからコピーされた説明: MethodVisitor
      メソッドシグネチャーの型のアノテーションにアクセスします。
      オーバーライド:
      クラス MethodVisitorvisitTypeAnnotation 
      パラメーター:
      typeRef - アノテーション付き型への参照。この型の参照の種類は、TypeReference.METHOD_TYPE_PARAMETERTypeReference.METHOD_TYPE_PARAMETER_BOUNDTypeReference.METHOD_RETURNTypeReference.METHOD_RECEIVERTypeReference.METHOD_FORMAL_PARAMETERTypeReference.THROWS である必要があります。TypeReference を参照してください。
      typePath - 'typeRef' 内のアノテーション付き型引数、ワイルドカード境界、配列要素型、静的内部型へのパス。アノテーションが 'typeRef' 全体を対象とする場合は null になることがあります。
      desc - アノテーションクラスのクラス記述子。
      visible - 実行時にアノテーションが表示される場合は true。
      戻り値:
      アノテーションの値を訪問する訪問者、またはこの訪問者がこのアノテーションを訪問することに興味がない場合は null。
    • visitInvokeDynamicInsn

      public void visitInvokeDynamicInsn(StringSE name, StringSE desc, Handle bsm, ObjectSE... bsmArgs)
      クラスからコピーされた説明: MethodVisitor
      invokedynamic 命令にアクセスします。
      オーバーライド:
      クラス MethodVisitorvisitInvokeDynamicInsn 
      パラメーター:
      name - メソッドの名前。
      desc - メソッドの記述子(Type を参照)
      bsm - ブートストラップメソッド。
      bsmArgs - ブートストラップメソッドの定数引数。各引数は、IntegerSEFloatSELongSEDoubleSEStringSETypeHandleConstantDynamic の値である必要があります。このメソッドは配列の内容を変更できるため、呼び出し元はこの配列が変更される可能性があることを予期する必要があります。
    • visitInsnAnnotation

      public AnnotationVisitor visitInsnAnnotation(int typeRef, TypePath typePath, StringSE desc, boolean visible)
      クラスからコピーされた説明: MethodVisitor
      命令のアノテーションにアクセスします。このメソッドは、アノテーション付き命令の直後に呼び出す必要があります。同じ命令に対して複数回呼び出すことができます。
      オーバーライド:
      クラス MethodVisitorvisitInsnAnnotation 
      パラメーター:
      typeRef - アノテーション付き型への参照。この型参照のソートは、TypeReference.INSTANCEOFTypeReference.NEWTypeReference.CONSTRUCTOR_REFERENCETypeReference.METHOD_REFERENCETypeReference.CASTTypeReference.CONSTRUCTOR_INVOCATION_TYPE_ARGUMENTTypeReference.METHOD_INVOCATION_TYPE_ARGUMENTTypeReference.CONSTRUCTOR_REFERENCE_TYPE_ARGUMENTTypeReference.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)に呼び出す必要があります。同じ例外ハンドラーに対して複数回呼び出すことができます。
      オーバーライド:
      クラス MethodVisitorvisitTryCatchAnnotation 
      パラメーター:
      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
      ローカル変数型のアノテーションにアクセスします。
      オーバーライド:
      クラス MethodVisitorvisitLocalVariableAnnotation 
      パラメーター:
      typeRef - アノテーション付き型への参照。この型参照の種類は、TypeReference.LOCAL_VARIABLE または TypeReference.RESOURCE_VARIABLE である必要があります。TypeReference を参照してください。
      typePath - 'typeRef' 内のアノテーション付き型引数、ワイルドカード境界、配列要素型、静的内部型へのパス。アノテーションが 'typeRef' 全体を対象とする場合は null になることがあります。
      start - このローカル変数のスコープを構成する連続範囲に対応する最初の命令(両端を含む)。
      end - このローカル変数のスコープを作成する連続範囲に対応する最後の命令(排他的)。この配列は、「開始」配列と同じサイズである必要があります。
      index - 各範囲のローカル変数のインデックス。この配列は、「開始」配列と同じサイズである必要があります。
      desc - アノテーションクラスのクラス記述子。
      visible - 実行時にアノテーションが表示される場合は true。
      戻り値:
      アノテーションの値を訪問する訪問者、またはこの訪問者がこのアノテーションを訪問することに興味がない場合は null。