Package 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_SIGNATURE, FIELD_DESCRIPTOR, FIELD_SIGNATURE, HANDLE_DESCRIPTOR, INTERNAL_NAME, labelNames, ltab, METHOD_DESCRIPTOR, METHOD_SIGNATURE, tab, tab2, tab3`

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

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

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `LoggableTextifier()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | 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, visitNestHost, visitNestMember, visitOpen, visitPackage, visitPermittedSubclass, visitRecordComponent, visitRecordComponentAnnotation, visitRecordComponentAttribute, visitRecordComponentEnd, visitRecordComponentTypeAnnotation`

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

      `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.Printer`

    - #### 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`