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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 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 0: aload 0
ldc "serialVersionUID"
invokevirtual javassist.CtClass.getDeclaredField:(Ljava/lang/String;)Ljavassist/CtField;
pop
1: return
2: StackMap locals:
StackMap stack: javassist.NotFoundException
pop
3: aload 0
invokestatic javassist.SerialVersionUID.isSerializable:(Ljavassist/CtClass;)Z
ifne 5
4: return
5: StackMap locals:
StackMap stack:
new javassist.CtField
dup
getstatic javassist.CtClass.longType:Ljavassist/CtClass;
ldc "serialVersionUID"
6: aload 0
7: invokespecial javassist.CtField.<init>:(Ljavassist/CtClass;Ljava/lang/String;Ljavassist/CtClass;)V
astore 1
start local 1 8: aload 1
bipush 26
invokevirtual javassist.CtField.setModifiers:(I)V
9: aload 0
aload 1
new java.lang.StringBuilder
dup
aload 0
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: return
end local 1 end local 0 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 0: aload 0
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
astore 1
start local 1 1: aload 0
aload 1
ldc "java.io.Serializable"
invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
invokevirtual javassist.CtClass.subtypeOf:(Ljavassist/CtClass;)Z
ireturn
end local 1 end local 0 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 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 1: new java.io.DataOutputStream
dup
aload 1
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 2
start local 2 2: aload 0
invokevirtual javassist.CtClass.getClassFile:()Ljavassist/bytecode/ClassFile;
astore 3
start local 3 3: aload 0
invokestatic javassist.SerialVersionUID.javaName:(Ljavassist/CtClass;)Ljava/lang/String;
astore 4
start local 4 4: aload 2
aload 4
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
5: aload 0
invokevirtual javassist.CtClass.getDeclaredMethods:()[Ljavassist/CtMethod;
astore 5
start local 5 6: aload 0
invokevirtual javassist.CtClass.getModifiers:()I
istore 6
start local 6 7: iload 6
sipush 512
iand
ifeq 11
8: aload 5
arraylength
ifle 10
9: iload 6
sipush 1024
ior
istore 6
goto 11
10: StackMap locals: javassist.CtClass java.io.ByteArrayOutputStream java.io.DataOutputStream javassist.bytecode.ClassFile java.lang.String javassist.CtMethod[] int
StackMap stack:
iload 6
sipush -1025
iand
istore 6
11: StackMap locals:
StackMap stack:
aload 2
iload 6
invokevirtual java.io.DataOutputStream.writeInt:(I)V
12: aload 3
invokevirtual javassist.bytecode.ClassFile.getInterfaces:()[Ljava/lang/String;
astore 7
start local 7 13: iconst_0
istore 8
start local 8 14: goto 17
15: StackMap locals: java.lang.String[] int
StackMap stack:
aload 7
iload 8
aload 7
iload 8
aaload
invokestatic javassist.SerialVersionUID.javaName:(Ljava/lang/String;)Ljava/lang/String;
aastore
16: iinc 8 1
StackMap locals:
StackMap stack:
17: iload 8
aload 7
arraylength
if_icmplt 15
end local 8 18: aload 7
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
19: iconst_0
istore 8
start local 8 20: goto 23
21: StackMap locals:
StackMap stack:
aload 2
aload 7
iload 8
aaload
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
22: iinc 8 1
StackMap locals:
StackMap stack:
23: iload 8
aload 7
arraylength
if_icmplt 21
end local 8 24: aload 0
invokevirtual javassist.CtClass.getDeclaredFields:()[Ljavassist/CtField;
astore 8
start local 8 25: aload 8
new javassist.SerialVersionUID$1
dup
invokespecial javassist.SerialVersionUID$1.<init>:()V
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
26: iconst_0
istore 9
start local 9 27: goto 36
28: 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
iload 9
aaload
astore 10
start local 10 29: aload 10
invokevirtual javassist.CtField.getModifiers:()I
istore 11
start local 11 30: iload 11
iconst_2
iand
ifeq 32
31: iload 11
sipush 136
iand
ifne 35
32: StackMap locals: javassist.CtField int
StackMap stack:
aload 2
aload 10
invokevirtual javassist.CtField.getName:()Ljava/lang/String;
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
33: aload 2
iload 11
invokevirtual java.io.DataOutputStream.writeInt:(I)V
34: aload 2
aload 10
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 end local 10 35: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
36: iload 9
aload 8
arraylength
if_icmplt 28
end local 9 37: aload 3
invokevirtual javassist.bytecode.ClassFile.getStaticInitializer:()Ljavassist/bytecode/MethodInfo;
ifnull 41
38: aload 2
ldc "<clinit>"
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
39: aload 2
bipush 8
invokevirtual java.io.DataOutputStream.writeInt:(I)V
40: aload 2
ldc "()V"
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
41: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClass.getDeclaredConstructors:()[Ljavassist/CtConstructor;
astore 9
start local 9 42: aload 9
new javassist.SerialVersionUID$2
dup
invokespecial javassist.SerialVersionUID$2.<init>:()V
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
43: iconst_0
istore 10
start local 10 44: goto 54
45: StackMap locals: javassist.CtConstructor[] int
StackMap stack:
aload 9
iload 10
aaload
astore 11
start local 11 46: aload 11
invokevirtual javassist.CtConstructor.getModifiers:()I
istore 12
start local 12 47: iload 12
iconst_2
iand
ifne 53
48: aload 2
ldc "<init>"
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
49: aload 2
iload 12
invokevirtual java.io.DataOutputStream.writeInt:(I)V
50: aload 2
aload 11
invokevirtual javassist.CtConstructor.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
51: invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
52: invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
end local 12 end local 11 53: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
54: iload 10
aload 9
arraylength
if_icmplt 45
end local 10 55: aload 5
new javassist.SerialVersionUID$3
dup
invokespecial javassist.SerialVersionUID$3.<init>:()V
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
56: iconst_0
istore 10
start local 10 57: goto 69
58: StackMap locals:
StackMap stack:
aload 5
iload 10
aaload
astore 11
start local 11 59: aload 11
invokevirtual javassist.CtMethod.getModifiers:()I
60: sipush 3391
61: iand
istore 12
start local 12 62: iload 12
iconst_2
iand
ifne 68
63: aload 2
aload 11
invokevirtual javassist.CtMethod.getName:()Ljava/lang/String;
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
64: aload 2
iload 12
invokevirtual java.io.DataOutputStream.writeInt:(I)V
65: aload 2
aload 11
invokevirtual javassist.CtMethod.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
66: invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
67: invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
end local 12 end local 11 68: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
69: iload 10
aload 5
arraylength
if_icmplt 58
end local 10 70: aload 2
invokevirtual java.io.DataOutputStream.flush:()V
71: ldc "SHA"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 10
start local 10 72: aload 10
aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokevirtual java.security.MessageDigest.digest:([B)[B
astore 11
start local 11 73: lconst_0
lstore 12
start local 12 74: aload 11
arraylength
bipush 8
invokestatic java.lang.Math.min:(II)I
iconst_1
isub
istore 14
start local 14 75: goto 78
76: 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
bipush 8
lshl
aload 11
iload 14
baload
sipush 255
iand
i2l
lor
lstore 12
77: iinc 14 -1
StackMap locals:
StackMap stack:
78: iload 14
ifge 76
end local 14 79: lload 12
80: lreturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 81: StackMap locals: javassist.CtClass
StackMap stack: java.io.IOException
astore 1
start local 1 82: new javassist.CannotCompileException
dup
aload 1
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 83: StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
astore 1
start local 1 84: new javassist.CannotCompileException
dup
aload 1
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 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 0: aload 0
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 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 0: aload 0
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 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