public abstract class net.sf.cglib.transform.AbstractTransformTask extends net.sf.cglib.transform.AbstractProcessTask
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: net.sf.cglib.transform.AbstractTransformTask
  super_class: net.sf.cglib.transform.AbstractProcessTask
{
  private static final int ZIP_MAGIC;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1347093252

  private static final int CLASS_MAGIC;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -889275714

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sf.cglib.transform.AbstractTransformTask this
         0: .line 31
            aload 0 /* this */
            invokespecial net.sf.cglib.transform.AbstractProcessTask.<init>:()V
            return
        end local 0 // net.sf.cglib.transform.AbstractTransformTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/transform/AbstractTransformTask;

  public void setVerbose(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.sf.cglib.transform.AbstractTransformTask this
        start local 1 // boolean verbose
         0: .line 39
            aload 0 /* this */
            iload 1 /* verbose */
            putfield net.sf.cglib.transform.AbstractTransformTask.verbose:Z
         1: .line 40
            return
        end local 1 // boolean verbose
        end local 0 // net.sf.cglib.transform.AbstractTransformTask this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lnet/sf/cglib/transform/AbstractTransformTask;
            0    2     1  verbose  Z
    MethodParameters:
         Name  Flags
      verbose  

  protected abstract net.sf.cglib.transform.ClassTransformer getClassTransformer(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Lnet/sf/cglib/transform/ClassTransformer;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      classInfo  

  protected org.objectweb.asm.Attribute[] attributes();
    descriptor: ()[Lorg/objectweb/asm/Attribute;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sf.cglib.transform.AbstractTransformTask this
         0: .line 54
            aconst_null
            areturn
        end local 0 // net.sf.cglib.transform.AbstractTransformTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/transform/AbstractTransformTask;

  protected void processFile(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // net.sf.cglib.transform.AbstractTransformTask this
        start local 1 // java.io.File file
         0: .line 59
            aload 0 /* this */
            aload 1 /* file */
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.isClassFile:(Ljava/io/File;)Z
            ifeq 3
         1: .line 61
            aload 0 /* this */
            aload 1 /* file */
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.processClassFile:(Ljava/io/File;)V
         2: .line 63
            goto 7
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            aload 1 /* file */
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.isJarFile:(Ljava/io/File;)Z
            ifeq 6
         4: .line 65
            aload 0 /* this */
            aload 1 /* file */
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.processJarFile:(Ljava/io/File;)V
         5: .line 67
            goto 7
         6: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "ignoring "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* file */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.log:(Ljava/lang/String;I)V
         7: .line 72
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.File file
        end local 0 // net.sf.cglib.transform.AbstractTransformTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lnet/sf/cglib/transform/AbstractTransformTask;
            0    8     1  file  Ljava/io/File;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      file  

  private void processClassFile(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // net.sf.cglib.transform.AbstractTransformTask this
        start local 1 // java.io.File file
         0: .line 84
            aload 1 /* file */
            invokestatic net.sf.cglib.transform.AbstractTransformTask.getClassReader:(Ljava/io/File;)Lorg/objectweb/asm/ClassReader;
            astore 2 /* reader */
        start local 2 // org.objectweb.asm.ClassReader reader
         1: .line 85
            aload 2 /* reader */
            invokestatic net.sf.cglib.core.ClassNameReader.getClassInfo:(Lorg/objectweb/asm/ClassReader;)[Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String[] name
         2: .line 87
            new net.sf.cglib.core.DebuggingClassWriter
            dup
            iconst_2
            invokespecial net.sf.cglib.core.DebuggingClassWriter.<init>:(I)V
         3: .line 86
            astore 4 /* w */
        start local 4 // net.sf.cglib.core.DebuggingClassWriter w
         4: .line 88
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.getClassTransformer:([Ljava/lang/String;)Lnet/sf/cglib/transform/ClassTransformer;
            astore 5 /* t */
        start local 5 // net.sf.cglib.transform.ClassTransformer t
         5: .line 89
            aload 5 /* t */
            ifnull 19
         6: .line 91
            aload 0 /* this */
            getfield net.sf.cglib.transform.AbstractTransformTask.verbose:Z
            ifeq 8
         7: .line 92
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "processing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* file */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.log:(Ljava/lang/String;)V
         8: .line 94
      StackMap locals: net.sf.cglib.transform.AbstractTransformTask java.io.File org.objectweb.asm.ClassReader java.lang.String[] net.sf.cglib.core.DebuggingClassWriter net.sf.cglib.transform.ClassTransformer
      StackMap stack:
            new net.sf.cglib.transform.TransformingClassGenerator
            dup
            new net.sf.cglib.transform.ClassReaderGenerator
            dup
         9: .line 95
            aload 1 /* file */
            invokestatic net.sf.cglib.transform.AbstractTransformTask.getClassReader:(Ljava/io/File;)Lorg/objectweb/asm/ClassReader;
            aload 0 /* this */
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.attributes:()[Lorg/objectweb/asm/Attribute;
            aload 0 /* this */
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.getFlags:()I
            invokespecial net.sf.cglib.transform.ClassReaderGenerator.<init>:(Lorg/objectweb/asm/ClassReader;[Lorg/objectweb/asm/Attribute;I)V
            aload 5 /* t */
        10: .line 94
            invokespecial net.sf.cglib.transform.TransformingClassGenerator.<init>:(Lnet/sf/cglib/core/ClassGenerator;Lnet/sf/cglib/transform/ClassTransformer;)V
        11: .line 96
            aload 4 /* w */
            invokevirtual net.sf.cglib.transform.TransformingClassGenerator.generateClass:(Lorg/objectweb/asm/ClassVisitor;)V
        12: .line 97
            new java.io.FileOutputStream
            dup
            aload 1 /* file */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 6 /* fos */
        start local 6 // java.io.FileOutputStream fos
        13: .line 99
            aload 6 /* fos */
            aload 4 /* w */
            invokevirtual net.sf.cglib.core.DebuggingClassWriter.toByteArray:()[B
            invokevirtual java.io.FileOutputStream.write:([B)V
        14: .line 100
            goto 18
      StackMap locals: net.sf.cglib.transform.AbstractTransformTask java.io.File org.objectweb.asm.ClassReader java.lang.String[] net.sf.cglib.core.DebuggingClassWriter net.sf.cglib.transform.ClassTransformer java.io.FileOutputStream
      StackMap stack: java.lang.Throwable
        15: astore 7
        16: .line 101
            aload 6 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        17: .line 102
            aload 7
            athrow
        18: .line 101
      StackMap locals:
      StackMap stack:
            aload 6 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 6 // java.io.FileOutputStream fos
        19: .line 106
      StackMap locals:
      StackMap stack:
            return
        end local 5 // net.sf.cglib.transform.ClassTransformer t
        end local 4 // net.sf.cglib.core.DebuggingClassWriter w
        end local 3 // java.lang.String[] name
        end local 2 // org.objectweb.asm.ClassReader reader
        end local 1 // java.io.File file
        end local 0 // net.sf.cglib.transform.AbstractTransformTask this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Lnet/sf/cglib/transform/AbstractTransformTask;
            0   20     1    file  Ljava/io/File;
            1   20     2  reader  Lorg/objectweb/asm/ClassReader;
            2   20     3    name  [Ljava/lang/String;
            4   20     4       w  Lnet/sf/cglib/core/DebuggingClassWriter;
            5   20     5       t  Lnet/sf/cglib/transform/ClassTransformer;
           13   19     6     fos  Ljava/io/FileOutputStream;
      Exception table:
        from    to  target  type
          13    15      15  any
    Exceptions:
      throws java.lang.Exception, java.io.FileNotFoundException, java.io.IOException, java.net.MalformedURLException
    MethodParameters:
      Name  Flags
      file  

  protected int getFlags();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sf.cglib.transform.AbstractTransformTask this
         0: .line 109
            iconst_0
            ireturn
        end local 0 // net.sf.cglib.transform.AbstractTransformTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/transform/AbstractTransformTask;

  private static org.objectweb.asm.ClassReader getClassReader(java.io.File);
    descriptor: (Ljava/io/File;)Lorg/objectweb/asm/ClassReader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.io.File file
         0: .line 113
            new java.io.BufferedInputStream
            dup
            new java.io.FileInputStream
            dup
            aload 0 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 1 /* in */
        start local 1 // java.io.InputStream in
         1: .line 115
            new org.objectweb.asm.ClassReader
            dup
            aload 1 /* in */
            invokespecial org.objectweb.asm.ClassReader.<init>:(Ljava/io/InputStream;)V
            astore 2 /* r */
        start local 2 // org.objectweb.asm.ClassReader r
         2: .line 116
            aload 2 /* r */
            astore 4
         3: .line 118
            aload 1 /* in */
            invokevirtual java.io.InputStream.close:()V
         4: .line 116
            aload 4
            areturn
        end local 2 // org.objectweb.asm.ClassReader r
         5: .line 117
      StackMap locals: java.io.File java.io.InputStream
      StackMap stack: java.lang.Throwable
            astore 3
         6: .line 118
            aload 1 /* in */
            invokevirtual java.io.InputStream.close:()V
         7: .line 119
            aload 3
            athrow
        end local 1 // java.io.InputStream in
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  file  Ljava/io/File;
            1    8     1    in  Ljava/io/InputStream;
            2    5     2     r  Lorg/objectweb/asm/ClassReader;
      Exception table:
        from    to  target  type
           1     3       5  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      file  

  protected boolean isClassFile(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // net.sf.cglib.transform.AbstractTransformTask this
        start local 1 // java.io.File file
         0: .line 125
            aload 0 /* this */
            aload 1 /* file */
            ldc -889275714
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.checkMagic:(Ljava/io/File;J)Z
            ireturn
        end local 1 // java.io.File file
        end local 0 // net.sf.cglib.transform.AbstractTransformTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/transform/AbstractTransformTask;
            0    1     1  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  protected void processJarFile(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=13, args_size=2
        start local 0 // net.sf.cglib.transform.AbstractTransformTask this
        start local 1 // java.io.File file
         0: .line 131
            aload 0 /* this */
            getfield net.sf.cglib.transform.AbstractTransformTask.verbose:Z
            ifeq 2
         1: .line 132
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "processing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* file */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.log:(Ljava/lang/String;)V
         2: .line 135
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            aconst_null
            new java.io.File
            dup
            aload 1 /* file */
         3: .line 136
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            invokevirtual java.io.File.getParent:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
         4: .line 135
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
            astore 2 /* tempFile */
        start local 2 // java.io.File tempFile
         5: .line 139
            new java.util.zip.ZipInputStream
            dup
            new java.io.FileInputStream
            dup
            aload 1 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.util.zip.ZipInputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* zip */
        start local 3 // java.util.zip.ZipInputStream zip
         6: .line 141
            new java.io.FileOutputStream
            dup
            aload 2 /* tempFile */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 4 /* fout */
        start local 4 // java.io.FileOutputStream fout
         7: .line 143
            new java.util.zip.ZipOutputStream
            dup
            aload 4 /* fout */
            invokespecial java.util.zip.ZipOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* out */
        start local 5 // java.util.zip.ZipOutputStream out
         8: .line 146
            goto 32
        start local 6 // java.util.zip.ZipEntry entry
         9: .line 149
      StackMap locals: net.sf.cglib.transform.AbstractTransformTask java.io.File java.io.File java.util.zip.ZipInputStream java.io.FileOutputStream java.util.zip.ZipOutputStream java.util.zip.ZipEntry
      StackMap stack:
            aload 0 /* this */
            aload 3 /* zip */
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.getBytes:(Ljava/util/zip/ZipInputStream;)[B
            astore 7 /* bytes */
        start local 7 // byte[] bytes
        10: .line 151
            aload 6 /* entry */
            invokevirtual java.util.zip.ZipEntry.isDirectory:()Z
            ifne 19
        11: .line 153
            new java.io.DataInputStream
            dup
        12: .line 154
            new java.io.ByteArrayInputStream
            dup
            aload 7 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
        13: .line 153
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 8 /* din */
        start local 8 // java.io.DataInputStream din
        14: .line 157
            aload 8 /* din */
            invokevirtual java.io.DataInputStream.readInt:()I
            ldc -889275714
            if_icmpne 17
        15: .line 159
            aload 0 /* this */
            aload 7 /* bytes */
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.process:([B)[B
            astore 7 /* bytes */
        16: .line 161
            goto 19
        17: .line 162
      StackMap locals: byte[] java.io.DataInputStream
      StackMap stack:
            aload 0 /* this */
            getfield net.sf.cglib.transform.AbstractTransformTask.verbose:Z
            ifeq 19
        18: .line 163
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "ignoring "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* entry */
            invokevirtual java.util.zip.ZipEntry.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.log:(Ljava/lang/String;)V
        end local 8 // java.io.DataInputStream din
        19: .line 168
      StackMap locals:
      StackMap stack:
            new java.util.zip.ZipEntry
            dup
            aload 6 /* entry */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            astore 8 /* outEntry */
        start local 8 // java.util.zip.ZipEntry outEntry
        20: .line 169
            aload 8 /* outEntry */
            aload 6 /* entry */
            invokevirtual java.util.zip.ZipEntry.getMethod:()I
            invokevirtual java.util.zip.ZipEntry.setMethod:(I)V
        21: .line 170
            aload 8 /* outEntry */
            aload 6 /* entry */
            invokevirtual java.util.zip.ZipEntry.getComment:()Ljava/lang/String;
            invokevirtual java.util.zip.ZipEntry.setComment:(Ljava/lang/String;)V
        22: .line 171
            aload 8 /* outEntry */
            aload 7 /* bytes */
            arraylength
            i2l
            invokevirtual java.util.zip.ZipEntry.setSize:(J)V
        23: .line 174
            aload 8 /* outEntry */
            invokevirtual java.util.zip.ZipEntry.getMethod:()I
            ifne 28
        24: .line 175
            new java.util.zip.CRC32
            dup
            invokespecial java.util.zip.CRC32.<init>:()V
            astore 9 /* crc */
        start local 9 // java.util.zip.CRC32 crc
        25: .line 176
            aload 9 /* crc */
            aload 7 /* bytes */
            invokevirtual java.util.zip.CRC32.update:([B)V
        26: .line 177
            aload 8 /* outEntry */
            aload 9 /* crc */
            invokevirtual java.util.zip.CRC32.getValue:()J
            invokevirtual java.util.zip.ZipEntry.setCrc:(J)V
        27: .line 178
            aload 8 /* outEntry */
            aload 7 /* bytes */
            arraylength
            i2l
            invokevirtual java.util.zip.ZipEntry.setCompressedSize:(J)V
        end local 9 // java.util.zip.CRC32 crc
        28: .line 180
      StackMap locals: java.util.zip.ZipEntry
      StackMap stack:
            aload 5 /* out */
            aload 8 /* outEntry */
            invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
        29: .line 181
            aload 5 /* out */
            aload 7 /* bytes */
            invokevirtual java.util.zip.ZipOutputStream.write:([B)V
        30: .line 182
            aload 5 /* out */
            invokevirtual java.util.zip.ZipOutputStream.closeEntry:()V
        31: .line 183
            aload 3 /* zip */
            invokevirtual java.util.zip.ZipInputStream.closeEntry:()V
        end local 8 // java.util.zip.ZipEntry outEntry
        end local 7 // byte[] bytes
        end local 6 // java.util.zip.ZipEntry entry
        32: .line 146
      StackMap locals:
      StackMap stack:
            aload 3 /* zip */
            invokevirtual java.util.zip.ZipInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
            dup
            astore 6 /* entry */
        start local 6 // java.util.zip.ZipEntry entry
        33: ifnonnull 9
        34: .line 186
            aload 5 /* out */
            invokevirtual java.util.zip.ZipOutputStream.close:()V
        end local 6 // java.util.zip.ZipEntry entry
        end local 5 // java.util.zip.ZipOutputStream out
        35: .line 187
            goto 39
      StackMap locals: net.sf.cglib.transform.AbstractTransformTask java.io.File java.io.File java.util.zip.ZipInputStream java.io.FileOutputStream
      StackMap stack: java.lang.Throwable
        36: astore 10
        37: .line 188
            aload 4 /* fout */
            invokevirtual java.io.FileOutputStream.close:()V
        38: .line 189
            aload 10
            athrow
        39: .line 188
      StackMap locals:
      StackMap stack:
            aload 4 /* fout */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 4 // java.io.FileOutputStream fout
        40: .line 190
            goto 44
      StackMap locals: net.sf.cglib.transform.AbstractTransformTask java.io.File java.io.File java.util.zip.ZipInputStream
      StackMap stack: java.lang.Throwable
        41: astore 11
        42: .line 191
            aload 3 /* zip */
            invokevirtual java.util.zip.ZipInputStream.close:()V
        43: .line 192
            aload 11
            athrow
        44: .line 191
      StackMap locals:
      StackMap stack:
            aload 3 /* zip */
            invokevirtual java.util.zip.ZipInputStream.close:()V
        45: .line 195
            aload 1 /* file */
            invokevirtual java.io.File.delete:()Z
            ifeq 49
        46: .line 197
            new java.io.File
            dup
            aload 2 /* tempFile */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* newFile */
        start local 4 // java.io.File newFile
        47: .line 199
            aload 4 /* newFile */
            aload 1 /* file */
            invokevirtual java.io.File.renameTo:(Ljava/io/File;)Z
            ifne 53
        48: .line 200
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "can not rename "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* tempFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.io.File newFile
        49: .line 204
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "can not delete "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.util.zip.ZipInputStream zip
        50: .line 207
      StackMap locals: net.sf.cglib.transform.AbstractTransformTask java.io.File java.io.File
      StackMap stack: java.lang.Throwable
            astore 12
        51: .line 209
            aload 2 /* tempFile */
            invokevirtual java.io.File.delete:()Z
            pop
        52: .line 211
            aload 12
            athrow
        53: .line 209
      StackMap locals:
      StackMap stack:
            aload 2 /* tempFile */
            invokevirtual java.io.File.delete:()Z
            pop
        54: .line 213
            return
        end local 2 // java.io.File tempFile
        end local 1 // java.io.File file
        end local 0 // net.sf.cglib.transform.AbstractTransformTask this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   55     0      this  Lnet/sf/cglib/transform/AbstractTransformTask;
            0   55     1      file  Ljava/io/File;
            5   55     2  tempFile  Ljava/io/File;
            6   50     3       zip  Ljava/util/zip/ZipInputStream;
            7   40     4      fout  Ljava/io/FileOutputStream;
            8   35     5       out  Ljava/util/zip/ZipOutputStream;
            9   32     6     entry  Ljava/util/zip/ZipEntry;
           33   35     6     entry  Ljava/util/zip/ZipEntry;
           10   32     7     bytes  [B
           14   19     8       din  Ljava/io/DataInputStream;
           20   32     8  outEntry  Ljava/util/zip/ZipEntry;
           25   28     9       crc  Ljava/util/zip/CRC32;
           47   49     4   newFile  Ljava/io/File;
      Exception table:
        from    to  target  type
           7    36      36  any
           6    41      41  any
           5    50      50  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      file  

  private byte[] process(byte[]);
    descriptor: ([B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=7, args_size=2
        start local 0 // net.sf.cglib.transform.AbstractTransformTask this
        start local 1 // byte[] bytes
         0: .line 223
            new org.objectweb.asm.ClassReader
            dup
            new java.io.ByteArrayInputStream
            dup
            aload 1 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokespecial org.objectweb.asm.ClassReader.<init>:(Ljava/io/InputStream;)V
            astore 2 /* reader */
        start local 2 // org.objectweb.asm.ClassReader reader
         1: .line 224
            aload 2 /* reader */
            invokestatic net.sf.cglib.core.ClassNameReader.getClassInfo:(Lorg/objectweb/asm/ClassReader;)[Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String[] name
         2: .line 226
            new net.sf.cglib.core.DebuggingClassWriter
            dup
            iconst_2
            invokespecial net.sf.cglib.core.DebuggingClassWriter.<init>:(I)V
         3: .line 225
            astore 4 /* w */
        start local 4 // net.sf.cglib.core.DebuggingClassWriter w
         4: .line 227
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.getClassTransformer:([Ljava/lang/String;)Lnet/sf/cglib/transform/ClassTransformer;
            astore 5 /* t */
        start local 5 // net.sf.cglib.transform.ClassTransformer t
         5: .line 228
            aload 5 /* t */
            ifnull 16
         6: .line 229
            aload 0 /* this */
            getfield net.sf.cglib.transform.AbstractTransformTask.verbose:Z
            ifeq 8
         7: .line 230
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "processing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* name */
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.log:(Ljava/lang/String;)V
         8: .line 232
      StackMap locals: net.sf.cglib.transform.AbstractTransformTask byte[] org.objectweb.asm.ClassReader java.lang.String[] net.sf.cglib.core.DebuggingClassWriter net.sf.cglib.transform.ClassTransformer
      StackMap stack:
            new net.sf.cglib.transform.TransformingClassGenerator
            dup
            new net.sf.cglib.transform.ClassReaderGenerator
            dup
         9: .line 233
            new org.objectweb.asm.ClassReader
            dup
            new java.io.ByteArrayInputStream
            dup
            aload 1 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokespecial org.objectweb.asm.ClassReader.<init>:(Ljava/io/InputStream;)V
        10: .line 234
            aload 0 /* this */
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.attributes:()[Lorg/objectweb/asm/Attribute;
            aload 0 /* this */
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.getFlags:()I
            invokespecial net.sf.cglib.transform.ClassReaderGenerator.<init>:(Lorg/objectweb/asm/ClassReader;[Lorg/objectweb/asm/Attribute;I)V
            aload 5 /* t */
        11: .line 232
            invokespecial net.sf.cglib.transform.TransformingClassGenerator.<init>:(Lnet/sf/cglib/core/ClassGenerator;Lnet/sf/cglib/transform/ClassTransformer;)V
        12: .line 234
            aload 4 /* w */
            invokevirtual net.sf.cglib.transform.TransformingClassGenerator.generateClass:(Lorg/objectweb/asm/ClassVisitor;)V
        13: .line 235
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 6 /* out */
        start local 6 // java.io.ByteArrayOutputStream out
        14: .line 236
            aload 6 /* out */
            aload 4 /* w */
            invokevirtual net.sf.cglib.core.DebuggingClassWriter.toByteArray:()[B
            invokevirtual java.io.ByteArrayOutputStream.write:([B)V
        15: .line 237
            aload 6 /* out */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 6 // java.io.ByteArrayOutputStream out
        16: .line 239
      StackMap locals:
      StackMap stack:
            aload 1 /* bytes */
            areturn
        end local 5 // net.sf.cglib.transform.ClassTransformer t
        end local 4 // net.sf.cglib.core.DebuggingClassWriter w
        end local 3 // java.lang.String[] name
        end local 2 // org.objectweb.asm.ClassReader reader
        end local 1 // byte[] bytes
        end local 0 // net.sf.cglib.transform.AbstractTransformTask this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lnet/sf/cglib/transform/AbstractTransformTask;
            0   17     1   bytes  [B
            1   17     2  reader  Lorg/objectweb/asm/ClassReader;
            2   17     3    name  [Ljava/lang/String;
            4   17     4       w  Lnet/sf/cglib/core/DebuggingClassWriter;
            5   17     5       t  Lnet/sf/cglib/transform/ClassTransformer;
           14   16     6     out  Ljava/io/ByteArrayOutputStream;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      bytes  

  private byte[] getBytes(java.util.zip.ZipInputStream);
    descriptor: (Ljava/util/zip/ZipInputStream;)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // net.sf.cglib.transform.AbstractTransformTask this
        start local 1 // java.util.zip.ZipInputStream zip
         0: .line 249
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* bout */
        start local 2 // java.io.ByteArrayOutputStream bout
         1: .line 250
            new java.io.BufferedInputStream
            dup
            aload 1 /* zip */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* in */
        start local 3 // java.io.InputStream in
         2: .line 252
            goto 4
        start local 4 // int b
         3: .line 253
      StackMap locals: java.io.ByteArrayOutputStream java.io.InputStream int
      StackMap stack:
            aload 2 /* bout */
            iload 4 /* b */
            invokevirtual java.io.ByteArrayOutputStream.write:(I)V
        end local 4 // int b
         4: .line 252
      StackMap locals:
      StackMap stack:
            aload 3 /* in */
            invokevirtual java.io.InputStream.read:()I
            dup
            istore 4 /* b */
        start local 4 // int b
         5: iconst_m1
            if_icmpne 3
         6: .line 255
            aload 2 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 4 // int b
        end local 3 // java.io.InputStream in
        end local 2 // java.io.ByteArrayOutputStream bout
        end local 1 // java.util.zip.ZipInputStream zip
        end local 0 // net.sf.cglib.transform.AbstractTransformTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lnet/sf/cglib/transform/AbstractTransformTask;
            0    7     1   zip  Ljava/util/zip/ZipInputStream;
            1    7     2  bout  Ljava/io/ByteArrayOutputStream;
            2    7     3    in  Ljava/io/InputStream;
            3    4     4     b  I
            5    7     4     b  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      zip   

  private boolean checkMagic(java.io.File, long);
    descriptor: (Ljava/io/File;J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // net.sf.cglib.transform.AbstractTransformTask this
        start local 1 // java.io.File file
        start local 2 // long magic
         0: .line 259
            new java.io.DataInputStream
            dup
            new java.io.FileInputStream
            dup
            aload 1 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 4 /* in */
        start local 4 // java.io.DataInputStream in
         1: .line 261
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 5 /* m */
        start local 5 // int m
         2: .line 262
            lload 2 /* magic */
            iload 5 /* m */
            i2l
            lcmp
            ifne 3
            iconst_1
            goto 4
      StackMap locals: java.io.DataInputStream int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 7
         5: .line 264
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.close:()V
         6: .line 262
            iload 7
            ireturn
        end local 5 // int m
         7: .line 263
      StackMap locals: net.sf.cglib.transform.AbstractTransformTask java.io.File long java.io.DataInputStream
      StackMap stack: java.lang.Throwable
            astore 6
         8: .line 264
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.close:()V
         9: .line 265
            aload 6
            athrow
        end local 4 // java.io.DataInputStream in
        end local 2 // long magic
        end local 1 // java.io.File file
        end local 0 // net.sf.cglib.transform.AbstractTransformTask this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lnet/sf/cglib/transform/AbstractTransformTask;
            0   10     1   file  Ljava/io/File;
            0   10     2  magic  J
            1   10     4     in  Ljava/io/DataInputStream;
            2    7     5      m  I
      Exception table:
        from    to  target  type
           1     5       7  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      file   
      magic  

  protected boolean isJarFile(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // net.sf.cglib.transform.AbstractTransformTask this
        start local 1 // java.io.File file
         0: .line 269
            aload 0 /* this */
            aload 1 /* file */
            ldc 1347093252
            invokevirtual net.sf.cglib.transform.AbstractTransformTask.checkMagic:(Ljava/io/File;J)Z
            ireturn
        end local 1 // java.io.File file
        end local 0 // net.sf.cglib.transform.AbstractTransformTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sf/cglib/transform/AbstractTransformTask;
            0    1     1  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  
}
SourceFile: "AbstractTransformTask.java"