public class org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer extends org.glassfish.pfl.tf.tools.enhancer.TFEnhanceAdapter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer
  super_class: org.glassfish.pfl.tf.tools.enhancer.TFEnhanceAdapter
{
  private final org.glassfish.pfl.tf.spi.Util util;
    descriptor: Lorg/glassfish/pfl/tf/spi/Util;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.glassfish.pfl.tf.spi.EnhancedClassData ecd;
    descriptor: Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean hasStaticInitializer;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$org$glassfish$pfl$tf$spi$EnhancedClassData$MethodType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>(org.glassfish.pfl.tf.spi.Util, org.glassfish.pfl.tf.spi.EnhancedClassData, org.glassfish.pfl.objectweb.asm.ClassVisitor);
    descriptor: (Lorg/glassfish/pfl/tf/spi/Util;Lorg/glassfish/pfl/tf/spi/EnhancedClassData;Lorg/glassfish/pfl/objectweb/asm/ClassVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer this
        start local 1 // org.glassfish.pfl.tf.spi.Util util
        start local 2 // org.glassfish.pfl.tf.spi.EnhancedClassData ecd
        start local 3 // org.glassfish.pfl.objectweb.asm.ClassVisitor cv
         0: .line 34
            aload 0 /* this */
            aload 3 /* cv */
            getstatic org.glassfish.pfl.tf.spi.annotation.TraceEnhanceLevel.NONE:Lorg/glassfish/pfl/tf/spi/annotation/TraceEnhanceLevel;
            getstatic org.glassfish.pfl.tf.spi.annotation.TraceEnhanceLevel.PHASE1:Lorg/glassfish/pfl/tf/spi/annotation/TraceEnhanceLevel;
            aload 2 /* ecd */
            invokespecial org.glassfish.pfl.tf.tools.enhancer.TFEnhanceAdapter.<init>:(Lorg/glassfish/pfl/objectweb/asm/ClassVisitor;Lorg/glassfish/pfl/tf/spi/annotation/TraceEnhanceLevel;Lorg/glassfish/pfl/tf/spi/annotation/TraceEnhanceLevel;Lorg/glassfish/pfl/tf/spi/EnhancedClassData;)V
         1: .line 29
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.hasStaticInitializer:Z
         2: .line 35
            aload 0 /* this */
            aload 1 /* util */
            putfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
         3: .line 36
            aload 0 /* this */
            aload 2 /* ecd */
            putfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
         4: .line 37
            return
        end local 3 // org.glassfish.pfl.objectweb.asm.ClassVisitor cv
        end local 2 // org.glassfish.pfl.tf.spi.EnhancedClassData ecd
        end local 1 // org.glassfish.pfl.tf.spi.Util util
        end local 0 // org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/glassfish/pfl/tf/tools/enhancer/ClassEnhancer;
            0    5     1  util  Lorg/glassfish/pfl/tf/spi/Util;
            0    5     2   ecd  Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
            0    5     3    cv  Lorg/glassfish/pfl/objectweb/asm/ClassVisitor;
    MethodParameters:
      Name  Flags
      util  
      ecd   
      cv    

  private void info(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer this
        start local 1 // int level
        start local 2 // java.lang.String msg
         0: .line 40
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            iload 1 /* level */
            new java.lang.StringBuilder
            dup
            ldc "ClassEnhancer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.glassfish.pfl.tf.spi.Util.info:(ILjava/lang/String;)V
         1: .line 41
            return
        end local 2 // java.lang.String msg
        end local 1 // int level
        end local 0 // org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/glassfish/pfl/tf/tools/enhancer/ClassEnhancer;
            0    2     1  level  I
            0    2     2    msg  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      level  
      msg    

  public void visitEnd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer this
         0: .line 45
            aload 0 /* this */
            iconst_2
            ldc "visitEnd"
            invokevirtual org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.info:(ILjava/lang/String;)V
         1: .line 48
            ldc Lorg/glassfish/pfl/basic/contain/SynchronizedHolder;
         2: .line 47
            invokestatic org.glassfish.pfl.objectweb.asm.Type.getDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
            astore 1 /* desc */
        start local 1 // java.lang.String desc
         3: .line 55
            aconst_null
            astore 2 /* sig */
        start local 2 // java.lang.String sig
         4: .line 57
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
            invokeinterface org.glassfish.pfl.tf.spi.EnhancedClassData.getAnnotationToHolderName:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer java.lang.String java.lang.String top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* fname */
        start local 3 // java.lang.String fname
         6: .line 58
            aload 0 /* this */
            iconst_2
            new java.lang.StringBuilder
            dup
            ldc "Adding field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* fname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " of type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.info:(ILjava/lang/String;)V
         7: .line 59
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.cv:Lorg/glassfish/pfl/objectweb/asm/ClassVisitor;
            bipush 10
            aload 3 /* fname */
            aload 1 /* desc */
            aload 2 /* sig */
            aconst_null
            invokeinterface org.glassfish.pfl.objectweb.asm.ClassVisitor.visitField:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/glassfish/pfl/objectweb/asm/FieldVisitor;
            pop
        end local 3 // java.lang.String fname
         8: .line 57
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 62
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.hasStaticInitializer:Z
            ifne 24
        10: .line 63
            aload 0 /* this */
            iconst_2
            ldc "creating static init"
            invokevirtual org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.info:(ILjava/lang/String;)V
        11: .line 64
            bipush 10
            istore 3 /* siacc */
        start local 3 // int siacc
        12: .line 65
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.cv:Lorg/glassfish/pfl/objectweb/asm/ClassVisitor;
            iload 3 /* siacc */
            ldc "<clinit>"
            ldc "()V"
        13: .line 66
            aconst_null
            aconst_null
        14: .line 65
            invokeinterface org.glassfish.pfl.objectweb.asm.ClassVisitor.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;
            astore 4 /* mv */
        start local 4 // org.glassfish.pfl.objectweb.asm.MethodVisitor mv
        15: .line 67
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            invokevirtual org.glassfish.pfl.tf.spi.Util.getDebug:()Z
            ifeq 17
        16: .line 68
            new org.glassfish.pfl.tf.tools.enhancer.SimpleMethodTracer
            dup
            aload 4 /* mv */
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            invokespecial org.glassfish.pfl.tf.tools.enhancer.SimpleMethodTracer.<init>:(Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;Lorg/glassfish/pfl/tf/spi/Util;)V
            astore 4 /* mv */
        17: .line 70
      StackMap locals: org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer java.lang.String java.lang.String int org.glassfish.pfl.objectweb.asm.MethodVisitor
      StackMap stack:
            new org.glassfish.pfl.tf.tools.enhancer.StaticInitVisitor
            dup
            iload 3 /* siacc */
            ldc "()V"
            aload 4 /* mv */
        18: .line 71
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
        19: .line 70
            invokespecial org.glassfish.pfl.tf.tools.enhancer.StaticInitVisitor.<init>:(ILjava/lang/String;Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;Lorg/glassfish/pfl/tf/spi/Util;Lorg/glassfish/pfl/tf/spi/EnhancedClassData;)V
            astore 5 /* ma */
        start local 5 // org.glassfish.pfl.objectweb.asm.MethodAdapter ma
        20: .line 73
            aload 5 /* ma */
            invokevirtual org.glassfish.pfl.objectweb.asm.MethodAdapter.visitCode:()V
        21: .line 74
            aload 5 /* ma */
            sipush 177
            invokevirtual org.glassfish.pfl.objectweb.asm.MethodAdapter.visitInsn:(I)V
        22: .line 76
            aload 5 /* ma */
            iconst_0
            iconst_0
            invokevirtual org.glassfish.pfl.objectweb.asm.MethodAdapter.visitMaxs:(II)V
        23: .line 77
            aload 5 /* ma */
            invokevirtual org.glassfish.pfl.objectweb.asm.MethodAdapter.visitEnd:()V
        end local 5 // org.glassfish.pfl.objectweb.asm.MethodAdapter ma
        end local 4 // org.glassfish.pfl.objectweb.asm.MethodVisitor mv
        end local 3 // int siacc
        24: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.glassfish.pfl.tf.tools.enhancer.TFEnhanceAdapter.visitEnd:()V
        25: .line 82
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
            invokeinterface org.glassfish.pfl.tf.spi.EnhancedClassData.updateInfoDesc:()V
        26: .line 83
            return
        end local 2 // java.lang.String sig
        end local 1 // java.lang.String desc
        end local 0 // org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   27     0   this  Lorg/glassfish/pfl/tf/tools/enhancer/ClassEnhancer;
            3   27     1   desc  Ljava/lang/String;
            4   27     2    sig  Ljava/lang/String;
            6    8     3  fname  Ljava/lang/String;
           12   24     3  siacc  I
           15   24     4     mv  Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;
           20   24     5     ma  Lorg/glassfish/pfl/objectweb/asm/MethodAdapter;

  public org.glassfish.pfl.objectweb.asm.MethodVisitor visitMethod(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]);
    descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=6
        start local 0 // org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer this
        start local 1 // int access
        start local 2 // java.lang.String name
        start local 3 // java.lang.String desc
        start local 4 // java.lang.String sig
        start local 5 // java.lang.String[] exceptions
         0: .line 226
            aload 0 /* this */
            iconst_2
            new java.lang.StringBuilder
            dup
            ldc "visitMethod "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.info:(ILjava/lang/String;)V
         1: .line 235
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            aload 2 /* name */
            aload 3 /* desc */
            invokevirtual org.glassfish.pfl.tf.spi.Util.getFullMethodDescriptor:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* fullDesc */
        start local 6 // java.lang.String fullDesc
         2: .line 237
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
            aload 6 /* fullDesc */
            invokeinterface org.glassfish.pfl.tf.spi.EnhancedClassData.classifyMethod:(Ljava/lang/String;)Lorg/glassfish/pfl/tf/spi/EnhancedClassData$MethodType;
         3: .line 236
            astore 7 /* mtype */
        start local 7 // org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType mtype
         4: .line 241
            invokestatic org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.$SWITCH_TABLE$org$glassfish$pfl$tf$spi$EnhancedClassData$MethodType:()[I
            aload 7 /* mtype */
            invokevirtual org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 5
                    2: 14
                    3: 27
                    4: 21
              default: 33
          }
         5: .line 243
      StackMap locals: java.lang.String org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType
      StackMap stack:
            aload 0 /* this */
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
         6: .line 244
            aload 4 /* sig */
            aload 5 /* exceptions */
         7: .line 243
            invokespecial org.glassfish.pfl.tf.tools.enhancer.TFEnhanceAdapter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;
            astore 8 /* mv */
        start local 8 // org.glassfish.pfl.objectweb.asm.MethodVisitor mv
         8: .line 245
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            invokevirtual org.glassfish.pfl.tf.spi.Util.getDebug:()Z
            ifeq 10
         9: .line 246
            new org.glassfish.pfl.tf.tools.enhancer.SimpleMethodTracer
            dup
            aload 8 /* mv */
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            invokespecial org.glassfish.pfl.tf.tools.enhancer.SimpleMethodTracer.<init>:(Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;Lorg/glassfish/pfl/tf/spi/Util;)V
            astore 8 /* mv */
        10: .line 248
      StackMap locals: org.glassfish.pfl.objectweb.asm.MethodVisitor
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.hasStaticInitializer:Z
        11: .line 249
            new org.glassfish.pfl.tf.tools.enhancer.StaticInitVisitor
            dup
            iload 1 /* access */
            aload 3 /* desc */
            aload 8 /* mv */
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
        12: .line 250
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
        13: .line 249
            invokespecial org.glassfish.pfl.tf.tools.enhancer.StaticInitVisitor.<init>:(ILjava/lang/String;Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;Lorg/glassfish/pfl/tf/spi/Util;Lorg/glassfish/pfl/tf/spi/EnhancedClassData;)V
            areturn
        end local 8 // org.glassfish.pfl.objectweb.asm.MethodVisitor mv
        14: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            aload 3 /* desc */
            invokevirtual org.glassfish.pfl.tf.spi.Util.augmentInfoMethodDescriptor:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* newDesc */
        start local 9 // java.lang.String newDesc
        15: .line 254
            aload 0 /* this */
            iload 1 /* access */
            aload 2 /* name */
            aload 9 /* newDesc */
        16: .line 255
            aload 4 /* sig */
            aload 5 /* exceptions */
        17: .line 254
            invokespecial org.glassfish.pfl.tf.tools.enhancer.TFEnhanceAdapter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;
            astore 8 /* mv */
        start local 8 // org.glassfish.pfl.objectweb.asm.MethodVisitor mv
        18: .line 256
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            invokevirtual org.glassfish.pfl.tf.spi.Util.getDebug:()Z
            ifeq 20
        19: .line 257
            new org.glassfish.pfl.tf.tools.enhancer.SimpleMethodTracer
            dup
            aload 8 /* mv */
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            invokespecial org.glassfish.pfl.tf.tools.enhancer.SimpleMethodTracer.<init>:(Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;Lorg/glassfish/pfl/tf/spi/Util;)V
            astore 8 /* mv */
        20: .line 259
      StackMap locals: org.glassfish.pfl.objectweb.asm.MethodVisitor java.lang.String
      StackMap stack:
            new org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer$InfoMethodRewriter
            dup
            aload 0 /* this */
            aload 8 /* mv */
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
            invokespecial org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer$InfoMethodRewriter.<init>:(Lorg/glassfish/pfl/tf/tools/enhancer/ClassEnhancer;Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;ILjava/lang/String;Ljava/lang/String;)V
            areturn
        end local 9 // java.lang.String newDesc
        end local 8 // org.glassfish.pfl.objectweb.asm.MethodVisitor mv
        21: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
        22: .line 263
            aload 4 /* sig */
            aload 5 /* exceptions */
        23: .line 262
            invokespecial org.glassfish.pfl.tf.tools.enhancer.TFEnhanceAdapter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;
            astore 8 /* mv */
        start local 8 // org.glassfish.pfl.objectweb.asm.MethodVisitor mv
        24: .line 264
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            invokevirtual org.glassfish.pfl.tf.spi.Util.getDebug:()Z
            ifeq 26
        25: .line 265
            new org.glassfish.pfl.tf.tools.enhancer.SimpleMethodTracer
            dup
            aload 8 /* mv */
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            invokespecial org.glassfish.pfl.tf.tools.enhancer.SimpleMethodTracer.<init>:(Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;Lorg/glassfish/pfl/tf/spi/Util;)V
            astore 8 /* mv */
        26: .line 267
      StackMap locals: org.glassfish.pfl.objectweb.asm.MethodVisitor
      StackMap stack:
            new org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer$InfoMethodCallRewriter
            dup
            aload 0 /* this */
            aload 8 /* mv */
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
            invokespecial org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer$InfoMethodCallRewriter.<init>:(Lorg/glassfish/pfl/tf/tools/enhancer/ClassEnhancer;Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;ILjava/lang/String;Ljava/lang/String;)V
            areturn
        end local 8 // org.glassfish.pfl.objectweb.asm.MethodVisitor mv
        27: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
        28: .line 271
            aload 4 /* sig */
            aload 5 /* exceptions */
        29: .line 270
            invokespecial org.glassfish.pfl.tf.tools.enhancer.TFEnhanceAdapter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;
            astore 8 /* mv */
        start local 8 // org.glassfish.pfl.objectweb.asm.MethodVisitor mv
        30: .line 272
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            invokevirtual org.glassfish.pfl.tf.spi.Util.getDebug:()Z
            ifeq 32
        31: .line 273
            new org.glassfish.pfl.tf.tools.enhancer.SimpleMethodTracer
            dup
            aload 8 /* mv */
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.util:Lorg/glassfish/pfl/tf/spi/Util;
            invokespecial org.glassfish.pfl.tf.tools.enhancer.SimpleMethodTracer.<init>:(Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;Lorg/glassfish/pfl/tf/spi/Util;)V
            astore 8 /* mv */
        32: .line 275
      StackMap locals: org.glassfish.pfl.objectweb.asm.MethodVisitor
      StackMap stack:
            new org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer$NormalMethodChecker
            dup
            aload 0 /* this */
            aload 8 /* mv */
            iload 1 /* access */
            aload 2 /* name */
            aload 3 /* desc */
            invokespecial org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer$NormalMethodChecker.<init>:(Lorg/glassfish/pfl/tf/tools/enhancer/ClassEnhancer;Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;ILjava/lang/String;Ljava/lang/String;)V
            areturn
        end local 8 // org.glassfish.pfl.objectweb.asm.MethodVisitor mv
        33: .line 278
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 7 // org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType mtype
        end local 6 // java.lang.String fullDesc
        end local 5 // java.lang.String[] exceptions
        end local 4 // java.lang.String sig
        end local 3 // java.lang.String desc
        end local 2 // java.lang.String name
        end local 1 // int access
        end local 0 // org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   34     0        this  Lorg/glassfish/pfl/tf/tools/enhancer/ClassEnhancer;
            0   34     1      access  I
            0   34     2        name  Ljava/lang/String;
            0   34     3        desc  Ljava/lang/String;
            0   34     4         sig  Ljava/lang/String;
            0   34     5  exceptions  [Ljava/lang/String;
            2   34     6    fullDesc  Ljava/lang/String;
            4   34     7       mtype  Lorg/glassfish/pfl/tf/spi/EnhancedClassData$MethodType;
            8   14     8          mv  Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;
           18   21     8          mv  Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;
           24   27     8          mv  Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;
           30   33     8          mv  Lorg/glassfish/pfl/objectweb/asm/MethodVisitor;
           15   21     9     newDesc  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      access      final
      name        final
      desc        final
      sig         final
      exceptions  final

  static int[] $SWITCH_TABLE$org$glassfish$pfl$tf$spi$EnhancedClassData$MethodType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 26
            getstatic org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.$SWITCH_TABLE$org$glassfish$pfl$tf$spi$EnhancedClassData$MethodType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType.values:()[Lorg/glassfish/pfl/tf/spi/EnhancedClassData$MethodType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType.INFO_METHOD:Lorg/glassfish/pfl/tf/spi/EnhancedClassData$MethodType;
            invokevirtual org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType.MONITORED_METHOD:Lorg/glassfish/pfl/tf/spi/EnhancedClassData$MethodType;
            invokevirtual org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType.ordinal:()I
            iconst_4
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType.NORMAL_METHOD:Lorg/glassfish/pfl/tf/spi/EnhancedClassData$MethodType;
            invokevirtual org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType.STATIC_INITIALIZER:Lorg/glassfish/pfl/tf/spi/EnhancedClassData$MethodType;
            invokevirtual org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType.ordinal:()I
            iconst_1
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer.$SWITCH_TABLE$org$glassfish$pfl$tf$spi$EnhancedClassData$MethodType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "ClassEnhancer.java"
NestMembers:
  org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer$InfoMethodCallRewriter  org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer$InfoMethodRewriter  org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer$NormalMethodChecker
InnerClasses:
  public final MethodType = org.glassfish.pfl.tf.spi.EnhancedClassData$MethodType of org.glassfish.pfl.tf.spi.EnhancedClassData
  public InfoMethodCallRewriter = org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer$InfoMethodCallRewriter of org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer
  public InfoMethodRewriter = org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer$InfoMethodRewriter of org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer
  public NormalMethodChecker = org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer$NormalMethodChecker of org.glassfish.pfl.tf.tools.enhancer.ClassEnhancer