Class Printer

  • Direct Known Subclasses:
    ASMifier, Textifier

    public abstract class Printer
    extends java.lang.Object
    An abstract converter from visit events to text.
    Author:
    Eric Bruneton
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int api
      The ASM API version implemented by this class.
      protected java.lang.StringBuffer buf
      A buffer that can be used to create strings.
      static java.lang.String[] HANDLE_TAG
      The names of the tag field values for Handle.
      static java.lang.String[] OPCODES
      The names of the Java Virtual Machine opcodes.
      java.util.List<java.lang.Object> text
      The text to be printed.
      static java.lang.String[] TYPES
      The names of the for operand parameter values of the MethodVisitor.visitIntInsn(int, int) method when opcode is NEWARRAY.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected Printer​(int api)
      Constructs a new Printer.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static void appendString​(java.lang.StringBuffer buf, java.lang.String s)
      Appends a quoted string to a given buffer.
      java.util.List<java.lang.Object> getText()
      Returns the text constructed by this visitor.
      void print​(java.io.PrintWriter pw)
      Prints the text constructed by this visitor.
      abstract void visit​(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
      Class header.
      abstract void visit​(java.lang.String name, java.lang.Object value)
      Annotation value.
      abstract Printer visitAnnotation​(java.lang.String name, java.lang.String desc)
      Nested annotation value.
      abstract Printer visitAnnotationDefault()
      Method default annotation.
      abstract void visitAnnotationEnd()
      Annotation end.
      abstract Printer visitArray​(java.lang.String name)
      Annotation array value.
      abstract Printer visitClassAnnotation​(java.lang.String desc, boolean visible)
      Class annotation.
      abstract void visitClassAttribute​(Attribute attr)
      Class attribute.
      abstract void visitClassEnd()
      Class end.
      Printer visitClassTypeAnnotation​(int typeRef, TypePath typePath, java.lang.String desc, boolean visible)
      Class type annotation.
      abstract void visitCode()
      Method start.
      abstract void visitEnum​(java.lang.String name, java.lang.String desc, java.lang.String value)
      Annotation enum value.
      abstract Printer visitField​(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)
      Class field.
      abstract Printer visitFieldAnnotation​(java.lang.String desc, boolean visible)
      Field annotation.
      abstract void visitFieldAttribute​(Attribute attr)
      Field attribute.
      abstract void visitFieldEnd()
      Field end.
      abstract void visitFieldInsn​(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
      Method instruction.
      Printer visitFieldTypeAnnotation​(int typeRef, TypePath typePath, java.lang.String desc, boolean visible)
      Field type annotation.
      abstract void visitFrame​(int type, int nLocal, java.lang.Object[] local, int nStack, java.lang.Object[] stack)
      Method stack frame.
      abstract void visitIincInsn​(int var, int increment)
      Method instruction.
      abstract void visitInnerClass​(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int access)
      Class inner name.
      abstract void visitInsn​(int opcode)
      Method instruction.
      Printer visitInsnAnnotation​(int typeRef, TypePath typePath, java.lang.String desc, boolean visible)
      Instruction type annotation.
      abstract void visitIntInsn​(int opcode, int operand)
      Method instruction.
      abstract void visitInvokeDynamicInsn​(java.lang.String name, java.lang.String desc, Handle bsm, java.lang.Object... bsmArgs)
      Method instruction.
      abstract void visitJumpInsn​(int opcode, Label label)
      Method instruction.
      abstract void visitLabel​(Label label)
      Method label.
      abstract void visitLdcInsn​(java.lang.Object cst)
      Method instruction.
      abstract void visitLineNumber​(int line, Label start)
      Method debug info.
      abstract void visitLocalVariable​(java.lang.String name, java.lang.String desc, java.lang.String signature, Label start, Label end, int index)
      Method debug info.
      Printer visitLocalVariableAnnotation​(int typeRef, TypePath typePath, Label[] start, Label[] end, int[] index, java.lang.String desc, boolean visible)
      Local variable type annotation.
      abstract void visitLookupSwitchInsn​(Label dflt, int[] keys, Label[] labels)
      Method instruction.
      abstract void visitMaxs​(int maxStack, int maxLocals)
      Method max stack and max locals.
      abstract Printer visitMethod​(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
      Class method.
      abstract Printer visitMethodAnnotation​(java.lang.String desc, boolean visible)
      Method annotation.
      abstract void visitMethodAttribute​(Attribute attr)
      Method attribute.
      abstract void visitMethodEnd()
      Method end.
      void visitMethodInsn​(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
      Deprecated.
      void visitMethodInsn​(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc, boolean itf)
      Method instruction.
      Printer visitMethodTypeAnnotation​(int typeRef, TypePath typePath, java.lang.String desc, boolean visible)
      Method type annotation.
      abstract void visitMultiANewArrayInsn​(java.lang.String desc, int dims)
      Method instruction.
      abstract void visitOuterClass​(java.lang.String owner, java.lang.String name, java.lang.String desc)
      Class outer class.
      void visitParameter​(java.lang.String name, int access)
      Method parameter.
      abstract Printer visitParameterAnnotation​(int parameter, java.lang.String desc, boolean visible)
      Method parameter annotation.
      abstract void visitSource​(java.lang.String file, java.lang.String debug)
      Class source.
      abstract void visitTableSwitchInsn​(int min, int max, Label dflt, Label... labels)
      Method instruction.
      Printer visitTryCatchAnnotation​(int typeRef, TypePath typePath, java.lang.String desc, boolean visible)
      Try catch block type annotation.
      abstract void visitTryCatchBlock​(Label start, Label end, Label handler, java.lang.String type)
      Method exception handler.
      abstract void visitTypeInsn​(int opcode, java.lang.String type)
      Method instruction.
      abstract void visitVarInsn​(int opcode, int var)
      Method instruction.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait