类 Printer
java.lang.Object
org.beetl.ow2.asm.util.Printer
An abstract converter from visit events to text.
- 作者:
- Eric Bruneton
-
字段概要
字段修饰符和类型字段说明protected final intThe ASM API version implemented by this class.protected final StringBufferA buffer that can be used to create strings.static final String[]The names of thetagfield values forHandle.static final String[]The names of the Java Virtual Machine opcodes.The text to be printed.static final String[]The names of the foroperandparameter values of theMethodVisitor.visitIntInsn(int, int)method whenopcodeisNEWARRAY. -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static voidappendString(StringBuffer buf, String s) Appends a quoted string to a given buffer.getText()Returns the text constructed by this visitor.voidprint(PrintWriter pw) Prints the text constructed by this visitor.abstract voidvisit(int version, int access, String name, String signature, String superName, String[] interfaces) Class header.abstract voidAnnotation value.abstract PrintervisitAnnotation(String name, String desc) Nested annotation value.abstract PrinterMethod default annotation.abstract voidAnnotation end.abstract PrintervisitArray(String name) Annotation array value.abstract PrintervisitClassAnnotation(String desc, boolean visible) Class annotation.abstract voidvisitClassAttribute(Attribute attr) Class attribute.abstract voidClass end.visitClassTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) Class type annotation.abstract voidMethod start.abstract voidAnnotation enum value.abstract PrintervisitField(int access, String name, String desc, String signature, Object value) Class field.abstract PrintervisitFieldAnnotation(String desc, boolean visible) Field annotation.abstract voidvisitFieldAttribute(Attribute attr) Field attribute.abstract voidField end.abstract voidvisitFieldInsn(int opcode, String owner, String name, String desc) Method instruction.visitFieldTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) Field type annotation.abstract voidvisitFrame(int type, int nLocal, Object[] local, int nStack, Object[] stack) Method stack frame.abstract voidvisitIincInsn(int var, int increment) Method instruction.abstract voidvisitInnerClass(String name, String outerName, String innerName, int access) Class inner className.abstract voidvisitInsn(int opcode) Method instruction.visitInsnAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) Instruction type annotation.abstract voidvisitIntInsn(int opcode, int operand) Method instruction.abstract voidvisitInvokeDynamicInsn(String name, String desc, Handle bsm, Object... bsmArgs) Method instruction.abstract voidvisitJumpInsn(int opcode, Label label) Method instruction.abstract voidvisitLabel(Label label) Method label.abstract voidvisitLdcInsn(Object cst) Method instruction.abstract voidvisitLineNumber(int line, Label start) Method debug info.abstract voidMethod debug info.visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String desc, boolean visible) Local variable type annotation.abstract voidvisitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) Method instruction.abstract voidvisitMaxs(int maxStack, int maxLocals) Method max stack and max locals.abstract PrintervisitMethod(int access, String name, String desc, String signature, String[] exceptions) Class method.abstract PrintervisitMethodAnnotation(String desc, boolean visible) Method annotation.abstract voidMethod attribute.abstract voidMethod end.voidvisitMethodInsn(int opcode, String owner, String name, String desc) 已过时。voidvisitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) Method instruction.visitMethodTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) Method type annotation.abstract voidvisitMultiANewArrayInsn(String desc, int dims) Method instruction.abstract voidvisitOuterClass(String owner, String name, String desc) Class outer class.voidvisitParameter(String name, int access) Method parameter.abstract PrintervisitParameterAnnotation(int parameter, String desc, boolean visible) Method parameter annotation.abstract voidvisitSource(String file, String debug) Class srccode.abstract voidvisitTableSwitchInsn(int min, int max, Label dflt, Label... labels) Method instruction.visitTryCatchAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) Try catch block type annotation.abstract voidvisitTryCatchBlock(Label start, Label end, Label handler, String type) Method exception handler.abstract voidvisitTypeInsn(int opcode, String type) Method instruction.abstract voidvisitVarInsn(int opcode, int var) Method instruction.
-
字段详细资料
-
OPCODES
The names of the Java Virtual Machine opcodes. -
TYPES
The names of the foroperandparameter values of theMethodVisitor.visitIntInsn(int, int)method whenopcodeisNEWARRAY. -
HANDLE_TAG
The names of thetagfield values forHandle. -
api
protected final int apiThe ASM API version implemented by this class. The value of this field must be one ofOpcodes.ASM4orOpcodes.ASM5. -
buf
A buffer that can be used to create strings. -
text
The text to be printed. Since the code of methods is not necessarily visited in sequential order, one method after the other, but can be interlaced (some instructions from method one, then some instructions from method two, then some instructions from method one again...), it is not possible to print the visited instructions directly to a sequential stream. A class is therefore printed in a two steps process: a string tree is constructed during the visit, and printed to a sequential stream at the end of the visit. This string tree is stored in this field, as a string list that can contain other string lists, which can themselves contain other string lists, and so on.
-
-
构造器详细资料
-
Printer
protected Printer(int api) Constructs a newPrinter.
-
-
方法详细资料
-
visit
-
visitSource
Class srccode. SeeClassVisitor.visitSource(java.lang.String, java.lang.String). -
visitOuterClass
Class outer class. SeeClassVisitor.visitOuterClass(java.lang.String, java.lang.String, java.lang.String). -
visitClassAnnotation
Class annotation. SeeClassVisitor.visitAnnotation(java.lang.String, boolean). -
visitClassTypeAnnotation
public Printer visitClassTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) Class type annotation. SeeClassVisitor.visitTypeAnnotation(int, org.beetl.ow2.asm.TypePath, java.lang.String, boolean). -
visitClassAttribute
Class attribute. SeeClassVisitor.visitAttribute(org.beetl.ow2.asm.Attribute). -
visitInnerClass
Class inner className. SeeClassVisitor.visitInnerClass(java.lang.String, java.lang.String, java.lang.String, int). -
visitField
-
visitMethod
-
visitClassEnd
public abstract void visitClassEnd()Class end. SeeClassVisitor.visitEnd(). -
visit
Annotation value. SeeAnnotationVisitor.visit(java.lang.String, java.lang.Object). -
visitEnum
Annotation enum value. SeeAnnotationVisitor.visitEnum(java.lang.String, java.lang.String, java.lang.String). -
visitAnnotation
Nested annotation value. SeeAnnotationVisitor.visitAnnotation(java.lang.String, java.lang.String). -
visitArray
Annotation array value. SeeAnnotationVisitor.visitArray(java.lang.String). -
visitAnnotationEnd
public abstract void visitAnnotationEnd()Annotation end. SeeAnnotationVisitor.visitEnd(). -
visitFieldAnnotation
Field annotation. SeeFieldVisitor.visitAnnotation(java.lang.String, boolean). -
visitFieldTypeAnnotation
public Printer visitFieldTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) Field type annotation. SeeFieldVisitor.visitTypeAnnotation(int, org.beetl.ow2.asm.TypePath, java.lang.String, boolean). -
visitFieldAttribute
Field attribute. SeeFieldVisitor.visitAttribute(org.beetl.ow2.asm.Attribute). -
visitFieldEnd
public abstract void visitFieldEnd()Field end. SeeFieldVisitor.visitEnd(). -
visitParameter
Method parameter. SeeMethodVisitor.visitParameter(String, int). -
visitAnnotationDefault
Method default annotation. SeeMethodVisitor.visitAnnotationDefault(). -
visitMethodAnnotation
Method annotation. SeeMethodVisitor.visitAnnotation(java.lang.String, boolean). -
visitMethodTypeAnnotation
public Printer visitMethodTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) Method type annotation. SeeMethodVisitor.visitTypeAnnotation(int, org.beetl.ow2.asm.TypePath, java.lang.String, boolean). -
visitParameterAnnotation
Method parameter annotation. SeeMethodVisitor.visitParameterAnnotation(int, java.lang.String, boolean). -
visitMethodAttribute
Method attribute. SeeMethodVisitor.visitAttribute(org.beetl.ow2.asm.Attribute). -
visitCode
public abstract void visitCode()Method start. SeeMethodVisitor.visitCode(). -
visitFrame
Method stack frame. SeeMethodVisitor.visitFrame(int, int, java.lang.Object[], int, java.lang.Object[]). -
visitInsn
public abstract void visitInsn(int opcode) Method instruction. SeeMethodVisitor.visitInsn(int). -
visitIntInsn
public abstract void visitIntInsn(int opcode, int operand) Method instruction. SeeMethodVisitor.visitIntInsn(int, int). -
visitVarInsn
public abstract void visitVarInsn(int opcode, int var) Method instruction. SeeMethodVisitor.visitVarInsn(int, int). -
visitTypeInsn
Method instruction. SeeMethodVisitor.visitTypeInsn(int, java.lang.String). -
visitFieldInsn
Method instruction. SeeMethodVisitor.visitFieldInsn(int, java.lang.String, java.lang.String, java.lang.String). -
visitMethodInsn
已过时。Method instruction. SeeMethodVisitor.visitMethodInsn(int, java.lang.String, java.lang.String, java.lang.String). -
visitMethodInsn
Method instruction. SeeMethodVisitor.visitMethodInsn(int, java.lang.String, java.lang.String, java.lang.String). -
visitInvokeDynamicInsn
-
visitJumpInsn
Method instruction. SeeMethodVisitor.visitJumpInsn(int, org.beetl.ow2.asm.Label). -
visitLabel
Method label. SeeMethodVisitor.visitLabel(org.beetl.ow2.asm.Label). -
visitLdcInsn
Method instruction. SeeMethodVisitor.visitLdcInsn(java.lang.Object). -
visitIincInsn
public abstract void visitIincInsn(int var, int increment) Method instruction. SeeMethodVisitor.visitIincInsn(int, int). -
visitTableSwitchInsn
Method instruction. SeeMethodVisitor.visitTableSwitchInsn(int, int, org.beetl.ow2.asm.Label, org.beetl.ow2.asm.Label...). -
visitLookupSwitchInsn
Method instruction. SeeMethodVisitor.visitLookupSwitchInsn(org.beetl.ow2.asm.Label, int[], org.beetl.ow2.asm.Label[]). -
visitMultiANewArrayInsn
Method instruction. SeeMethodVisitor.visitMultiANewArrayInsn(java.lang.String, int). -
visitInsnAnnotation
Instruction type annotation. SeeMethodVisitor.visitInsnAnnotation(int, org.beetl.ow2.asm.TypePath, java.lang.String, boolean). -
visitTryCatchBlock
-
visitTryCatchAnnotation
public Printer visitTryCatchAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) Try catch block type annotation. SeeMethodVisitor.visitTryCatchAnnotation(int, org.beetl.ow2.asm.TypePath, java.lang.String, boolean). -
visitLocalVariable
-
visitLocalVariableAnnotation
public Printer visitLocalVariableAnnotation(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, String desc, boolean visible) Local variable type annotation. SeeMethodVisitor.visitTryCatchAnnotation(int, org.beetl.ow2.asm.TypePath, java.lang.String, boolean). -
visitLineNumber
Method debug info. SeeMethodVisitor.visitLineNumber(int, org.beetl.ow2.asm.Label). -
visitMaxs
public abstract void visitMaxs(int maxStack, int maxLocals) Method max stack and max locals. SeeMethodVisitor.visitMaxs(int, int). -
visitMethodEnd
public abstract void visitMethodEnd()Method end. SeeMethodVisitor.visitEnd(). -
getText
Returns the text constructed by this visitor.- 返回:
- the text constructed by this visitor.
-
print
Prints the text constructed by this visitor.- 参数:
pw- the print writer to be used.
-
appendString
Appends a quoted string to a given buffer.- 参数:
buf- the buffer where the string must be added.s- the string to be added.
-