public class javassist.SerialVersionUID
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javassist.SerialVersionUID
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.SerialVersionUID this
         0: .line 37
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javassist.SerialVersionUID this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavassist/SerialVersionUID;

  public static void setSerialVersionUID(javassist.CtClass);
    descriptor: (Ljavassist/CtClass;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // javassist.CtClass clazz
         0: .line 48
            aload 0 /* clazz */
            ldc "serialVersionUID"
            invokevirtual javassist.CtClass.getDeclaredField:(Ljava/lang/String;)Ljavassist/CtField;
            pop
         1: .line 49
            return
         2: .line 51
      StackMap locals:
      StackMap stack: javassist.NotFoundException
            pop
         3: .line 54
            aload 0 /* clazz */
            invokestatic javassist.SerialVersionUID.isSerializable:(Ljavassist/CtClass;)Z
            ifne 5
         4: .line 55
            return
         5: .line 58
      StackMap locals:
      StackMap stack:
            new javassist.CtField
            dup
            getstatic javassist.CtClass.longType:Ljavassist/CtClass;
            ldc "serialVersionUID"
         6: .line 59
            aload 0 /* clazz */
         7: .line 58
            invokespecial javassist.CtField.<init>:(Ljavassist/CtClass;Ljava/lang/String;Ljavassist/CtClass;)V
            astore 1 /* field */
        start local 1 // javassist.CtField field
         8: .line 60
            aload 1 /* field */
            bipush 26
            invokevirtual javassist.CtField.setModifiers:(I)V
         9: .line 62
            aload 0 /* clazz */
            aload 1 /* field */
            new java.lang.StringBuilder
            dup
            aload 0 /* clazz */
            invokestatic javassist.SerialVersionUID.calculateDefault:(Ljavassist/CtClass;)J
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "L"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual javassist.CtClass.addField:(Ljavassist/CtField;Ljava/lang/String;)V
        10: .line 63
            return
        end local 1 // javassist.CtField field
        end local 0 // javassist.CtClass clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0  clazz  Ljavassist/CtClass;
            8   11     1  field  Ljavassist/CtField;
      Exception table:
        from    to  target  type
           0     1       2  Class javassist.NotFoundException
    Exceptions:
      throws javassist.CannotCompileException, javassist.NotFoundException
    MethodParameters:
       Name  Flags
      clazz  

  private static boolean isSerializable(javassist.CtClass);
    descriptor: (Ljavassist/CtClass;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javassist.CtClass clazz
         0: .line 71
            aload 0 /* clazz */
            invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
            astore 1 /* pool */
        start local 1 // javassist.ClassPool pool
         1: .line 72
            aload 0 /* clazz */
            aload 1 /* pool */
            ldc "java.io.Serializable"
            invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
            invokevirtual javassist.CtClass.subtypeOf:(Ljavassist/CtClass;)Z
            ireturn
        end local 1 // javassist.ClassPool pool
        end local 0 // javassist.CtClass clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  clazz  Ljavassist/CtClass;
            1    2     1   pool  Ljavassist/ClassPool;
    Exceptions:
      throws javassist.NotFoundException
    MethodParameters:
       Name  Flags
      clazz  

  public static long calculateDefault(javassist.CtClass);
    descriptor: (Ljavassist/CtClass;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=15, args_size=1
        start local 0 // javassist.CtClass clazz
         0: .line 85
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 1 /* bout */
        start local 1 // java.io.ByteArrayOutputStream bout
         1: .line 86
            new java.io.DataOutputStream
            dup
            aload 1 /* bout */
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 2 /* out */
        start local 2 // java.io.DataOutputStream out
         2: .line 87
            aload 0 /* clazz */
            invokevirtual javassist.CtClass.getClassFile:()Ljavassist/bytecode/ClassFile;
            astore 3 /* classFile */
        start local 3 // javassist.bytecode.ClassFile classFile
         3: .line 90
            aload 0 /* clazz */
            invokestatic javassist.SerialVersionUID.javaName:(Ljavassist/CtClass;)Ljava/lang/String;
            astore 4 /* javaName */
        start local 4 // java.lang.String javaName
         4: .line 91
            aload 2 /* out */
            aload 4 /* javaName */
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
         5: .line 93
            aload 0 /* clazz */
            invokevirtual javassist.CtClass.getDeclaredMethods:()[Ljavassist/CtMethod;
            astore 5 /* methods */
        start local 5 // javassist.CtMethod[] methods
         6: .line 96
            aload 0 /* clazz */
            invokevirtual javassist.CtClass.getModifiers:()I
            istore 6 /* classMods */
        start local 6 // int classMods
         7: .line 97
            iload 6 /* classMods */
            sipush 512
            iand
            ifeq 11
         8: .line 98
            aload 5 /* methods */
            arraylength
            ifle 10
         9: .line 99
            iload 6 /* classMods */
            sipush 1024
            ior
            istore 6 /* classMods */
            goto 11
        10: .line 101
      StackMap locals: javassist.CtClass java.io.ByteArrayOutputStream java.io.DataOutputStream javassist.bytecode.ClassFile java.lang.String javassist.CtMethod[] int
      StackMap stack:
            iload 6 /* classMods */
            sipush -1025
            iand
            istore 6 /* classMods */
        11: .line 103
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            iload 6 /* classMods */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        12: .line 106
            aload 3 /* classFile */
            invokevirtual javassist.bytecode.ClassFile.getInterfaces:()[Ljava/lang/String;
            astore 7 /* interfaces */
        start local 7 // java.lang.String[] interfaces
        13: .line 107
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        14: goto 17
        15: .line 108
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 7 /* interfaces */
            iload 8 /* i */
            aload 7 /* interfaces */
            iload 8 /* i */
            aaload
            invokestatic javassist.SerialVersionUID.javaName:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        16: .line 107
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 8 /* i */
            aload 7 /* interfaces */
            arraylength
            if_icmplt 15
        end local 8 // int i
        18: .line 110
            aload 7 /* interfaces */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
        19: .line 111
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        20: goto 23
        21: .line 112
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            aload 7 /* interfaces */
            iload 8 /* i */
            aaload
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        22: .line 111
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 8 /* i */
            aload 7 /* interfaces */
            arraylength
            if_icmplt 21
        end local 8 // int i
        24: .line 115
            aload 0 /* clazz */
            invokevirtual javassist.CtClass.getDeclaredFields:()[Ljavassist/CtField;
            astore 8 /* fields */
        start local 8 // javassist.CtField[] fields
        25: .line 116
            aload 8 /* fields */
            new javassist.SerialVersionUID$1
            dup
            invokespecial javassist.SerialVersionUID$1.<init>:()V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
        26: .line 123
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        27: goto 36
        28: .line 124
      StackMap locals: javassist.CtClass java.io.ByteArrayOutputStream java.io.DataOutputStream javassist.bytecode.ClassFile java.lang.String javassist.CtMethod[] int java.lang.String[] javassist.CtField[] int
      StackMap stack:
            aload 8 /* fields */
            iload 9 /* i */
            aaload
            astore 10 /* field */
        start local 10 // javassist.CtField field
        29: .line 125
            aload 10 /* field */
            invokevirtual javassist.CtField.getModifiers:()I
            istore 11 /* mods */
        start local 11 // int mods
        30: .line 126
            iload 11 /* mods */
            iconst_2
            iand
            ifeq 32
        31: .line 127
            iload 11 /* mods */
            sipush 136
            iand
            ifne 35
        32: .line 128
      StackMap locals: javassist.CtField int
      StackMap stack:
            aload 2 /* out */
            aload 10 /* field */
            invokevirtual javassist.CtField.getName:()Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        33: .line 129
            aload 2 /* out */
            iload 11 /* mods */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        34: .line 130
            aload 2 /* out */
            aload 10 /* field */
            invokevirtual javassist.CtField.getFieldInfo2:()Ljavassist/bytecode/FieldInfo;
            invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        end local 11 // int mods
        end local 10 // javassist.CtField field
        35: .line 123
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 9 /* i */
            aload 8 /* fields */
            arraylength
            if_icmplt 28
        end local 9 // int i
        37: .line 135
            aload 3 /* classFile */
            invokevirtual javassist.bytecode.ClassFile.getStaticInitializer:()Ljavassist/bytecode/MethodInfo;
            ifnull 41
        38: .line 136
            aload 2 /* out */
            ldc "<clinit>"
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        39: .line 137
            aload 2 /* out */
            bipush 8
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        40: .line 138
            aload 2 /* out */
            ldc "()V"
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        41: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            invokevirtual javassist.CtClass.getDeclaredConstructors:()[Ljavassist/CtConstructor;
            astore 9 /* constructors */
        start local 9 // javassist.CtConstructor[] constructors
        42: .line 143
            aload 9 /* constructors */
            new javassist.SerialVersionUID$2
            dup
            invokespecial javassist.SerialVersionUID$2.<init>:()V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
        43: .line 151
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        44: goto 54
        45: .line 152
      StackMap locals: javassist.CtConstructor[] int
      StackMap stack:
            aload 9 /* constructors */
            iload 10 /* i */
            aaload
            astore 11 /* constructor */
        start local 11 // javassist.CtConstructor constructor
        46: .line 153
            aload 11 /* constructor */
            invokevirtual javassist.CtConstructor.getModifiers:()I
            istore 12 /* mods */
        start local 12 // int mods
        47: .line 154
            iload 12 /* mods */
            iconst_2
            iand
            ifne 53
        48: .line 155
            aload 2 /* out */
            ldc "<init>"
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        49: .line 156
            aload 2 /* out */
            iload 12 /* mods */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        50: .line 157
            aload 2 /* out */
            aload 11 /* constructor */
            invokevirtual javassist.CtConstructor.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
        51: .line 158
            invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
        52: .line 157
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        end local 12 // int mods
        end local 11 // javassist.CtConstructor constructor
        53: .line 151
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        54: iload 10 /* i */
            aload 9 /* constructors */
            arraylength
            if_icmplt 45
        end local 10 // int i
        55: .line 163
            aload 5 /* methods */
            new javassist.SerialVersionUID$3
            dup
            invokespecial javassist.SerialVersionUID$3.<init>:()V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
        56: .line 175
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        57: goto 69
        58: .line 176
      StackMap locals:
      StackMap stack:
            aload 5 /* methods */
            iload 10 /* i */
            aaload
            astore 11 /* method */
        start local 11 // javassist.CtMethod method
        59: .line 177
            aload 11 /* method */
            invokevirtual javassist.CtMethod.getModifiers:()I
        60: .line 178
            sipush 3391
        61: .line 177
            iand
            istore 12 /* mods */
        start local 12 // int mods
        62: .line 182
            iload 12 /* mods */
            iconst_2
            iand
            ifne 68
        63: .line 183
            aload 2 /* out */
            aload 11 /* method */
            invokevirtual javassist.CtMethod.getName:()Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        64: .line 184
            aload 2 /* out */
            iload 12 /* mods */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        65: .line 185
            aload 2 /* out */
            aload 11 /* method */
            invokevirtual javassist.CtMethod.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
        66: .line 186
            invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
        67: .line 185
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        end local 12 // int mods
        end local 11 // javassist.CtMethod method
        68: .line 175
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        69: iload 10 /* i */
            aload 5 /* methods */
            arraylength
            if_icmplt 58
        end local 10 // int i
        70: .line 191
            aload 2 /* out */
            invokevirtual java.io.DataOutputStream.flush:()V
        71: .line 192
            ldc "SHA"
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 10 /* digest */
        start local 10 // java.security.MessageDigest digest
        72: .line 193
            aload 10 /* digest */
            aload 1 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 11 /* digested */
        start local 11 // byte[] digested
        73: .line 194
            lconst_0
            lstore 12 /* hash */
        start local 12 // long hash
        74: .line 195
            aload 11 /* digested */
            arraylength
            bipush 8
            invokestatic java.lang.Math.min:(II)I
            iconst_1
            isub
            istore 14 /* i */
        start local 14 // int i
        75: goto 78
        76: .line 196
      StackMap locals: javassist.CtClass java.io.ByteArrayOutputStream java.io.DataOutputStream javassist.bytecode.ClassFile java.lang.String javassist.CtMethod[] int java.lang.String[] javassist.CtField[] javassist.CtConstructor[] java.security.MessageDigest byte[] long int
      StackMap stack:
            lload 12 /* hash */
            bipush 8
            lshl
            aload 11 /* digested */
            iload 14 /* i */
            baload
            sipush 255
            iand
            i2l
            lor
            lstore 12 /* hash */
        77: .line 195
            iinc 14 /* i */ -1
      StackMap locals:
      StackMap stack:
        78: iload 14 /* i */
            ifge 76
        end local 14 // int i
        79: .line 198
            lload 12 /* hash */
        80: lreturn
        end local 12 // long hash
        end local 11 // byte[] digested
        end local 10 // java.security.MessageDigest digest
        end local 9 // javassist.CtConstructor[] constructors
        end local 8 // javassist.CtField[] fields
        end local 7 // java.lang.String[] interfaces
        end local 6 // int classMods
        end local 5 // javassist.CtMethod[] methods
        end local 4 // java.lang.String javaName
        end local 3 // javassist.bytecode.ClassFile classFile
        end local 2 // java.io.DataOutputStream out
        end local 1 // java.io.ByteArrayOutputStream bout
        81: .line 200
      StackMap locals: javassist.CtClass
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        82: .line 201
            new javassist.CannotCompileException
            dup
            aload 1 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        83: .line 203
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 1 /* e */
        start local 1 // java.security.NoSuchAlgorithmException e
        84: .line 204
            new javassist.CannotCompileException
            dup
            aload 1 /* e */
            invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.security.NoSuchAlgorithmException e
        end local 0 // javassist.CtClass clazz
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   85     0         clazz  Ljavassist/CtClass;
            1   81     1          bout  Ljava/io/ByteArrayOutputStream;
            2   81     2           out  Ljava/io/DataOutputStream;
            3   81     3     classFile  Ljavassist/bytecode/ClassFile;
            4   81     4      javaName  Ljava/lang/String;
            6   81     5       methods  [Ljavassist/CtMethod;
            7   81     6     classMods  I
           13   81     7    interfaces  [Ljava/lang/String;
           14   18     8             i  I
           20   24     8             i  I
           25   81     8        fields  [Ljavassist/CtField;
           27   37     9             i  I
           29   35    10         field  Ljavassist/CtField;
           30   35    11          mods  I
           42   81     9  constructors  [Ljavassist/CtConstructor;
           44   55    10             i  I
           46   53    11   constructor  Ljavassist/CtConstructor;
           47   53    12          mods  I
           57   70    10             i  I
           59   68    11        method  Ljavassist/CtMethod;
           62   68    12          mods  I
           72   81    10        digest  Ljava/security/MessageDigest;
           73   81    11      digested  [B
           74   81    12          hash  J
           75   79    14             i  I
           82   83     1             e  Ljava/io/IOException;
           84   85     1             e  Ljava/security/NoSuchAlgorithmException;
      Exception table:
        from    to  target  type
           0    80      81  Class java.io.IOException
           0    80      83  Class java.security.NoSuchAlgorithmException
    Exceptions:
      throws javassist.CannotCompileException
    MethodParameters:
       Name  Flags
      clazz  

  private static java.lang.String javaName(javassist.CtClass);
    descriptor: (Ljavassist/CtClass;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javassist.CtClass clazz
         0: .line 209
            aload 0 /* clazz */
            invokestatic javassist.bytecode.Descriptor.toJvmName:(Ljavassist/CtClass;)Ljava/lang/String;
            invokestatic javassist.bytecode.Descriptor.toJavaName:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // javassist.CtClass clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljavassist/CtClass;
    MethodParameters:
       Name  Flags
      clazz  

  private static java.lang.String javaName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 213
            aload 0 /* name */
            invokestatic javassist.bytecode.Descriptor.toJvmName:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic javassist.bytecode.Descriptor.toJavaName:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  
}
SourceFile: "SerialVersionUID.java"
NestMembers:
  javassist.SerialVersionUID$1  javassist.SerialVersionUID$2  javassist.SerialVersionUID$3
InnerClasses:
  javassist.SerialVersionUID$1
  javassist.SerialVersionUID$2
  javassist.SerialVersionUID$3