MethodVisitor
that remaps types with a Remapper
.
Modifier and Type | Field and Description |
---|---|
protected final Remapper | remapper
The remapper used to remap the types in the visited field. |
Access | Constructor and Description |
---|---|
public | MethodRemapper(final MethodVisitor
the method visitor this remapper must delegate to. methodVisitor, final Remapper the remapper to use to remap the types in the visited method. remapper)Constructs a new |
protected | MethodRemapper(final int
the ASM API version supported by this remapper. Must be one of the api, final MethodVisitor ASM x values in Opcodes .the method visitor this remapper must delegate to. methodVisitor, final Remapper the remapper to use to remap the types in the visited method. remapper)Constructs a new |
Modifier and Type | Method and Description |
---|---|
protected AnnotationVisitor | Returns: the newly created remapper.the AnnotationVisitor the remapper must delegate to. annotationVisitor)
Deprecated
use
Constructs a new remapper for annotations.
createAnnotationRemapper(String, AnnotationVisitor) instead.
|
protected AnnotationVisitor | Returns: the newly created remapper.the descriptor of the visited annotation. descriptor, final AnnotationVisitor the AnnotationVisitor the remapper must delegate to. annotationVisitor)Constructs a new remapper for annotations. |
private Object[] | |
public AnnotationVisitor | visitAnnotation(final String
the class descriptor of the annotation class. descriptor, final boolean true if the annotation is visible at runtime. visible)Overrides net. |
public AnnotationVisitor | visitAnnotationDefault()
Overrides net. |
public void | visitFieldInsn(final int
the opcode of the type instruction to be visited. This opcode is either
GETSTATIC, PUTSTATIC, GETFIELD or PUTFIELD. opcode, final String the internal name of the field's owner class (see owner, final String Type#getInternalName() ).the field's name. name, final String the field's descriptor (see descriptor)Type ).Overrides net. |
public void | visitFrame(final int
the type of this stack map frame. Must be type, final 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. numLocal, final Object[] the local variable types in this frame. This array must not be modified. Primitive
types are represented by local, final 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. numStack, final 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 AnnotationVisitor | visitInsnAnnotation(final int
a reference to the annotated type. The sort of this type reference must be
typeRef, final 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, final String the class descriptor of the annotation class. descriptor, final boolean true if the annotation is visible at runtime. visible)Overrides net. |
public void | visitInvokeDynamicInsn(final String
the method's name. name, final String the method's descriptor (see descriptor, final Handle Type ).the bootstrap method. bootstrapMethodHandle, final Object... bootstrapMethodArguments)Overrides net. |
public void | visitLdcInsn(final Object
the constant to be loaded on the stack. This parameter must be a non null value)
Visits a LDC instruction.
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. |
public void | visitLocalVariable(final String
the name of a local variable. name, final String the type descriptor of this local variable. descriptor, final String the type signature of this local variable. May be null if the local
variable type does not use generic types. signature, final Label the first instruction corresponding to the scope of this local variable
(inclusive). start, final Label the last instruction corresponding to the scope of this local variable (exclusive). end, final int the local variable's index. index)Overrides net. |
public AnnotationVisitor | visitLocalVariableAnnotation(final int
a reference to the annotated type. The sort of this type reference must be
typeRef, final 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, final Label[] the fist instructions corresponding to the continuous ranges that make the scope
of this local variable (inclusive). start, final 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, final int[] the local variable's index in each range. This array must have the same size as
the 'start' array. index, final String the class descriptor of the annotation class. descriptor, final boolean true if the annotation is visible at runtime. visible)Overrides net. |
public void | visitMethodInsn(final int
the opcode of the type instruction to be visited. This opcode is either
INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or INVOKEINTERFACE. opcodeAndSource, final String the internal name of the method's owner class (see owner, final String Type#getInternalName() ).the method's name. name, final String the method's descriptor (see descriptor, final boolean Type ).if the method's owner class is an interface. isInterface)Overrides net. |
public void | visitMultiANewArrayInsn(final String
an array type descriptor (see descriptor, final int Type ).the number of dimensions of the array to allocate. numDimensions)Overrides net. |
public AnnotationVisitor | visitParameterAnnotation(final 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, final 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. descriptor, final boolean true if the annotation is visible at runtime. visible)Overrides net. |
public AnnotationVisitor | visitTryCatchAnnotation(final int
a reference to the annotated type. The sort of this type reference must be
typeRef, final 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, final String the class descriptor of the annotation class. descriptor, final boolean true if the annotation is visible at runtime. visible)Overrides net. |
public void | visitTryCatchBlock(final Label
the beginning of the exception handler's scope (inclusive). start, final Label the end of the exception handler's scope (exclusive). end, final Label the beginning of the exception handler's code. handler, final 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 net. |
public AnnotationVisitor | visitTypeAnnotation(final int
a reference to the annotated type. The sort of this type reference must be
typeRef, final 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, final String the class descriptor of the annotation class. descriptor, final boolean true if the annotation is visible at runtime. visible)Overrides net. |
public void | visitTypeInsn(final int
the opcode of the type instruction to be visited. This opcode is either NEW,
ANEWARRAY, CHECKCAST or INSTANCEOF. opcode, final String the operand of the instruction to be visited. This operand must be the internal
name of an object or array class (see type)Type#getInternalName() ).Overrides net. |
remapper | back to summary |
---|---|
protected final Remapper remapper The remapper used to remap the types in the visited field. |
MethodRemapper | back to summary |
---|---|
public MethodRemapper(final MethodVisitor methodVisitor, final Remapper remapper) Constructs a new
|
MethodRemapper | back to summary |
---|---|
protected MethodRemapper(final int api, final MethodVisitor methodVisitor, final Remapper remapper) Constructs a new
|
createAnnotationRemapper | back to summary |
---|---|
protected AnnotationVisitor createAnnotationRemapper(final AnnotationVisitor annotationVisitor)
Deprecated use Constructs a new remapper for annotations. The default implementation of this method returns a
new
|
createAnnotationRemapper | back to summary |
---|---|
protected AnnotationVisitor createAnnotationRemapper(final String descriptor, final AnnotationVisitor annotationVisitor) Constructs a new remapper for annotations. The default implementation of this method returns a
new
|
remapFrameTypes | back to summary |
---|---|
private Object[] remapFrameTypes(final int numTypes, final Object[] frameTypes) |
visitAnnotation | back to summary |
---|---|
public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) Overrides net. Doc from net. Visits an annotation of this method.
|
visitAnnotationDefault | back to summary |
---|---|
public AnnotationVisitor visitAnnotationDefault() Overrides net. Doc from net. Visits the default value of this annotation interface method.
|
visitFieldInsn | back to summary |
---|---|
public void visitFieldInsn(final int opcode, final String owner, final String name, final String descriptor) Overrides net. Doc from net. 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(final int type, final int numLocal, final Object[] local, final int numStack, final Object[] stack) Overrides net. Doc from net. 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).
|
visitInsnAnnotation | back to summary |
---|---|
public AnnotationVisitor visitInsnAnnotation(final int typeRef, final TypePath typePath, final String descriptor, final boolean visible) Overrides net. Doc from net. 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.
|
visitInvokeDynamicInsn | back to summary |
---|---|
public void visitInvokeDynamicInsn(final String name, final String descriptor, final Handle bootstrapMethodHandle, final Object... bootstrapMethodArguments) Overrides net. Doc from net. Visits an invokedynamic instruction.
|
visitLdcInsn | back to summary |
---|---|
public void visitLdcInsn(final Object value) Overrides net. Doc from net. 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 }
|
visitLocalVariable | back to summary |
---|---|
public void visitLocalVariable(final String name, final String descriptor, final String signature, final Label start, final Label end, final int index) Overrides net. Doc from net. Visits a local variable declaration.
|
visitLocalVariableAnnotation | back to summary |
---|---|
public AnnotationVisitor visitLocalVariableAnnotation(final int typeRef, final TypePath typePath, final Label[] start, final Label[] end, final int[] index, final String descriptor, final boolean visible) Overrides net. Doc from net. Visits an annotation on a local variable type.
|
visitMethodInsn | back to summary |
---|---|
public void visitMethodInsn(final int opcodeAndSource, final String owner, final String name, final String descriptor, final boolean isInterface) Overrides net. Doc from net. Visits a method instruction. A method instruction is an instruction that invokes a method.
|
visitMultiANewArrayInsn | back to summary |
---|---|
public void visitMultiANewArrayInsn(final String descriptor, final int numDimensions) Overrides net. Doc from net. Visits a MULTIANEWARRAY instruction. |
visitParameterAnnotation | back to summary |
---|---|
public AnnotationVisitor visitParameterAnnotation(final int parameter, final String descriptor, final boolean visible) Overrides net. Doc from net. Visits an annotation of a parameter this method.
|
visitTryCatchAnnotation | back to summary |
---|---|
public AnnotationVisitor visitTryCatchAnnotation(final int typeRef, final TypePath typePath, final String descriptor, final boolean visible) Overrides net. Doc from net. Visits an annotation on an exception handler type. This method must be called after the
|
visitTryCatchBlock | back to summary |
---|---|
public void visitTryCatchBlock(final Label start, final Label end, final Label handler, final String type) Overrides net. Doc from net. Visits a try catch block.
|
visitTypeAnnotation | back to summary |
---|---|
public AnnotationVisitor visitTypeAnnotation(final int typeRef, final TypePath typePath, final String descriptor, final boolean visible) Overrides net. Doc from net. Visits an annotation on a type in the method signature.
|
visitTypeInsn | back to summary |
---|---|
public void visitTypeInsn(final int opcode, final String type) Overrides net. Doc from net. Visits a type instruction. A type instruction is an instruction that takes the internal name of
a class as parameter (see
|