Top Description Fields Constructors Methods
org.objectweb.asm.util

public Class Textifier

extends Printer
Class Inheritance
Imports
java.io.IOException, .PrintWriter, java.util.Arrays, .Collections, .HashMap, .List, .Map, org.objectweb.asm.Attribute, .Handle, .Label, .Opcodes, .Type, .TypePath, .TypeReference, org.objectweb.asm.signature.SignatureReader

A Printer that prints a disassembled view of the classes it visits.
Author
Eric Bruneton

Field Summary

Modifier and TypeField and Description
private int
access

The access flags of the visited class.

public static final int
CLASS_SIGNATURE

The type of class signatures.

private static final String
private static final String
public static final int
FIELD_DESCRIPTOR

The type of field descriptors.

public static final int
FIELD_SIGNATURE

The type of field signatures.

private static final List<String>
public static final int
HANDLE_DESCRIPTOR

The type of method handle descriptors.

public static final int
INTERNAL_NAME

The type of internal names (see Type#getInternalName()).

private static final String
protected Map<Label, String>
labelNames

The names of the labels.

protected String
ltab

The indentation of labels.

public static final int
METHOD_DESCRIPTOR

The type of method descriptors.

public static final int
METHOD_SIGNATURE

The type of method signatures.

private int
numAnnotationValues

The number of annotation values visited so far.

private static final String
protected String
tab

The indentation of class members at depth level 1 (e.g. fields, methods).

protected String
tab2

The indentation of class elements at depth level 2 (e.g. bytecode instructions in methods).

protected String
tab3

The indentation of class elements at depth level 3 (e.g. switch cases in methods).

private static final String
USAGE

The help message shown when command line arguments are incorrect.

Inherited from org.objectweb.asm.util.Printer:
apiHANDLE_TAGOPCODESstringBuildertextTYPES

Constructor Summary

AccessConstructor and Description
public
Textifier()

Constructs a new Textifier.

protected
Textifier(final int
the ASM API version implemented by this visitor. Must be one of the ASMx values in Opcodes.
api
)

Constructs a new Textifier.

Method Summary

Modifier and TypeMethod and Description
private Textifier

Returns:

the newly created Textifier.
addNewTextifier
(final String
the text to add to text after the textifier. May be null.
endText
)

Creates and adds to text a new Textifier, followed by the given string.

private void
appendAccess(final int
some access flags.
accessFlags
)

Appends a string representation of the given access flags to stringBuilder.

protected void
appendDescriptor(final int type, final String
an internal name (see Type#getInternalName()), type descriptor or a type signature. May be null.
value
)

Appends an internal name, a type descriptor or a type signature to stringBuilder.

private void
appendFrameTypes(final int
the number of stack map frame types in 'frameTypes'.
numTypes
,
final Object[]
an array of stack map frame types, in the format described in org.objectweb.asm.MethodVisitor#visitFrame.
frameTypes
)

Appends the given stack map frame types to stringBuilder.

protected void
appendHandle(final Handle
a handle.
handle
)

Appends a string representation of the given handle to stringBuilder.

private void
appendJavaDeclaration(final String
a class, field or method name.
name
,
final String
a class, field or method signature.
signature
)

Appends the Java generic type declaration corresponding to the given signature.

protected void
appendLabel(final Label
a label.
label
)

Appends the name of the given label to stringBuilder.

private void
appendRawAccess(final int
some access flags.
accessFlags
)

Appends the hexadecimal value of the given access flags to stringBuilder.

private void
appendTypeReference(final int
a type reference. See TypeReference.
typeRef
)

Appends a string representation of the given type reference to stringBuilder.

protected Textifier

Returns:

a new Textifier.
createTextifier
()

Creates a new Textifier.

public static void
main(final String[]
the command line arguments.
args
)

Prints a disassembled view of the given class to the standard output.

pack-priv static void
main(final String[]
the command line arguments.
args
,
final PrintWriter
where to print the result.
output
,
final PrintWriter
where to log errors.
logger
)

Prints a disassembled view of the given class to the given output.

private void
maybeAppendComma(final int
a number of 'values visited so far', for instance the number of annotation values visited so far in an annotation visitor.
numValues
)

Appends a comma to stringBuilder if the given number is strictly positive.

public void
visit(final int
the class version. The minor version is stored in the 16 most significant bits, and the major version in the 16 least significant bits.
version
,
final int
the class's access flags (see Opcodes). This parameter also indicates if the class is deprecated.
access
,
final String
the internal name of the class (see Type#getInternalName()).
name
,
final String
the signature of this class. May be null if the class is not a generic one, and does not extend or implement generic classes or interfaces.
signature
,
final String
the internal of name of the super class (see Type#getInternalName()). For interfaces, the super class is Object. May be null, but only for the Object class.
superName
,
final String[]
the internal names of the class's interfaces (see Type#getInternalName()). May be null.
interfaces
)

Implements abstract org.objectweb.asm.util.Printer.visit.

Class header.
public void
visit(final String
the value name.
name
,
final Object
the actual value, whose type must be Byte, Boolean, Character, Short, Integer , Long, Float, Double, String or Type of Type#OBJECT or Type#ARRAY sort. This value can also be an array of byte, boolean, short, char, int, long, float or double values (this is equivalent to using visitArray and visiting each array element in turn, but is more convenient).
value
)

Implements abstract org.objectweb.asm.util.Printer.visit.

Annotation value.
public Textifier
visitAnnotableParameterCount(final int
the number of method parameters than can have annotations. This number must be less or equal than the number of parameter types in the method descriptor. It can be strictly less when a method has synthetic parameters and when these parameters are ignored when computing parameter indices for the purpose of parameter annotations (see https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.7.18).
parameterCount
,
final boolean
true to define the number of method parameters that can have annotations visible at runtime, false to define the number of method parameters that can have annotations invisible at runtime.
visible
)

Overrides org.objectweb.asm.util.Printer.visitAnnotableParameterCount.

Number of method parameters that can have annotations.
public Textifier
visitAnnotation(final String
the value name.
name
,
final String
the class descriptor of the nested annotation class.
descriptor
)

Implements abstract org.objectweb.asm.util.Printer.visitAnnotation.

Nested annotation value.
public Textifier

Returns:

a visitor to visit the annotation values.
visitAnnotation
(final String
the class descriptor of the annotation class.
descriptor
,
final boolean
true if the annotation is visible at runtime.
visible
)

Prints a disassembled view of the given annotation.

public Textifier
visitAnnotationDefault()

Implements abstract org.objectweb.asm.util.Printer.visitAnnotationDefault.

Method default annotation.
public void
private void
public Textifier
visitArray(final String
the value name.
name
)

Implements abstract org.objectweb.asm.util.Printer.visitArray.

Annotation array value.
public void
visitAttribute(final Attribute
an attribute.
attribute
)

Prints a disassembled view of the given attribute.

private void
visitBoolean(final boolean value)

private void
visitByte(final byte value)

private void
visitChar(final char value)

public Textifier
visitClassAnnotation(final String
the class descriptor of the annotation class.
descriptor
,
final boolean
true if the annotation is visible at runtime.
visible
)

Implements abstract org.objectweb.asm.util.Printer.visitClassAnnotation.

Class annotation.
public void
visitClassAttribute(final Attribute
an attribute.
attribute
)

Implements abstract org.objectweb.asm.util.Printer.visitClassAttribute.

Class attribute.
public void
public Printer
visitClassTypeAnnotation(final int
a reference to the annotated type. The sort of this type reference must be TypeReference#CLASS_TYPE_PARAMETER, TypeReference#CLASS_TYPE_PARAMETER_BOUND or TypeReference#CLASS_EXTENDS. See TypeReference.
typeRef
,
final TypePath
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 org.objectweb.asm.util.Printer.visitClassTypeAnnotation.

Class type annotation.
public void
visitCode()

Implements abstract org.objectweb.asm.util.Printer.visitCode.

Method start.
private void
visitDouble(final double value)

public void
visitEnum(final String
the value name.
name
,
final String
the class descriptor of the enumeration class.
descriptor
,
final String
the actual enumeration value.
value
)

Implements abstract org.objectweb.asm.util.Printer.visitEnum.

Annotation enum value.
public void
visitExport(final String
the internal name of the exported package (see Type#getInternalName()).
packaze
,
final int
the access flag of the exported package, valid values are among ACC_SYNTHETIC and ACC_MANDATED.
access
,
final String...
the fully qualified names (using dots) of the modules that can access the public classes of the exported package, or null.
modules
)

Overrides org.objectweb.asm.util.Printer.visitExport.

Module export.
private void
visitExportOrOpen(final String method, final String packaze, final int access, final String... modules)

public Textifier
visitField(final int
the field's access flags (see Opcodes). This parameter also indicates if the field is synthetic and/or deprecated.
access
,
final String
the field's name.
name
,
final String
the field's descriptor (see Type).
descriptor
,
final String
the field's signature. May be null if the field's type does not use generic types.
signature
,
final Object
the field's initial value. This parameter, which may be null if the field does not have an initial value, must be an Integer, a Float, a Long, a Double or a String (for int, float, long or String fields respectively). This parameter is only used for static fields. Its value is ignored for non static fields, which must be initialized through bytecode instructions in constructors or methods.
value
)

Implements abstract org.objectweb.asm.util.Printer.visitField.

Class field.
public Textifier
visitFieldAnnotation(final String
the class descriptor of the annotation class.
descriptor
,
final boolean
true if the annotation is visible at runtime.
visible
)

Implements abstract org.objectweb.asm.util.Printer.visitFieldAnnotation.

Field annotation.
public void
visitFieldAttribute(final Attribute
an attribute.
attribute
)

Implements abstract org.objectweb.asm.util.Printer.visitFieldAttribute.

Field attribute.
public void
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 Type#getInternalName()).
owner
,
final String
the field's name.
name
,
final String
the field's descriptor (see Type).
descriptor
)

Implements abstract org.objectweb.asm.util.Printer.visitFieldInsn.

Method instruction.
public Printer
visitFieldTypeAnnotation(final int
a reference to the annotated type. The sort of this type reference must be TypeReference#FIELD. See TypeReference.
typeRef
,
final TypePath
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 org.objectweb.asm.util.Printer.visitFieldTypeAnnotation.

Field type annotation.
private void
visitFloat(final float value)

public void
visitFrame(final int
the type of this stack map frame. Must be 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.
type
,
final int
the number of local variables in the visited frame.
numLocal
,
final Object[]
the local variable types in this frame. This array must not be modified. Primitive types are represented by 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).
local
,
final int
the number of operand stack elements in the visited frame.
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
)

Implements abstract org.objectweb.asm.util.Printer.visitFrame.

Method stack frame.
public void
visitIincInsn(final int
index of the local variable to be incremented.
varIndex
,
final int
amount to increment the local variable by.
increment
)

Implements abstract org.objectweb.asm.util.Printer.visitIincInsn.

Method instruction.
public void
visitInnerClass(final String
the internal name of an inner class (see Type#getInternalName()).
name
,
final String
the internal name of the class to which the inner class belongs (see Type#getInternalName()). May be null for not member classes.
outerName
,
final String
the (simple) name of the inner class inside its enclosing class. May be null for anonymous inner classes.
innerName
,
final int
the access flags of the inner class as originally declared in the enclosing class.
access
)

Implements abstract org.objectweb.asm.util.Printer.visitInnerClass.

Class inner name.
public void
visitInsn(final 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
)

Implements abstract org.objectweb.asm.util.Printer.visitInsn.

Method instruction.
public Printer
visitInsnAnnotation(final int typeRef, final TypePath
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 org.objectweb.asm.util.Printer.visitInsnAnnotation.

Instruction type annotation.
private void
visitInt(final int value)

public void
visitIntInsn(final int
the opcode of the instruction to be visited. This opcode is either BIPUSH, SIPUSH or NEWARRAY.
opcode
,
final int
the operand of the instruction to be visited.
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.
operand
)

Implements abstract org.objectweb.asm.util.Printer.visitIntInsn.

Method instruction.
public void
visitInvokeDynamicInsn(final String
the method's name.
name
,
final String
the method's descriptor (see Type).
descriptor
,
final Handle
the bootstrap method.
bootstrapMethodHandle
,
final Object...
the bootstrap method constant arguments. Each argument must be an Integer, Float, Long, Double, String, Type or Handle value. This method is allowed to modify the content of the array so a caller should expect that this array may change.
bootstrapMethodArguments
)

Implements abstract org.objectweb.asm.util.Printer.visitInvokeDynamicInsn.

Method instruction.
public void
visitJumpInsn(final 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
,
final 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
)

Implements abstract org.objectweb.asm.util.Printer.visitJumpInsn.

Method jump instruction.
public void
visitLabel(final Label
a Label object.
label
)

Implements abstract org.objectweb.asm.util.Printer.visitLabel.

Method label.
public void
visitLdcInsn(final Object
the constant to be loaded on the stack. This parameter must be a non null 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.
value
)

Implements abstract org.objectweb.asm.util.Printer.visitLdcInsn.

Method instruction.
public void
visitLineNumber(final int
a line number. This number refers to the source file from which the class was compiled.
line
,
final Label
the first instruction corresponding to this line number.
start
)

Implements abstract org.objectweb.asm.util.Printer.visitLineNumber.

Method debug info.
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
)

Implements abstract org.objectweb.asm.util.Printer.visitLocalVariable.

Method debug info.
public Printer
visitLocalVariableAnnotation(final int
a reference to the annotated type. The sort of this type reference must be TypeReference#LOCAL_VARIABLE or TypeReference#RESOURCE_VARIABLE. See TypeReference.
typeRef
,
final TypePath
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 org.objectweb.asm.util.Printer.visitLocalVariableAnnotation.

Local variable type annotation.
private void
visitLong(final long value)

public void
visitLookupSwitchInsn(final Label
beginning of the default handler block.
dflt
,
final int[]
the values of the keys.
keys
,
final Label[]
beginnings of the handler blocks. labels[i] is the beginning of the handler block for the keys[i] key.
labels
)

Implements abstract org.objectweb.asm.util.Printer.visitLookupSwitchInsn.

Method instruction.
public void
visitMainClass(final String
the internal name of the main class of the current module (see Type#getInternalName()).
mainClass
)

Overrides org.objectweb.asm.util.Printer.visitMainClass.

Module main class.
public void
visitMaxs(final int
maximum stack size of the method.
maxStack
,
final int
maximum number of local variables for the method.
maxLocals
)

Implements abstract org.objectweb.asm.util.Printer.visitMaxs.

Method max stack and max locals.
public Textifier
visitMethod(final int
the method's access flags (see Opcodes). This parameter also indicates if the method is synthetic and/or deprecated.
access
,
final String
the method's name.
name
,
final String
the method's descriptor (see Type).
descriptor
,
final String
the method's signature. May be null if the method parameters, return type and exceptions do not use generic types.
signature
,
final String[]
the internal names of the method's exception classes (see Type#getInternalName()). May be null.
exceptions
)

Implements abstract org.objectweb.asm.util.Printer.visitMethod.

Class method.
public Textifier
visitMethodAnnotation(final String
the class descriptor of the annotation class.
descriptor
,
final boolean
true if the annotation is visible at runtime.
visible
)

Implements abstract org.objectweb.asm.util.Printer.visitMethodAnnotation.

Method annotation.
public void
visitMethodAttribute(final Attribute
an attribute.
attribute
)

Implements abstract org.objectweb.asm.util.Printer.visitMethodAttribute.

Method attribute.
public void
public void
visitMethodInsn(final int
the opcode of the type instruction to be visited. This opcode is either INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or INVOKEINTERFACE.
opcode
,
final String
the internal name of the method's owner class (see Type#getInternalName()).
owner
,
final String
the method's name.
name
,
final String
the method's descriptor (see Type).
descriptor
,
final boolean
if the method's owner class is an interface.
isInterface
)

Overrides org.objectweb.asm.util.Printer.visitMethodInsn.

Method instruction.
public Printer
visitMethodTypeAnnotation(final int typeRef, final TypePath
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 org.objectweb.asm.util.Printer.visitMethodTypeAnnotation.

Method type annotation.
public Printer
visitModule(final String
the fully qualified name (using dots) of the module.
name
,
final int
the module access flags, among ACC_OPEN, ACC_SYNTHETIC and ACC_MANDATED.
access
,
final String
the module version, or null.
version
)

Overrides org.objectweb.asm.util.Printer.visitModule.

Module.
public void
public void
visitMultiANewArrayInsn(final String
an array type descriptor (see Type).
descriptor
,
final int
the number of dimensions of the array to allocate.
numDimensions
)

Implements abstract org.objectweb.asm.util.Printer.visitMultiANewArrayInsn.

Method instruction.
public void
visitNestHost(final String
the internal name of the host class of the nest (see Type#getInternalName()).
nestHost
)

Overrides org.objectweb.asm.util.Printer.visitNestHost.

Visits the nest host class of the class.
public void
visitNestMember(final String
the internal name of a nest member (see Type#getInternalName()).
nestMember
)

Overrides org.objectweb.asm.util.Printer.visitNestMember.

Visits a member of the nest.
public void
visitOpen(final String
the internal name of the opened package (see Type#getInternalName()).
packaze
,
final int
the access flag of the opened package, valid values are among ACC_SYNTHETIC and ACC_MANDATED.
access
,
final String...
the fully qualified names (using dots) of the modules that can use deep reflection to the classes of the open package, or null.
modules
)

Overrides org.objectweb.asm.util.Printer.visitOpen.

Module open.
public void
visitOuterClass(final String
internal name of the enclosing class of the class (see Type#getInternalName()).
owner
,
final String
the name of the method that contains the class, or null if the class is not enclosed in a method of its enclosing class.
name
,
final String
the descriptor of the method that contains the class, or null if the class is not enclosed in a method of its enclosing class.
descriptor
)

Implements abstract org.objectweb.asm.util.Printer.visitOuterClass.

Class outer class.
public void
visitPackage(final String
the internal name of a package (see Type#getInternalName()).
packaze
)

Overrides org.objectweb.asm.util.Printer.visitPackage.

Module package.
public void
visitParameter(final String
parameter name or null if none is provided.
name
,
final int
the parameter's access flags, only ACC_FINAL, ACC_SYNTHETIC or/and ACC_MANDATED are allowed (see Opcodes).
access
)

Overrides org.objectweb.asm.util.Printer.visitParameter.

Method parameter.
public Textifier
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 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).

parameter
,
final String
the class descriptor of the annotation class.
descriptor
,
final boolean
true if the annotation is visible at runtime.
visible
)

Implements abstract org.objectweb.asm.util.Printer.visitParameterAnnotation.

Method parameter annotation.
public void
visitPermittedSubclass(final String
the internal name of a permitted subclass (see Type#getInternalName()).
permittedSubclass
)

Overrides org.objectweb.asm.util.Printer.visitPermittedSubclass.

Visits a permitted subclasses.
public void
visitProvide(final String
the internal name of the service (see Type#getInternalName()).
provide
,
final String...
the internal names of the implementations of the service (there is at least one provider).
providers
)

Overrides org.objectweb.asm.util.Printer.visitProvide.

Module provide.
public Printer
visitRecordComponent(final String
the field's name.
name
,
final String
the record component descriptor (see Type).
descriptor
,
final String
the record component signature. May be null if the record component type does not use generic types.
signature
)

Overrides org.objectweb.asm.util.Printer.visitRecordComponent.

Visits a record component of the class.
public Textifier
visitRecordComponentAnnotation(final String
the class descriptor of the annotation class.
descriptor
,
final boolean
true if the annotation is visible at runtime.
visible
)

Overrides org.objectweb.asm.util.Printer.visitRecordComponentAnnotation.

Visits an annotation of the record component.
public void
visitRecordComponentAttribute(final Attribute
an attribute.
attribute
)

Overrides org.objectweb.asm.util.Printer.visitRecordComponentAttribute.

Visits a non standard attribute of the record component.
public void
visitRecordComponentEnd()

Overrides org.objectweb.asm.util.Printer.visitRecordComponentEnd.

Visits the end of the record component.
public Printer
visitRecordComponentTypeAnnotation(final int
a reference to the annotated type. The sort of this type reference must be TypeReference#CLASS_TYPE_PARAMETER, TypeReference#CLASS_TYPE_PARAMETER_BOUND or TypeReference#CLASS_EXTENDS. See TypeReference.
typeRef
,
final TypePath
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 org.objectweb.asm.util.Printer.visitRecordComponentTypeAnnotation.

Visits an annotation on a type in the record component signature.
public void
visitRequire(final String
the fully qualified name (using dots) of the dependence.
require
,
final int
the access flag of the dependence among ACC_TRANSITIVE, ACC_STATIC_PHASE, ACC_SYNTHETIC and ACC_MANDATED.
access
,
final String
the module version at compile time, or null.
version
)

Overrides org.objectweb.asm.util.Printer.visitRequire.

Module require.
private void
visitShort(final short value)

public void
visitSource(final String
the name of the source file from which the class was compiled. May be null.
file
,
final String
additional debug information to compute the correspondence between source and compiled elements of the class. May be null.
debug
)

Implements abstract org.objectweb.asm.util.Printer.visitSource.

Class source.
private void
visitString(final String value)

public void
visitTableSwitchInsn(final int
the minimum key value.
min
,
final int
the maximum key value.
max
,
final Label
beginning of the default handler block.
dflt
,
final Label...
beginnings of the handler blocks. labels[i] is the beginning of the handler block for the min + i key.
labels
)

Implements abstract org.objectweb.asm.util.Printer.visitTableSwitchInsn.

Method instruction.
public Printer
visitTryCatchAnnotation(final int
a reference to the annotated type. The sort of this type reference must be TypeReference#EXCEPTION_PARAMETER. See TypeReference.
typeRef
,
final TypePath
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 org.objectweb.asm.util.Printer.visitTryCatchAnnotation.

Try catch block type annotation.
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#getInternalName()), or null to catch any exceptions (for "finally" blocks).
type
)

Implements abstract org.objectweb.asm.util.Printer.visitTryCatchBlock.

Method exception handler.
private void
visitType(final Type value)

public Textifier

Returns:

a visitor to visit the annotation values.
visitTypeAnnotation
(final int
a reference to the annotated type. See TypeReference.
typeRef
,
final TypePath
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
)

Prints a disassembled view of the given type annotation.

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#getInternalName()).
type
)

Implements abstract org.objectweb.asm.util.Printer.visitTypeInsn.

Method instruction.
public void
visitUse(final String
the internal name of the service (see Type#getInternalName()).
use
)

Overrides org.objectweb.asm.util.Printer.visitUse.

Module use.
public void
visitVarInsn(final 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
,
final int
the operand of the instruction to be visited. This operand is the index of a local variable.
varIndex
)

Implements abstract org.objectweb.asm.util.Printer.visitVarInsn.

Method instruction.
Inherited from org.objectweb.asm.util.Printer:
appendStringgetTextmainprintprintListvisitMethodInsn