org.codehaus.groovy.classgen.asm.util

## Class LoggableTextifier

- java.lang.Object
- - org.objectweb.asm.util.Printer
  - - org.objectweb.asm.util.Textifier
    - - org.codehaus.groovy.classgen.asm.util.LoggableTextifier

-     public class LoggableTextifier
      extends org.objectweb.asm.util.Textifier

  Logging bytecode generation, which can make debugging easy
  Since:
    2.5.0

- - ### Field Summary

    - ### Fields inherited from class org.objectweb.asm.util.Textifier

      `CLASS_DECLARATION, CLASS_SIGNATURE, FIELD_DESCRIPTOR, FIELD_SIGNATURE, HANDLE_DESCRIPTOR, INTERNAL_NAME, labelNames, ltab, METHOD_DESCRIPTOR, METHOD_SIGNATURE, PARAMETERS_DECLARATION, tab, tab2, tab3, TYPE_DECLARATION`

    - ### Fields inherited from class org.objectweb.asm.util.Printer

      `api, buf, HANDLE_TAG, OPCODES, stringBuilder, text, TYPES`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LoggableTextifier()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected org.objectweb.asm.util.Textifier` | `createTextifier()`
    `protected void` | `log()`
    `void` | `visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)`
    `void` | `visit(java.lang.String name, java.lang.Object value)`
    `org.objectweb.asm.util.Textifier` | `visitAnnotation(java.lang.String desc, boolean visible)`
    `org.objectweb.asm.util.Textifier` | `visitAnnotation(java.lang.String name, java.lang.String desc)`
    `org.objectweb.asm.util.Textifier` | `visitAnnotationDefault()`
    `void` | `visitAnnotationEnd()`
    `org.objectweb.asm.util.Textifier` | `visitArray(java.lang.String name)`
    `void` | `visitAttribute(org.objectweb.asm.Attribute attr)`
    `org.objectweb.asm.util.Textifier` | `visitClassAnnotation(java.lang.String desc, boolean visible)`
    `void` | `visitClassAttribute(org.objectweb.asm.Attribute attr)`
    `void` | `visitClassEnd()`
    `org.objectweb.asm.util.Printer` | `visitClassTypeAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, java.lang.String desc, boolean visible)`
    `void` | `visitCode()`
    `void` | `visitEnum(java.lang.String name, java.lang.String desc, java.lang.String value)`
    `void` | `visitExport(java.lang.String export, int access, java.lang.String... modules)`
    `org.objectweb.asm.util.Textifier` | `visitField(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)`
    `org.objectweb.asm.util.Textifier` | `visitFieldAnnotation(java.lang.String desc, boolean visible)`
    `void` | `visitFieldAttribute(org.objectweb.asm.Attribute attr)`
    `void` | `visitFieldEnd()`
    `void` | `visitFieldInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)`
    `org.objectweb.asm.util.Printer` | `visitFieldTypeAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, java.lang.String desc, boolean visible)`
    `void` | `visitFrame(int type, int nLocal, java.lang.Object[] local, int nStack, java.lang.Object[] stack)`
    `void` | `visitIincInsn(int var, int increment)`
    `void` | `visitInnerClass(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int access)`
    `void` | `visitInsn(int opcode)`
    `org.objectweb.asm.util.Printer` | `visitInsnAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, java.lang.String desc, boolean visible)`
    `void` | `visitIntInsn(int opcode, int operand)`
    `void` | `visitInvokeDynamicInsn(java.lang.String name, java.lang.String desc, org.objectweb.asm.Handle bsm, java.lang.Object... bsmArgs)`
    `void` | `visitJumpInsn(int opcode, org.objectweb.asm.Label label)`
    `void` | `visitLabel(org.objectweb.asm.Label label)`
    `void` | `visitLdcInsn(java.lang.Object cst)`
    `void` | `visitLineNumber(int line, org.objectweb.asm.Label start)`
    `void` | `visitLocalVariable(java.lang.String name, java.lang.String desc, java.lang.String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index)`
    `org.objectweb.asm.util.Printer` | `visitLocalVariableAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, org.objectweb.asm.Label[] start, org.objectweb.asm.Label[] end, int[] index, java.lang.String desc, boolean visible)`
    `void` | `visitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels)`
    `void` | `visitMaxs(int maxStack, int maxLocals)`
    `org.objectweb.asm.util.Textifier` | `visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)`
    `org.objectweb.asm.util.Textifier` | `visitMethodAnnotation(java.lang.String desc, boolean visible)`
    `void` | `visitMethodAttribute(org.objectweb.asm.Attribute attr)`
    `void` | `visitMethodEnd()`
    `void` | `visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)`
    `void` | `visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc, boolean itf)`
    `org.objectweb.asm.util.Printer` | `visitMethodTypeAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, java.lang.String desc, boolean visible)`
    `org.objectweb.asm.util.Printer` | `visitModule(java.lang.String name, int access, java.lang.String version)`
    `void` | `visitModuleEnd()`
    `void` | `visitMultiANewArrayInsn(java.lang.String desc, int dims)`
    `void` | `visitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String desc)`
    `void` | `visitParameter(java.lang.String name, int access)`
    `org.objectweb.asm.util.Textifier` | `visitParameterAnnotation(int parameter, java.lang.String desc, boolean visible)`
    `void` | `visitProvide(java.lang.String provide, java.lang.String... providers)`
    `void` | `visitRequire(java.lang.String require, int access, java.lang.String version)`
    `void` | `visitSource(java.lang.String file, java.lang.String debug)`
    `void` | `visitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label... labels)`
    `org.objectweb.asm.util.Printer` | `visitTryCatchAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, java.lang.String desc, boolean visible)`
    `void` | `visitTryCatchBlock(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, java.lang.String type)`
    `org.objectweb.asm.util.Textifier` | `visitTypeAnnotation(int typeRef, org.objectweb.asm.TypePath typePath, java.lang.String desc, boolean visible)`
    `void` | `visitTypeInsn(int opcode, java.lang.String type)`
    `void` | `visitUse(java.lang.String use)`
    `void` | `visitVarInsn(int opcode, int var)`

    - ### Methods inherited from class org.objectweb.asm.util.Textifier

      `appendDescriptor, appendHandle, appendLabel, main, visitAnnotableParameterCount, visitMainClass, visitNestHostExperimental, visitNestMemberExperimental, visitOpen, visitPackage`

    - ### Methods inherited from class org.objectweb.asm.util.Printer

      `appendString, appendString, getText, print`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### LoggableTextifier

          public LoggableTextifier()

  - ### Method Detail

    - #### createTextifier

          protected org.objectweb.asm.util.Textifier createTextifier()

      Overrides:
        `createTextifier` in class `org.objectweb.asm.util.Textifier`

    - #### log

          protected void log()

    - #### visit

          public void visit(int version,
                            int access,
                            java.lang.String name,
                            java.lang.String signature,
                            java.lang.String superName,
                            java.lang.String[] interfaces)

      Overrides:
        `visit` in class `org.objectweb.asm.util.Textifier`

    - #### visitSource

          public void visitSource(java.lang.String file,
                                  java.lang.String debug)

      Overrides:
        `visitSource` in class `org.objectweb.asm.util.Textifier`

    - #### visitModule

          public org.objectweb.asm.util.Printer visitModule(java.lang.String name,
                                                            int access,
                                                            java.lang.String version)

      Overrides:
        `visitModule` in class `org.objectweb.asm.util.Textifier`

    - #### visitOuterClass

          public void visitOuterClass(java.lang.String owner,
                                      java.lang.String name,
                                      java.lang.String desc)

      Overrides:
        `visitOuterClass` in class `org.objectweb.asm.util.Textifier`

    - #### visitClassAnnotation

          public org.objectweb.asm.util.Textifier visitClassAnnotation(java.lang.String desc,
                                                                       boolean visible)

      Overrides:
        `visitClassAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitClassTypeAnnotation

          public org.objectweb.asm.util.Printer visitClassTypeAnnotation(int typeRef,
                                                                         org.objectweb.asm.TypePath typePath,
                                                                         java.lang.String desc,
                                                                         boolean visible)

      Overrides:
        `visitClassTypeAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitClassAttribute

          public void visitClassAttribute(org.objectweb.asm.Attribute attr)

      Overrides:
        `visitClassAttribute` in class `org.objectweb.asm.util.Textifier`

    - #### visitInnerClass

          public void visitInnerClass(java.lang.String name,
                                      java.lang.String outerName,
                                      java.lang.String innerName,
                                      int access)

      Overrides:
        `visitInnerClass` in class `org.objectweb.asm.util.Textifier`

    - #### visitField

          public org.objectweb.asm.util.Textifier visitField(int access,
                                                             java.lang.String name,
                                                             java.lang.String desc,
                                                             java.lang.String signature,
                                                             java.lang.Object value)

      Overrides:
        `visitField` in class `org.objectweb.asm.util.Textifier`

    - #### visitMethod

          public org.objectweb.asm.util.Textifier visitMethod(int access,
                                                              java.lang.String name,
                                                              java.lang.String desc,
                                                              java.lang.String signature,
                                                              java.lang.String[] exceptions)

      Overrides:
        `visitMethod` in class `org.objectweb.asm.util.Textifier`

    - #### visitClassEnd

          public void visitClassEnd()

      Overrides:
        `visitClassEnd` in class `org.objectweb.asm.util.Textifier`

    - #### visitRequire

          public void visitRequire(java.lang.String require,
                                   int access,
                                   java.lang.String version)

      Overrides:
        `visitRequire` in class `org.objectweb.asm.util.Textifier`

    - #### visitExport

          public void visitExport(java.lang.String export,
                                  int access,
                                  java.lang.String... modules)

      Overrides:
        `visitExport` in class `org.objectweb.asm.util.Textifier`

    - #### visitUse

          public void visitUse(java.lang.String use)

      Overrides:
        `visitUse` in class `org.objectweb.asm.util.Textifier`

    - #### visitProvide

          public void visitProvide(java.lang.String provide,
                                   java.lang.String... providers)

      Overrides:
        `visitProvide` in class `org.objectweb.asm.util.Textifier`

    - #### visitModuleEnd

          public void visitModuleEnd()

      Overrides:
        `visitModuleEnd` in class `org.objectweb.asm.util.Textifier`

    - #### visit

          public void visit(java.lang.String name,
                            java.lang.Object value)

      Overrides:
        `visit` in class `org.objectweb.asm.util.Textifier`

    - #### visitEnum

          public void visitEnum(java.lang.String name,
                                java.lang.String desc,
                                java.lang.String value)

      Overrides:
        `visitEnum` in class `org.objectweb.asm.util.Textifier`

    - #### visitAnnotation

          public org.objectweb.asm.util.Textifier visitAnnotation(java.lang.String name,
                                                                  java.lang.String desc)

      Overrides:
        `visitAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitArray

          public org.objectweb.asm.util.Textifier visitArray(java.lang.String name)

      Overrides:
        `visitArray` in class `org.objectweb.asm.util.Textifier`

    - #### visitAnnotationEnd

          public void visitAnnotationEnd()

      Overrides:
        `visitAnnotationEnd` in class `org.objectweb.asm.util.Textifier`

    - #### visitFieldAnnotation

          public org.objectweb.asm.util.Textifier visitFieldAnnotation(java.lang.String desc,
                                                                       boolean visible)

      Overrides:
        `visitFieldAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitFieldTypeAnnotation

          public org.objectweb.asm.util.Printer visitFieldTypeAnnotation(int typeRef,
                                                                         org.objectweb.asm.TypePath typePath,
                                                                         java.lang.String desc,
                                                                         boolean visible)

      Overrides:
        `visitFieldTypeAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitFieldAttribute

          public void visitFieldAttribute(org.objectweb.asm.Attribute attr)

      Overrides:
        `visitFieldAttribute` in class `org.objectweb.asm.util.Textifier`

    - #### visitFieldEnd

          public void visitFieldEnd()

      Overrides:
        `visitFieldEnd` in class `org.objectweb.asm.util.Textifier`

    - #### visitParameter

          public void visitParameter(java.lang.String name,
                                     int access)

      Overrides:
        `visitParameter` in class `org.objectweb.asm.util.Textifier`

    - #### visitAnnotationDefault

          public org.objectweb.asm.util.Textifier visitAnnotationDefault()

      Overrides:
        `visitAnnotationDefault` in class `org.objectweb.asm.util.Textifier`

    - #### visitMethodAnnotation

          public org.objectweb.asm.util.Textifier visitMethodAnnotation(java.lang.String desc,
                                                                        boolean visible)

      Overrides:
        `visitMethodAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitMethodTypeAnnotation

          public org.objectweb.asm.util.Printer visitMethodTypeAnnotation(int typeRef,
                                                                          org.objectweb.asm.TypePath typePath,
                                                                          java.lang.String desc,
                                                                          boolean visible)

      Overrides:
        `visitMethodTypeAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitParameterAnnotation

          public org.objectweb.asm.util.Textifier visitParameterAnnotation(int parameter,
                                                                           java.lang.String desc,
                                                                           boolean visible)

      Overrides:
        `visitParameterAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitMethodAttribute

          public void visitMethodAttribute(org.objectweb.asm.Attribute attr)

      Overrides:
        `visitMethodAttribute` in class `org.objectweb.asm.util.Textifier`

    - #### visitCode

          public void visitCode()

      Overrides:
        `visitCode` in class `org.objectweb.asm.util.Textifier`

    - #### visitFrame

          public void visitFrame(int type,
                                 int nLocal,
                                 java.lang.Object[] local,
                                 int nStack,
                                 java.lang.Object[] stack)

      Overrides:
        `visitFrame` in class `org.objectweb.asm.util.Textifier`

    - #### visitInsn

          public void visitInsn(int opcode)

      Overrides:
        `visitInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitIntInsn

          public void visitIntInsn(int opcode,
                                   int operand)

      Overrides:
        `visitIntInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitVarInsn

          public void visitVarInsn(int opcode,
                                   int var)

      Overrides:
        `visitVarInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitTypeInsn

          public void visitTypeInsn(int opcode,
                                    java.lang.String type)

      Overrides:
        `visitTypeInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitFieldInsn

          public void visitFieldInsn(int opcode,
                                     java.lang.String owner,
                                     java.lang.String name,
                                     java.lang.String desc)

      Overrides:
        `visitFieldInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitMethodInsn

          public void visitMethodInsn(int opcode,
                                      java.lang.String owner,
                                      java.lang.String name,
                                      java.lang.String desc)

      Overrides:
        `visitMethodInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitMethodInsn

          public void visitMethodInsn(int opcode,
                                      java.lang.String owner,
                                      java.lang.String name,
                                      java.lang.String desc,
                                      boolean itf)

      Overrides:
        `visitMethodInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitInvokeDynamicInsn

          public void visitInvokeDynamicInsn(java.lang.String name,
                                             java.lang.String desc,
                                             org.objectweb.asm.Handle bsm,
                                             java.lang.Object... bsmArgs)

      Overrides:
        `visitInvokeDynamicInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitJumpInsn

          public void visitJumpInsn(int opcode,
                                    org.objectweb.asm.Label label)

      Overrides:
        `visitJumpInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitLabel

          public void visitLabel(org.objectweb.asm.Label label)

      Overrides:
        `visitLabel` in class `org.objectweb.asm.util.Textifier`

    - #### visitLdcInsn

          public void visitLdcInsn(java.lang.Object cst)

      Overrides:
        `visitLdcInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitIincInsn

          public void visitIincInsn(int var,
                                    int increment)

      Overrides:
        `visitIincInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitTableSwitchInsn

          public void visitTableSwitchInsn(int min,
                                           int max,
                                           org.objectweb.asm.Label dflt,
                                           org.objectweb.asm.Label... labels)

      Overrides:
        `visitTableSwitchInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitLookupSwitchInsn

          public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt,
                                            int[] keys,
                                            org.objectweb.asm.Label[] labels)

      Overrides:
        `visitLookupSwitchInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitMultiANewArrayInsn

          public void visitMultiANewArrayInsn(java.lang.String desc,
                                              int dims)

      Overrides:
        `visitMultiANewArrayInsn` in class `org.objectweb.asm.util.Textifier`

    - #### visitInsnAnnotation

          public org.objectweb.asm.util.Printer visitInsnAnnotation(int typeRef,
                                                                    org.objectweb.asm.TypePath typePath,
                                                                    java.lang.String desc,
                                                                    boolean visible)

      Overrides:
        `visitInsnAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitTryCatchBlock

          public void visitTryCatchBlock(org.objectweb.asm.Label start,
                                         org.objectweb.asm.Label end,
                                         org.objectweb.asm.Label handler,
                                         java.lang.String type)

      Overrides:
        `visitTryCatchBlock` in class `org.objectweb.asm.util.Textifier`

    - #### visitTryCatchAnnotation

          public org.objectweb.asm.util.Printer visitTryCatchAnnotation(int typeRef,
                                                                        org.objectweb.asm.TypePath typePath,
                                                                        java.lang.String desc,
                                                                        boolean visible)

      Overrides:
        `visitTryCatchAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitLocalVariable

          public void visitLocalVariable(java.lang.String name,
                                         java.lang.String desc,
                                         java.lang.String signature,
                                         org.objectweb.asm.Label start,
                                         org.objectweb.asm.Label end,
                                         int index)

      Overrides:
        `visitLocalVariable` in class `org.objectweb.asm.util.Textifier`

    - #### visitLocalVariableAnnotation

          public org.objectweb.asm.util.Printer visitLocalVariableAnnotation(int typeRef,
                                                                             org.objectweb.asm.TypePath typePath,
                                                                             org.objectweb.asm.Label[] start,
                                                                             org.objectweb.asm.Label[] end,
                                                                             int[] index,
                                                                             java.lang.String desc,
                                                                             boolean visible)

      Overrides:
        `visitLocalVariableAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitLineNumber

          public void visitLineNumber(int line,
                                      org.objectweb.asm.Label start)

      Overrides:
        `visitLineNumber` in class `org.objectweb.asm.util.Textifier`

    - #### visitMaxs

          public void visitMaxs(int maxStack,
                                int maxLocals)

      Overrides:
        `visitMaxs` in class `org.objectweb.asm.util.Textifier`

    - #### visitMethodEnd

          public void visitMethodEnd()

      Overrides:
        `visitMethodEnd` in class `org.objectweb.asm.util.Textifier`

    - #### visitAnnotation

          public org.objectweb.asm.util.Textifier visitAnnotation(java.lang.String desc,
                                                                  boolean visible)

      Overrides:
        `visitAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitTypeAnnotation

          public org.objectweb.asm.util.Textifier visitTypeAnnotation(int typeRef,
                                                                      org.objectweb.asm.TypePath typePath,
                                                                      java.lang.String desc,
                                                                      boolean visible)

      Overrides:
        `visitTypeAnnotation` in class `org.objectweb.asm.util.Textifier`

    - #### visitAttribute

          public void visitAttribute(org.objectweb.asm.Attribute attr)

      Overrides:
        `visitAttribute` in class `org.objectweb.asm.util.Textifier`