| Modifier and Type | Field and Description |
|---|---|
| private final MethodVisitor | |
| private final MethodVisitor |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public AnnotationVisitor | visitAnnotation(String
the class descriptor of the annotation class. desc, boolean true if the annotation is visible at runtime. visible)Overrides org. |
| public AnnotationVisitor | visitAnnotationDefault()
Overrides org. |
| public void | visitAttribute(Attribute
an attribute. attr)Overrides org. |
| public void | visitCode()
Starts the visit of the method's code, if any (i.e. non abstract method).
|
| public void | |
| public void | visitFieldInsn(int
the opcode of the type instruction to be visited. This opcode is either
GETSTATIC, PUTSTATIC, GETFIELD or PUTFIELD. opcode, String the internal name of the field's owner class (see owner, String Type#getInternalName()).the field's name. name, String the field's descriptor (see desc)Type).Overrides org. |
| public void | visitFrame(int
the type of this stack map frame. Must be type, int Opcodes#F_NEW for expanded
frames, or Opcodes#F_FULL, Opcodes#F_APPEND, Opcodes#F_CHOP, Opcodes#F_SAME or Opcodes#F_APPEND, Opcodes#F_SAME1 for compressed frames.the number of local variables in the visited frame. Long and double values
count for one variable. nLocal, Object[] the local variable types in this frame. This array must not be modified. Primitive
types are represented by local, int Opcodes#TOP, Opcodes#INTEGER, Opcodes#FLOAT, Opcodes#LONG, Opcodes#DOUBLE, Opcodes#NULL or
Opcodes#UNINITIALIZED_THIS (long and double are represented by a single element).
Reference types are represented by String objects (representing internal names, see Type#getInternalName()), and uninitialized types by Label objects (this label designates
the NEW instruction that created this uninitialized value).the number of operand stack elements in the visited frame. Long and double
values count for one stack element. nStack, Object[] the operand stack types in this frame. This array must not be modified. Its
content has the same format as the "local" array. stack)
Visits the current state of the local variables and operand stack elements.
|
| public void | visitIincInsn(int
index of the local variable to be incremented. var, int amount to increment the local variable by. increment)Overrides org. |
| public void | visitInsn(int
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. opcode)
Visits a zero operand instruction.
|
| public AnnotationVisitor | visitInsnAnnotation(int
a reference to the annotated type. The sort of this type reference must be
typeRef, TypePath 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, or TypeReference#METHOD_REFERENCE_TYPE_ARGUMENT. See TypeReference.the path to the annotated type argument, wildcard bound, array element type, or
static inner type within 'typeRef'. May be null if the annotation targets
'typeRef' as a whole. typePath, String the class descriptor of the annotation class. desc, boolean true if the annotation is visible at runtime. visible)Overrides org. |
| public void | visitIntInsn(int
the opcode of the instruction to be visited. This opcode is either BIPUSH, SIPUSH
or NEWARRAY. opcode, int the operand of the instruction to be visited. operand)When opcode is BIPUSH, operand value should be between Byte.MIN_VALUE and Byte.MAX_VALUE. When opcode is SIPUSH, operand value should be between Short.MIN_VALUE and Short.MAX_VALUE. When opcode is NEWARRAY, operand value should be one of Opcodes#T_BOOLEAN, Opcodes#T_CHAR, Opcodes#T_FLOAT, Opcodes#T_DOUBLE, Opcodes#T_BYTE,
Opcodes#T_SHORT, Opcodes#T_INT or Opcodes#T_LONG.Overrides org. |
| public void | visitInvokeDynamicInsn(String
the method's name. name, String the method's descriptor (see desc, Handle Type).the bootstrap method. bsm, Object... bsmArgs)Overrides org. |
| public void | visitJumpInsn(int
the opcode of the type instruction to be visited. This opcode is either 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 or IFNONNULL. opcode, Label the operand of the instruction to be visited. This operand is a label that
designates the instruction to which the jump instruction may jump. label)Overrides org. |
| public void | visitLabel(Label
a label)
Visits a label.
Label object. |
| public void | visitLdcInsn(Object
the constant to be loaded on the stack. This parameter must be a non null cst)Integer, a Float, a Long, a Double, a String, a Type of OBJECT or ARRAY sort for .class constants, for classes whose version is
49, a Type of METHOD sort for MethodType, a Handle for MethodHandle
constants, for classes whose version is 51 or a ConstantDynamic for a constant
dynamic for classes whose version is 55.Overrides org. |
| public void | visitLineNumber(int
a line number. This number refers to the source file from which the class was
compiled. line, Label the first instruction corresponding to this line number. start)Overrides org. |
| public void | visitLocalVariable(String
the name of a local variable. name, String the type descriptor of this local variable. desc, String the type signature of this local variable. May be null if the local
variable type does not use generic types. signature, Label the first instruction corresponding to the scope of this local variable
(inclusive). start, Label the last instruction corresponding to the scope of this local variable (exclusive). end, int the local variable's index. index)Overrides org. |
| public AnnotationVisitor | visitLocalVariableAnnotation(int
a reference to the annotated type. The sort of this type reference must be
typeRef, TypePath TypeReference#LOCAL_VARIABLE or TypeReference#RESOURCE_VARIABLE. See TypeReference.the path to the annotated type argument, wildcard bound, array element type, or
static inner type within 'typeRef'. May be null if the annotation targets
'typeRef' as a whole. typePath, Label[] the fist instructions corresponding to the continuous ranges that make the scope
of this local variable (inclusive). start, Label[] the last instructions corresponding to the continuous ranges that make the scope of
this local variable (exclusive). This array must have the same size as the 'start' array. end, int[] the local variable's index in each range. This array must have the same size as
the 'start' array. index, String the class descriptor of the annotation class. desc, boolean true if the annotation is visible at runtime. visible)Overrides org. |
| public void | visitLookupSwitchInsn(Label
beginning of the default handler block. dflt, int[] the values of the keys. keys, Label[] beginnings of the handler blocks. labels)labels[i] is the beginning of the
handler block for the keys[i] key.Overrides org. |
| public void | visitMaxs(int
maximum stack size of the method. maxStack, int maximum number of local variables for the method. maxLocals)
Visits the maximum stack size and the maximum number of local variables of the method.
|
| public void | visitMethodInsn(int
the opcode of the type instruction to be visited. This opcode is either
INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or INVOKEINTERFACE. opcode, String the internal name of the method's owner class (see owner, String Type#getInternalName()).the method's name. name, String the method's descriptor (see desc)Type).Overrides org. |
| public void | visitMethodInsn(int
the opcode of the type instruction to be visited. This opcode is either
INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or INVOKEINTERFACE. opcode, String the internal name of the method's owner class (see owner, String Type#getInternalName()).the method's name. name, String the method's descriptor (see desc, boolean Type).if the method's owner class is an interface. itf)Overrides org. |
| public void | visitMultiANewArrayInsn(String
an array type descriptor (see desc, int Type).the number of dimensions of the array to allocate. dims)Overrides org. |
| public void | visitParameter(String
parameter name or null if none is provided. name, int the parameter's access flags, only access)ACC_FINAL, ACC_SYNTHETIC
or/and ACC_MANDATED are allowed (see Opcodes).Overrides org. |
| public AnnotationVisitor | visitParameterAnnotation(int
the parameter index. This index must be strictly smaller than the number of
parameters in the method descriptor, and strictly smaller than the parameter count
specified in parameter, String visitAnnotableParameterCount.Important Note a parameter index i is not required to correspond to the i'th parameter descriptor in the method descriptor, in particular in case of synthetic parameters (see https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.7.18). the class descriptor of the annotation class. desc, boolean true if the annotation is visible at runtime. visible)Overrides org. |
| public void | visitTableSwitchInsn(int
the minimum key value. min, int the maximum key value. max, Label beginning of the default handler block. dflt, Label... beginnings of the handler blocks. labels)labels[i] is the beginning of the
handler block for the min + i key.Overrides org. |
| public AnnotationVisitor | visitTryCatchAnnotation(int
a reference to the annotated type. The sort of this type reference must be
typeRef, TypePath TypeReference#EXCEPTION_PARAMETER. See TypeReference.the path to the annotated type argument, wildcard bound, array element type, or
static inner type within 'typeRef'. May be null if the annotation targets
'typeRef' as a whole. typePath, String the class descriptor of the annotation class. desc, boolean true if the annotation is visible at runtime. visible)Overrides org. |
| public void | visitTryCatchBlock(Label
the beginning of the exception handler's scope (inclusive). start, Label the end of the exception handler's scope (exclusive). end, Label the beginning of the exception handler's code. handler, String the internal name of the type of exceptions handled by the handler (see type)Type#getInternalName()), or null to catch any exceptions (for "finally"
blocks).Overrides org. |
| public AnnotationVisitor | visitTypeAnnotation(int
a reference to the annotated type. The sort of this type reference must be
typeRef, TypePath TypeReference#METHOD_TYPE_PARAMETER, TypeReference#METHOD_TYPE_PARAMETER_BOUND, TypeReference#METHOD_RETURN, TypeReference#METHOD_RECEIVER, TypeReference#METHOD_FORMAL_PARAMETER or TypeReference#THROWS. See TypeReference.the path to the annotated type argument, wildcard bound, array element type, or
static inner type within 'typeRef'. May be null if the annotation targets
'typeRef' as a whole. typePath, String the class descriptor of the annotation class. desc, boolean true if the annotation is visible at runtime. visible)Overrides org. |
| public void | visitTypeInsn(int
the opcode of the type instruction to be visited. This opcode is either NEW,
ANEWARRAY, CHECKCAST or INSTANCEOF. opcode, String the operand of the instruction to be visited. This operand must be the internal
name of an object or array class (see desc)Type#getInternalName()).Overrides org. |
| public void | visitVarInsn(int
the opcode of the local variable instruction to be visited. This opcode is either
ILOAD, LLOAD, FLOAD, DLOAD, ALOAD, ISTORE, LSTORE, FSTORE, DSTORE, ASTORE or RET. opcode, int the operand of the instruction to be visited. This operand is the index of a
local variable. var)Overrides org. |
| mv1 | back to summary |
|---|---|
| private final MethodVisitor mv1 | |
| mv2 | back to summary |
|---|---|
| private final MethodVisitor mv2 | |
| MethodVisitorTee | back to summary |
|---|---|
| public MethodVisitorTee(MethodVisitor mv1, MethodVisitor mv2) | |
| visitAnnotation | back to summary |
|---|---|
| public AnnotationVisitor visitAnnotation(String desc, boolean visible) Overrides org. Doc from org. Visits an annotation of this method.
| |
| visitAnnotationDefault | back to summary |
|---|---|
| public AnnotationVisitor visitAnnotationDefault() Overrides org. Doc from org. Visits the default value of this annotation interface method.
| |
| visitAttribute | back to summary |
|---|---|
| public void visitAttribute(Attribute attr) Overrides org. Doc from org. Visits a non standard attribute of this method. | |
| visitCode | back to summary |
|---|---|
| public void visitCode() Overrides org. Doc from org. Starts the visit of the method's code, if any (i.e. non abstract method).
| |
| visitEnd | back to summary |
|---|---|
| public void visitEnd() Overrides org. Doc from org. Visits the end of the method. This method, which is the last one to be called, is used to inform the visitor that all the annotations and attributes of the method have been visited.
| |
| visitFieldInsn | back to summary |
|---|---|
| public void visitFieldInsn(int opcode, String owner, String name, String desc) Overrides org. Doc from org. Visits a field instruction. A field instruction is an instruction that loads or stores the value of a field of an object.
| |
| visitFrame | back to summary |
|---|---|
| public void visitFrame(int type, int nLocal, Object[] local, int nStack, Object[] stack) Overrides org. Doc from org. Visits the current state of the local variables and operand stack elements. This method must(*)
be called just before any instruction i that follows an unconditional branch
instruction such as GOTO or THROW, that is the target of a jump instruction, or that starts an
exception handler block. The visited types must describe the values of the local variables and
of the operand stack elements just before i is executed.
In both cases the first frame, corresponding to the method's parameters and access flags, is implicit and must not be visited. Also, it is illegal to visit two or more frames for the same code location (i.e., at least one instruction must be visited between two calls to visitFrame).
| |
| visitIincInsn | back to summary |
|---|---|
| public void visitIincInsn(int var, int increment) Overrides org. Doc from org. Visits an IINC instruction.
| |
| visitInsn | back to summary |
|---|---|
| public void visitInsn(int opcode) Overrides org. Doc from org. Visits a zero operand instruction.
| |
| visitInsnAnnotation | back to summary |
|---|---|
| public AnnotationVisitor visitInsnAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) Overrides org. Doc from org. Visits an annotation on an instruction. This method must be called just after the annotated instruction. It can be called several times for the same instruction.
| |
| visitIntInsn | back to summary |
|---|---|
| public void visitIntInsn(int opcode, int operand) Overrides org. Doc from org. Visits an instruction with a single int operand.
| |
| visitInvokeDynamicInsn | back to summary |
|---|---|
| public void visitInvokeDynamicInsn(String name, String desc, Handle bsm, Object... bsmArgs) Overrides org. Doc from org. Visits an invokedynamic instruction.
| |
| visitJumpInsn | back to summary |
|---|---|
| public void visitJumpInsn(int opcode, Label label) Overrides org. Doc from org. Visits a jump instruction. A jump instruction is an instruction that may jump to another instruction.
| |
| visitLabel | back to summary |
|---|---|
| public void visitLabel(Label label) Overrides org. Doc from org. Visits a label. A label designates the instruction that will be visited just after it. | |
| visitLdcInsn | back to summary |
|---|---|
| public void visitLdcInsn(Object cst) Overrides org. Doc from org. Visits a LDC instruction. Note that new constant types may be added in future versions of the Java Virtual Machine. To easily detect new constant types, implementations of this method should check for unexpected constant types, like this:
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
}
| |
| visitLineNumber | back to summary |
|---|---|
| public void visitLineNumber(int line, Label start) Overrides org. Doc from org. Visits a line number declaration. | |
| visitLocalVariable | back to summary |
|---|---|
| public void visitLocalVariable(String name, String desc, String signature, Label start, Label end, int index) Overrides org. Doc from org. Visits a local variable declaration.
| |
| visitLocalVariableAnnotation | back to summary |
|---|---|
| public AnnotationVisitor visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String desc, boolean visible) Overrides org. Doc from org. Visits an annotation on a local variable type.
| |
| visitLookupSwitchInsn | back to summary |
|---|---|
| public void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) Overrides org. Doc from org. Visits a LOOKUPSWITCH instruction. | |
| visitMaxs | back to summary |
|---|---|
| public void visitMaxs(int maxStack, int maxLocals) Overrides org. Doc from org. Visits the maximum stack size and the maximum number of local variables of the method.
| |
| visitMethodInsn | back to summary |
|---|---|
| public void visitMethodInsn(int opcode, String owner, String name, String desc) Overrides org. Doc from org. Visits a method instruction. A method instruction is an instruction that invokes a method.
| |
| visitMethodInsn | back to summary |
|---|---|
| public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) Overrides org. Doc from org. Visits a method instruction. A method instruction is an instruction that invokes a method.
| |
| visitMultiANewArrayInsn | back to summary |
|---|---|
| public void visitMultiANewArrayInsn(String desc, int dims) Overrides org. Doc from org. Visits a MULTIANEWARRAY instruction. | |
| visitParameter | back to summary |
|---|---|
| public void visitParameter(String name, int access) Overrides org. Doc from org. Visits a parameter of this method. | |
| visitParameterAnnotation | back to summary |
|---|---|
| public AnnotationVisitor visitParameterAnnotation(int parameter, String desc, boolean visible) Overrides org. Doc from org. Visits an annotation of a parameter this method.
| |
| visitTableSwitchInsn | back to summary |
|---|---|
| public void visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) Overrides org. Doc from org. Visits a TABLESWITCH instruction. | |
| visitTryCatchAnnotation | back to summary |
|---|---|
| public AnnotationVisitor visitTryCatchAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) Overrides org. Doc from org. Visits an annotation on an exception handler type. This method must be called after the
| |
| visitTryCatchBlock | back to summary |
|---|---|
| public void visitTryCatchBlock(Label start, Label end, Label handler, String type) Overrides org. Doc from org. Visits a try catch block.
| |
| visitTypeAnnotation | back to summary |
|---|---|
| public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) Overrides org. Doc from org. Visits an annotation on a type in the method signature.
| |
| visitTypeInsn | back to summary |
|---|---|
| public void visitTypeInsn(int opcode, String desc) Overrides org. Doc from org. Visits a type instruction. A type instruction is an instruction that takes the internal name of
a class as parameter (see
| |
| visitVarInsn | back to summary |
|---|---|
| public void visitVarInsn(int opcode, int var) Overrides org. Doc from org. Visits a local variable instruction. A local variable instruction is an instruction that loads or stores the value of a local variable.
| |