class javassist.CtClassType extends javassist.CtClass
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javassist.CtClassType
super_class: javassist.CtClass
{
javassist.ClassPool classPool;
descriptor: Ljavassist/ClassPool;
flags: (0x0000)
boolean wasChanged;
descriptor: Z
flags: (0x0000)
private boolean wasFrozen;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
boolean wasPruned;
descriptor: Z
flags: (0x0000)
boolean gcConstPool;
descriptor: Z
flags: (0x0000)
javassist.bytecode.ClassFile classfile;
descriptor: Ljavassist/bytecode/ClassFile;
flags: (0x0000)
byte[] rawClassfile;
descriptor: [B
flags: (0x0000)
private java.lang.ref.Reference<javassist.CtMember$Cache> memberCache;
descriptor: Ljava/lang/ref/Reference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/Reference<Ljavassist/CtMember$Cache;>;
private javassist.compiler.AccessorMaker accessors;
descriptor: Ljavassist/compiler/AccessorMaker;
flags: (0x0002) ACC_PRIVATE
private javassist.FieldInitLink fieldInitializers;
descriptor: Ljavassist/FieldInitLink;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<javassist.CtMethod, java.lang.String> hiddenMethods;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljavassist/CtMethod;Ljava/lang/String;>;
private int uniqueNumberSeed;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean doPruning;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int getCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int GET_THRESHOLD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
void <init>(java.lang.String, javassist.ClassPool);
descriptor: (Ljava/lang/String;Ljavassist/ClassPool;)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial javassist.CtClass.<init>:(Ljava/lang/String;)V
1: aload 0
getstatic javassist.ClassPool.doPruning:Z
putfield javassist.CtClassType.doPruning:Z
2: aload 0
aload 2
putfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
3: aload 0
aload 0
aload 0
aload 0
iconst_0
dup_x1
putfield javassist.CtClassType.gcConstPool:Z
dup_x1
putfield javassist.CtClassType.wasPruned:Z
dup_x1
putfield javassist.CtClassType.wasFrozen:Z
putfield javassist.CtClassType.wasChanged:Z
4: aload 0
aconst_null
putfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
5: aload 0
aconst_null
putfield javassist.CtClassType.rawClassfile:[B
6: aload 0
aconst_null
putfield javassist.CtClassType.memberCache:Ljava/lang/ref/Reference;
7: aload 0
aconst_null
putfield javassist.CtClassType.accessors:Ljavassist/compiler/AccessorMaker;
8: aload 0
aconst_null
putfield javassist.CtClassType.fieldInitializers:Ljavassist/FieldInitLink;
9: aload 0
aconst_null
putfield javassist.CtClassType.hiddenMethods:Ljava/util/Map;
10: aload 0
iconst_0
putfield javassist.CtClassType.uniqueNumberSeed:I
11: aload 0
iconst_0
putfield javassist.CtClassType.getCount:I
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljavassist/CtClassType;
0 13 1 name Ljava/lang/String;
0 13 2 cp Ljavassist/ClassPool;
MethodParameters:
Name Flags
name
cp
void <init>(java.io.InputStream, javassist.ClassPool);
descriptor: (Ljava/io/InputStream;Ljavassist/ClassPool;)V
flags: (0x0000)
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 2
invokespecial javassist.CtClassType.<init>:(Ljava/lang/String;Ljavassist/ClassPool;)V
1: aload 0
new javassist.bytecode.ClassFile
dup
new java.io.DataInputStream
dup
aload 1
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
invokespecial javassist.bytecode.ClassFile.<init>:(Ljava/io/DataInputStream;)V
putfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
2: aload 0
aload 0
getfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.ClassFile.getName:()Ljava/lang/String;
putfield javassist.CtClassType.qualifiedName:Ljava/lang/String;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtClassType;
0 4 1 ins Ljava/io/InputStream;
0 4 2 cp Ljavassist/ClassPool;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ins
cp
void <init>(javassist.bytecode.ClassFile, javassist.ClassPool);
descriptor: (Ljavassist/bytecode/ClassFile;Ljavassist/ClassPool;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 2
invokespecial javassist.CtClassType.<init>:(Ljava/lang/String;Ljavassist/ClassPool;)V
1: aload 0
aload 1
putfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
2: aload 0
aload 0
getfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.ClassFile.getName:()Ljava/lang/String;
putfield javassist.CtClassType.qualifiedName:Ljava/lang/String;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtClassType;
0 4 1 cf Ljavassist/bytecode/ClassFile;
0 4 2 cp Ljavassist/ClassPool;
MethodParameters:
Name Flags
cf
cp
protected void extendToString(java.lang.StringBuffer);
descriptor: (Ljava/lang/StringBuffer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtClassType.wasChanged:Z
ifeq 2
1: aload 1
ldc "changed "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtClassType.wasFrozen:Z
ifeq 4
3: aload 1
ldc "frozen "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
4: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtClassType.wasPruned:Z
ifeq 6
5: aload 1
ldc "pruned "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual javassist.CtClassType.getModifiers:()I
invokestatic javassist.Modifier.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
7: aload 1
ldc " class "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
8: aload 1
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
9: aload 0
invokevirtual javassist.CtClassType.getSuperclass:()Ljavassist/CtClass;
astore 2
start local 2 10: aload 2
ifnull 17
11: aload 2
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
astore 3
start local 3 12: aload 3
ldc "java.lang.Object"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
13: aload 1
new java.lang.StringBuilder
dup
ldc " extends "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 3 end local 2 14: goto 17
15: StackMap locals:
StackMap stack: javassist.NotFoundException
pop
16: aload 1
ldc " extends ??"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getInterfaces:()[Ljavassist/CtClass;
astore 2
start local 2 18: aload 2
arraylength
ifle 20
19: aload 1
ldc " implements "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
20: StackMap locals: javassist.CtClass[]
StackMap stack:
iconst_0
istore 3
start local 3 21: goto 25
22: StackMap locals: int
StackMap stack:
aload 1
aload 2
iload 3
aaload
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
23: aload 1
ldc ", "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
24: iinc 3 1
StackMap locals:
StackMap stack:
25: iload 3
aload 2
arraylength
if_icmplt 22
end local 3 end local 2 26: goto 29
27: StackMap locals: javassist.CtClassType java.lang.StringBuffer
StackMap stack: javassist.NotFoundException
pop
28: aload 1
ldc " extends ??"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
29: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 2
start local 2 30: aload 0
aload 1
ldc " fields="
31: aload 2
invokevirtual javassist.CtMember$Cache.fieldHead:()Ljavassist/CtMember;
aload 2
invokevirtual javassist.CtMember$Cache.lastField:()Ljavassist/CtMember;
32: invokevirtual javassist.CtClassType.exToString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljavassist/CtMember;Ljavassist/CtMember;)V
33: aload 0
aload 1
ldc " constructors="
34: aload 2
invokevirtual javassist.CtMember$Cache.consHead:()Ljavassist/CtMember;
aload 2
invokevirtual javassist.CtMember$Cache.lastCons:()Ljavassist/CtMember;
35: invokevirtual javassist.CtClassType.exToString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljavassist/CtMember;Ljavassist/CtMember;)V
36: aload 0
aload 1
ldc " methods="
37: aload 2
invokevirtual javassist.CtMember$Cache.methodHead:()Ljavassist/CtMember;
aload 2
invokevirtual javassist.CtMember$Cache.lastMethod:()Ljavassist/CtMember;
38: invokevirtual javassist.CtClassType.exToString:(Ljava/lang/StringBuffer;Ljava/lang/String;Ljavassist/CtMember;Ljavassist/CtMember;)V
39: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljavassist/CtClassType;
0 40 1 buffer Ljava/lang/StringBuffer;
10 14 2 ext Ljavassist/CtClass;
12 14 3 name Ljava/lang/String;
18 26 2 intf [Ljavassist/CtClass;
21 26 3 i I
30 40 2 memCache Ljavassist/CtMember$Cache;
Exception table:
from to target type
9 14 15 Class javassist.NotFoundException
17 26 27 Class javassist.NotFoundException
MethodParameters:
Name Flags
buffer
private void exToString(java.lang.StringBuffer, java.lang.String, javassist.CtMember, javassist.CtMember);
descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;Ljavassist/CtMember;Ljavassist/CtMember;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
1: goto 5
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 3
3: aload 1
aload 3
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
pop
4: aload 1
ldc ", "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: StackMap locals:
StackMap stack:
aload 3
aload 4
if_acmpne 2
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavassist/CtClassType;
0 7 1 buffer Ljava/lang/StringBuffer;
0 7 2 msg Ljava/lang/String;
0 7 3 head Ljavassist/CtMember;
0 7 4 tail Ljavassist/CtMember;
MethodParameters:
Name Flags
buffer
msg
head
tail
public javassist.compiler.AccessorMaker getAccessorMaker();
descriptor: ()Ljavassist/compiler/AccessorMaker;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtClassType.accessors:Ljavassist/compiler/AccessorMaker;
ifnonnull 2
1: aload 0
new javassist.compiler.AccessorMaker
dup
aload 0
invokespecial javassist.compiler.AccessorMaker.<init>:(Ljavassist/CtClass;)V
putfield javassist.CtClassType.accessors:Ljavassist/compiler/AccessorMaker;
2: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtClassType.accessors:Ljavassist/compiler/AccessorMaker;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtClassType;
public javassist.bytecode.ClassFile getClassFile2();
descriptor: ()Ljavassist/bytecode/ClassFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual javassist.CtClassType.getClassFile3:(Z)Ljavassist/bytecode/ClassFile;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
public javassist.bytecode.ClassFile getClassFile3(boolean);
descriptor: (Z)Ljavassist/bytecode/ClassFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: javassist.bytecode.ClassFile
StackMap stack:
iload 1
ifeq 5
4: aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
invokevirtual javassist.ClassPool.compress:()V
5: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtClassType.rawClassfile:[B
ifnull 15
6: new javassist.bytecode.ClassFile
dup
new java.io.DataInputStream
dup
7: new java.io.ByteArrayInputStream
dup
aload 0
getfield javassist.CtClassType.rawClassfile:[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
8: invokespecial javassist.bytecode.ClassFile.<init>:(Ljava/io/DataInputStream;)V
astore 3
start local 3 9: aload 0
aconst_null
putfield javassist.CtClassType.rawClassfile:[B
10: aload 0
iconst_2
putfield javassist.CtClassType.getCount:I
11: aload 0
aload 3
invokevirtual javassist.CtClassType.setClassFile:(Ljavassist/bytecode/ClassFile;)Ljavassist/bytecode/ClassFile;
12: areturn
end local 3 13: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 14: new java.lang.RuntimeException
dup
aload 3
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 15: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 16: aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
invokevirtual javassist.ClassPool.openClassfile:(Ljava/lang/String;)Ljava/io/InputStream;
astore 3
17: aload 3
ifnonnull 19
18: new javassist.NotFoundException
dup
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals: java.io.InputStream
StackMap stack:
new java.io.BufferedInputStream
dup
aload 3
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 3
20: new javassist.bytecode.ClassFile
dup
new java.io.DataInputStream
dup
aload 3
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
invokespecial javassist.bytecode.ClassFile.<init>:(Ljava/io/DataInputStream;)V
astore 4
start local 4 21: aload 4
invokevirtual javassist.bytecode.ClassFile.getName:()Ljava/lang/String;
aload 0
getfield javassist.CtClassType.qualifiedName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 26
22: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "cannot find "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield javassist.CtClassType.qualifiedName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: aload 4
invokevirtual javassist.bytecode.ClassFile.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " found in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: aload 0
getfield javassist.CtClassType.qualifiedName:Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals: javassist.bytecode.ClassFile
StackMap stack:
aload 0
aload 4
invokevirtual javassist.CtClassType.setClassFile:(Ljavassist/bytecode/ClassFile;)Ljavassist/bytecode/ClassFile;
astore 6
27: aload 3
ifnull 31
28: aload 3
invokevirtual java.io.InputStream.close:()V
29: goto 31
30: StackMap locals: javassist.CtClassType int javassist.bytecode.ClassFile java.io.InputStream javassist.bytecode.ClassFile top javassist.bytecode.ClassFile
StackMap stack: java.io.IOException
pop
31: StackMap locals:
StackMap stack:
aload 6
areturn
end local 4 32: StackMap locals: javassist.CtClassType int javassist.bytecode.ClassFile java.io.InputStream
StackMap stack: javassist.NotFoundException
astore 4
start local 4 33: new java.lang.RuntimeException
dup
aload 4
invokevirtual javassist.NotFoundException.toString:()Ljava/lang/String;
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 34: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 35: new java.lang.RuntimeException
dup
aload 4
invokevirtual java.io.IOException.toString:()Ljava/lang/String;
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 36: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
37: aload 3
ifnull 41
38: aload 3
invokevirtual java.io.InputStream.close:()V
39: goto 41
40: StackMap locals: javassist.CtClassType int javassist.bytecode.ClassFile java.io.InputStream top java.lang.Throwable
StackMap stack: java.io.IOException
pop
41: StackMap locals:
StackMap stack:
aload 5
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Ljavassist/CtClassType;
0 42 1 doCompress Z
1 42 2 cfile Ljavassist/bytecode/ClassFile;
9 13 3 cf Ljavassist/bytecode/ClassFile;
14 15 3 e Ljava/io/IOException;
16 42 3 fin Ljava/io/InputStream;
21 32 4 cf Ljavassist/bytecode/ClassFile;
33 34 4 e Ljavassist/NotFoundException;
35 36 4 e Ljava/io/IOException;
Exception table:
from to target type
6 12 13 Class java.io.IOException
28 29 30 Class java.io.IOException
16 27 32 Class javassist.NotFoundException
16 27 34 Class java.io.IOException
16 27 36 any
32 36 36 any
38 39 40 Class java.io.IOException
MethodParameters:
Name Flags
doCompress
final void incGetCounter();
descriptor: ()V
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield javassist.CtClassType.getCount:I
iconst_1
iadd
putfield javassist.CtClassType.getCount:I
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
void compress();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtClassType.getCount:I
iconst_2
if_icmpge 5
1: aload 0
invokevirtual javassist.CtClassType.isModified:()Z
ifne 3
getstatic javassist.ClassPool.releaseUnmodifiedClassFile:Z
ifeq 3
2: aload 0
invokevirtual javassist.CtClassType.removeClassFile:()V
goto 5
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.isFrozen:()Z
ifeq 5
aload 0
getfield javassist.CtClassType.wasPruned:Z
ifne 5
4: aload 0
invokevirtual javassist.CtClassType.saveClassFile:()V
5: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield javassist.CtClassType.getCount:I
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavassist/CtClassType;
private synchronized void saveClassFile();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
ifnull 1
aload 0
invokevirtual javassist.CtClassType.hasMemberCache:()Ljavassist/CtMember$Cache;
ifnull 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 3: new java.io.DataOutputStream
dup
aload 1
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 2
start local 2 4: aload 0
getfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
aload 2
invokevirtual javassist.bytecode.ClassFile.write:(Ljava/io/DataOutputStream;)V
5: aload 1
invokevirtual java.io.ByteArrayOutputStream.close:()V
6: aload 0
aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
putfield javassist.CtClassType.rawClassfile:[B
7: aload 0
aconst_null
putfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
8: goto 10
9: StackMap locals: javassist.CtClassType java.io.ByteArrayOutputStream java.io.DataOutputStream
StackMap stack: java.io.IOException
pop
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljavassist/CtClassType;
3 11 1 barray Ljava/io/ByteArrayOutputStream;
4 11 2 out Ljava/io/DataOutputStream;
Exception table:
from to target type
4 8 9 Class java.io.IOException
private synchronized void removeClassFile();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
ifnull 2
aload 0
invokevirtual javassist.CtClassType.isModified:()Z
ifne 2
aload 0
invokevirtual javassist.CtClassType.hasMemberCache:()Ljavassist/CtMember$Cache;
ifnonnull 2
1: aload 0
aconst_null
putfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtClassType;
private synchronized javassist.bytecode.ClassFile setClassFile(javassist.bytecode.ClassFile);
descriptor: (Ljavassist/bytecode/ClassFile;)Ljavassist/bytecode/ClassFile;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
ifnonnull 2
1: aload 0
aload 1
putfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
2: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtClassType.classfile:Ljavassist/bytecode/ClassFile;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtClassType;
0 3 1 cf Ljavassist/bytecode/ClassFile;
MethodParameters:
Name Flags
cf
public javassist.ClassPool getClassPool();
descriptor: ()Ljavassist/ClassPool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
void setClassPool(javassist.ClassPool);
descriptor: (Ljavassist/ClassPool;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
0 1 1 cp Ljavassist/ClassPool;
MethodParameters:
Name Flags
cp
public java.net.URL getURL();
descriptor: ()Ljava/net/URL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
invokevirtual javassist.ClassPool.find:(Ljava/lang/String;)Ljava/net/URL;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new javassist.NotFoundException
dup
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.net.URL
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtClassType;
1 4 1 url Ljava/net/URL;
Exceptions:
throws javassist.NotFoundException
public boolean isModified();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtClassType.wasChanged:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
public boolean isFrozen();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtClassType.wasFrozen:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
public void freeze();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield javassist.CtClassType.wasFrozen:Z
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
void checkModify();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.isFrozen:()Z
ifeq 5
1: new java.lang.StringBuilder
dup
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " class is frozen"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
start local 1 2: aload 0
getfield javassist.CtClassType.wasPruned:Z
ifeq 4
3: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " and pruned"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
4: StackMap locals: java.lang.String
StackMap stack:
new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 5: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield javassist.CtClassType.wasChanged:Z
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavassist/CtClassType;
2 5 1 msg Ljava/lang/String;
Exceptions:
throws java.lang.RuntimeException
public void defrost();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "defrost"
invokevirtual javassist.CtClassType.checkPruned:(Ljava/lang/String;)V
1: aload 0
iconst_0
putfield javassist.CtClassType.wasFrozen:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtClassType;
public boolean subtypeOf(javassist.CtClass);
descriptor: (Ljavassist/CtClass;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
aload 1
if_acmpeq 2
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: StackMap locals: javassist.CtClassType javassist.CtClass top java.lang.String
StackMap stack:
iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 4
start local 4 4: aload 4
invokevirtual javassist.bytecode.ClassFile.getSuperclass:()Ljava/lang/String;
astore 5
start local 5 5: aload 5
ifnull 7
aload 5
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: iconst_1
ireturn
7: StackMap locals: javassist.bytecode.ClassFile java.lang.String
StackMap stack:
aload 4
invokevirtual javassist.bytecode.ClassFile.getInterfaces:()[Ljava/lang/String;
astore 6
start local 6 8: aload 6
arraylength
istore 7
start local 7 9: iconst_0
istore 2
start local 2 10: goto 14
11: StackMap locals: javassist.CtClassType javassist.CtClass int java.lang.String javassist.bytecode.ClassFile java.lang.String java.lang.String[] int
StackMap stack:
aload 6
iload 2
aaload
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: iconst_1
ireturn
13: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
14: iload 2
iload 7
if_icmplt 11
15: aload 5
ifnull 17
aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 5
invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
aload 1
invokevirtual javassist.CtClass.subtypeOf:(Ljavassist/CtClass;)Z
ifeq 17
16: iconst_1
ireturn
17: StackMap locals:
StackMap stack:
iconst_0
istore 2
goto 21
18: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 6
iload 2
aaload
invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
aload 1
invokevirtual javassist.CtClass.subtypeOf:(Ljavassist/CtClass;)Z
ifeq 20
19: iconst_1
ireturn
20: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
21: iload 2
iload 7
if_icmplt 18
22: iconst_0
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljavassist/CtClassType;
0 23 1 clazz Ljavassist/CtClass;
10 23 2 i I
1 23 3 cname Ljava/lang/String;
4 23 4 file Ljavassist/bytecode/ClassFile;
5 23 5 supername Ljava/lang/String;
8 23 6 ifs [Ljava/lang/String;
9 23 7 num I
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
clazz
public void setName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: return
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 1
invokevirtual javassist.ClassPool.checkNotFrozen:(Ljava/lang/String;)V
4: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 3
start local 3 5: aload 0
aload 1
invokespecial javassist.CtClass.setName:(Ljava/lang/String;)V
6: aload 3
aload 1
invokevirtual javassist.bytecode.ClassFile.setName:(Ljava/lang/String;)V
7: aload 0
invokevirtual javassist.CtClassType.nameReplaced:()V
8: aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 2
aload 0
invokevirtual javassist.ClassPool.classNameChanged:(Ljava/lang/String;Ljavassist/CtClass;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavassist/CtClassType;
0 10 1 name Ljava/lang/String;
1 10 2 oldname Ljava/lang/String;
5 10 3 cf Ljavassist/bytecode/ClassFile;
Exceptions:
throws java.lang.RuntimeException
MethodParameters:
Name Flags
name
public java.lang.String getGenericSignature();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
ldc "Signature"
invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.SignatureAttribute
1: astore 1
start local 1 2: aload 1
ifnonnull 3
aconst_null
goto 4
StackMap locals: javassist.bytecode.SignatureAttribute
StackMap stack:
3: aload 1
invokevirtual javassist.bytecode.SignatureAttribute.getSignature:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
4: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavassist/CtClassType;
2 5 1 sa Ljavassist/bytecode/SignatureAttribute;
public void setGenericSignature(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.getClassFile:()Ljavassist/bytecode/ClassFile;
astore 2
start local 2 1: new javassist.bytecode.SignatureAttribute
dup
aload 2
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
aload 1
invokespecial javassist.bytecode.SignatureAttribute.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;)V
astore 3
start local 3 2: aload 2
aload 3
invokevirtual javassist.bytecode.ClassFile.addAttribute:(Ljavassist/bytecode/AttributeInfo;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtClassType;
0 4 1 sig Ljava/lang/String;
1 4 2 cf Ljavassist/bytecode/ClassFile;
2 4 3 sa Ljavassist/bytecode/SignatureAttribute;
MethodParameters:
Name Flags
sig
public void replaceClassName(javassist.ClassMap);
descriptor: (Ljavassist/ClassMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
aload 2
invokestatic javassist.bytecode.Descriptor.toJvmName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual javassist.ClassMap.get:(Ljava/lang/Object;)Ljava/lang/String;
2: astore 3
start local 3 3: aload 3
ifnull 6
4: aload 3
invokestatic javassist.bytecode.Descriptor.toJavaName:(Ljava/lang/String;)Ljava/lang/String;
astore 3
5: aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 3
invokevirtual javassist.ClassPool.checkNotFrozen:(Ljava/lang/String;)V
6: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
aload 1
invokespecial javassist.CtClass.replaceClassName:(Ljavassist/ClassMap;)V
7: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 4
start local 4 8: aload 4
aload 1
invokevirtual javassist.bytecode.ClassFile.renameClass:(Ljava/util/Map;)V
9: aload 0
invokevirtual javassist.CtClassType.nameReplaced:()V
10: aload 3
ifnull 13
11: aload 0
aload 3
invokespecial javassist.CtClass.setName:(Ljava/lang/String;)V
12: aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 2
aload 0
invokevirtual javassist.ClassPool.classNameChanged:(Ljava/lang/String;Ljavassist/CtClass;)V
13: StackMap locals: javassist.bytecode.ClassFile
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljavassist/CtClassType;
0 14 1 classnames Ljavassist/ClassMap;
1 14 2 oldClassName Ljava/lang/String;
3 14 3 newClassName Ljava/lang/String;
8 14 4 cf Ljavassist/bytecode/ClassFile;
Exceptions:
throws java.lang.RuntimeException
MethodParameters:
Name Flags
classnames
public void replaceClassName(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
astore 3
start local 3 1: aload 3
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: aload 0
aload 2
invokevirtual javassist.CtClassType.setName:(Ljava/lang/String;)V
goto 6
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
aload 2
invokespecial javassist.CtClass.replaceClassName:(Ljava/lang/String;Ljava/lang/String;)V
4: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
aload 1
aload 2
invokevirtual javassist.bytecode.ClassFile.renameClass:(Ljava/lang/String;Ljava/lang/String;)V
5: aload 0
invokevirtual javassist.CtClassType.nameReplaced:()V
6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavassist/CtClassType;
0 7 1 oldname Ljava/lang/String;
0 7 2 newname Ljava/lang/String;
1 7 3 thisname Ljava/lang/String;
Exceptions:
throws java.lang.RuntimeException
MethodParameters:
Name Flags
oldname
newname
public boolean isInterface();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getModifiers:()I
invokestatic javassist.Modifier.isInterface:(I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
public boolean isAnnotation();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getModifiers:()I
invokestatic javassist.Modifier.isAnnotation:(I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
public boolean isEnum();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getModifiers:()I
invokestatic javassist.Modifier.isEnum:(I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
public int getModifiers();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 1
start local 1 1: aload 1
invokevirtual javassist.bytecode.ClassFile.getAccessFlags:()I
istore 2
start local 2 2: iload 2
bipush 32
invokestatic javassist.bytecode.AccessFlag.clear:(II)I
istore 2
3: aload 1
invokevirtual javassist.bytecode.ClassFile.getInnerAccessFlags:()I
istore 3
start local 3 4: iload 3
iconst_m1
if_icmpeq 14
5: iload 3
bipush 8
iand
ifeq 7
6: iload 2
bipush 8
ior
istore 2
7: StackMap locals: javassist.bytecode.ClassFile int int
StackMap stack:
iload 3
iconst_1
iand
ifeq 9
8: iload 2
iconst_1
ior
istore 2
goto 14
9: StackMap locals:
StackMap stack:
iload 2
bipush -2
iand
istore 2
10: iload 3
iconst_4
iand
ifeq 12
11: iload 2
iconst_4
ior
istore 2
goto 14
12: StackMap locals:
StackMap stack:
iload 3
iconst_2
iand
ifeq 14
13: iload 2
iconst_2
ior
istore 2
14: StackMap locals:
StackMap stack:
iload 2
invokestatic javassist.bytecode.AccessFlag.toModifier:(I)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljavassist/CtClassType;
1 15 1 cf Ljavassist/bytecode/ClassFile;
2 15 2 acc I
4 15 3 inner I
public javassist.CtClass[] getNestedClasses();
descriptor: ()[Ljavassist/CtClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 1
start local 1 1: aload 1
ldc "InnerClasses"
invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.InnerClassesAttribute
2: astore 2
start local 2 3: aload 2
ifnonnull 5
4: iconst_0
anewarray javassist.CtClass
areturn
5: StackMap locals: javassist.bytecode.ClassFile javassist.bytecode.InnerClassesAttribute
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokevirtual javassist.bytecode.ClassFile.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "$"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 6: aload 2
invokevirtual javassist.bytecode.InnerClassesAttribute.tableLength:()I
istore 4
start local 4 7: new java.util.ArrayList
dup
iload 4
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 8: iconst_0
istore 6
start local 6 9: goto 16
10: StackMap locals: javassist.CtClassType javassist.bytecode.ClassFile javassist.bytecode.InnerClassesAttribute java.lang.String int java.util.List int
StackMap stack:
aload 2
iload 6
invokevirtual javassist.bytecode.InnerClassesAttribute.innerClass:(I)Ljava/lang/String;
astore 7
start local 7 11: aload 7
ifnull 15
12: aload 7
aload 3
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 15
13: aload 7
bipush 36
invokevirtual java.lang.String.lastIndexOf:(I)I
aload 3
invokevirtual java.lang.String.length:()I
if_icmpge 15
14: aload 5
aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 7
invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 15: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 4
if_icmplt 10
end local 6 17: aload 5
aload 5
invokeinterface java.util.List.size:()I
anewarray javassist.CtClass
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javassist.CtClass[]
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljavassist/CtClassType;
1 18 1 cf Ljavassist/bytecode/ClassFile;
3 18 2 ica Ljavassist/bytecode/InnerClassesAttribute;
6 18 3 thisName Ljava/lang/String;
7 18 4 n I
8 18 5 list Ljava/util/List<Ljavassist/CtClass;>;
9 17 6 i I
11 15 7 name Ljava/lang/String;
Exceptions:
throws javassist.NotFoundException
public void setModifiers(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: iload 1
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
aload 0
iconst_1
invokestatic javassist.CtClassType.updateInnerEntry:(ILjava/lang/String;Ljavassist/CtClass;Z)V
2: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 2
start local 2 3: aload 2
iload 1
bipush -9
iand
invokestatic javassist.bytecode.AccessFlag.of:(I)I
invokevirtual javassist.bytecode.ClassFile.setAccessFlags:(I)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavassist/CtClassType;
0 5 1 mod I
3 5 2 cf Ljavassist/bytecode/ClassFile;
MethodParameters:
Name Flags
mod
private static void updateInnerEntry(int, java.lang.String, javassist.CtClass, boolean);
descriptor: (ILjava/lang/String;Ljavassist/CtClass;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 4
start local 4 1: aload 4
ldc "InnerClasses"
invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.InnerClassesAttribute
2: astore 5
start local 5 3: aload 5
ifnull 21
4: iload 0
bipush -9
iand
istore 6
start local 6 5: aload 5
aload 1
invokevirtual javassist.bytecode.InnerClassesAttribute.find:(Ljava/lang/String;)I
istore 7
start local 7 6: iload 7
iflt 21
7: aload 5
iload 7
invokevirtual javassist.bytecode.InnerClassesAttribute.accessFlags:(I)I
bipush 8
iand
istore 8
start local 8 8: iload 8
ifne 9
iload 0
invokestatic javassist.Modifier.isStatic:(I)Z
ifne 21
9: StackMap locals: int java.lang.String javassist.CtClass int javassist.bytecode.ClassFile javassist.bytecode.InnerClassesAttribute int int int
StackMap stack:
aload 2
invokevirtual javassist.CtClass.checkModify:()V
10: aload 5
iload 7
iload 6
invokestatic javassist.bytecode.AccessFlag.of:(I)I
iload 8
ior
invokevirtual javassist.bytecode.InnerClassesAttribute.setAccessFlags:(II)V
11: aload 5
iload 7
invokevirtual javassist.bytecode.InnerClassesAttribute.outerClass:(I)Ljava/lang/String;
astore 9
start local 9 12: aload 9
ifnull 20
iload 3
ifeq 20
13: aload 2
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
aload 9
invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
astore 10
start local 10 14: iload 6
aload 1
aload 10
iconst_0
invokestatic javassist.CtClassType.updateInnerEntry:(ILjava/lang/String;Ljavassist/CtClass;Z)V
end local 10 15: goto 20
16: StackMap locals: int java.lang.String javassist.CtClass int javassist.bytecode.ClassFile javassist.bytecode.InnerClassesAttribute int int int java.lang.String
StackMap stack: javassist.NotFoundException
pop
17: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "cannot find the declaring class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 21: StackMap locals: int java.lang.String javassist.CtClass int javassist.bytecode.ClassFile javassist.bytecode.InnerClassesAttribute
StackMap stack:
iload 0
invokestatic javassist.Modifier.isStatic:(I)Z
ifeq 25
22: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "cannot change "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokestatic javassist.bytecode.Descriptor.toJavaName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: ldc " into a static class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 newMod I
0 26 1 name Ljava/lang/String;
0 26 2 clazz Ljavassist/CtClass;
0 26 3 outer Z
1 26 4 cf Ljavassist/bytecode/ClassFile;
3 26 5 ica Ljavassist/bytecode/InnerClassesAttribute;
5 21 6 mod I
6 21 7 i I
8 21 8 isStatic I
12 21 9 outName Ljava/lang/String;
14 15 10 parent Ljavassist/CtClass;
Exception table:
from to target type
13 15 16 Class javassist.NotFoundException
MethodParameters:
Name Flags
newMod
name
clazz
outer
public boolean hasAnnotation(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 2
start local 2 1: aload 2
ldc "RuntimeInvisibleAnnotations"
invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
2: checkcast javassist.bytecode.AnnotationsAttribute
astore 3
start local 3 3: aload 2
ldc "RuntimeVisibleAnnotations"
invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
4: checkcast javassist.bytecode.AnnotationsAttribute
astore 4
start local 4 5: aload 1
aload 0
invokevirtual javassist.CtClassType.getClassPool:()Ljavassist/ClassPool;
aload 3
aload 4
invokestatic javassist.CtClassType.hasAnnotationType:(Ljava/lang/String;Ljavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavassist/CtClassType;
0 6 1 annotationName Ljava/lang/String;
1 6 2 cf Ljavassist/bytecode/ClassFile;
3 6 3 ainfo Ljavassist/bytecode/AnnotationsAttribute;
5 6 4 ainfo2 Ljavassist/bytecode/AnnotationsAttribute;
MethodParameters:
Name Flags
annotationName
static boolean hasAnnotationType(java.lang.Class<?>, javassist.ClassPool, javassist.bytecode.AnnotationsAttribute, javassist.bytecode.AnnotationsAttribute);
descriptor: (Ljava/lang/Class;Ljavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 1
aload 2
aload 3
invokestatic javassist.CtClassType.hasAnnotationType:(Ljava/lang/String;Ljavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 clz Ljava/lang/Class<*>;
0 1 1 cp Ljavassist/ClassPool;
0 1 2 a1 Ljavassist/bytecode/AnnotationsAttribute;
0 1 3 a2 Ljavassist/bytecode/AnnotationsAttribute;
Signature: (Ljava/lang/Class<*>;Ljavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)Z
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
clz
cp
a1
a2
static boolean hasAnnotationType(java.lang.String, javassist.ClassPool, javassist.bytecode.AnnotationsAttribute, javassist.bytecode.AnnotationsAttribute);
descriptor: (Ljava/lang/String;Ljavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 3
1: aconst_null
astore 4
start local 4 2: goto 4
end local 4 3: StackMap locals:
StackMap stack:
aload 2
invokevirtual javassist.bytecode.AnnotationsAttribute.getAnnotations:()[Ljavassist/bytecode/annotation/Annotation;
astore 4
start local 4 4: StackMap locals: javassist.bytecode.annotation.Annotation[]
StackMap stack:
aload 3
ifnonnull 7
5: aconst_null
astore 5
start local 5 6: goto 8
end local 5 7: StackMap locals:
StackMap stack:
aload 3
invokevirtual javassist.bytecode.AnnotationsAttribute.getAnnotations:()[Ljavassist/bytecode/annotation/Annotation;
astore 5
start local 5 8: StackMap locals: javassist.bytecode.annotation.Annotation[]
StackMap stack:
aload 4
ifnull 15
9: iconst_0
istore 6
start local 6 10: goto 14
11: StackMap locals: int
StackMap stack:
aload 4
iload 6
aaload
invokevirtual javassist.bytecode.annotation.Annotation.getTypeName:()Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: iconst_1
ireturn
13: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
aload 4
arraylength
if_icmplt 11
end local 6 15: StackMap locals:
StackMap stack:
aload 5
ifnull 22
16: iconst_0
istore 6
start local 6 17: goto 21
18: StackMap locals: int
StackMap stack:
aload 5
iload 6
aaload
invokevirtual javassist.bytecode.annotation.Annotation.getTypeName:()Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
19: iconst_1
ireturn
20: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
21: iload 6
aload 5
arraylength
if_icmplt 18
end local 6 22: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 annotationTypeName Ljava/lang/String;
0 23 1 cp Ljavassist/ClassPool;
0 23 2 a1 Ljavassist/bytecode/AnnotationsAttribute;
0 23 3 a2 Ljavassist/bytecode/AnnotationsAttribute;
2 3 4 anno1 [Ljavassist/bytecode/annotation/Annotation;
4 23 4 anno1 [Ljavassist/bytecode/annotation/Annotation;
6 7 5 anno2 [Ljavassist/bytecode/annotation/Annotation;
8 23 5 anno2 [Ljavassist/bytecode/annotation/Annotation;
10 15 6 i I
17 22 6 i I
MethodParameters:
Name Flags
annotationTypeName
cp
a1
a2
public getAnnotation(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 2
start local 2 1: aload 2
ldc "RuntimeInvisibleAnnotations"
invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
2: checkcast javassist.bytecode.AnnotationsAttribute
astore 3
start local 3 3: aload 2
ldc "RuntimeVisibleAnnotations"
invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
4: checkcast javassist.bytecode.AnnotationsAttribute
astore 4
start local 4 5: aload 1
aload 0
invokevirtual javassist.CtClassType.getClassPool:()Ljavassist/ClassPool;
aload 3
aload 4
invokestatic javassist.CtClassType.getAnnotationType:(Ljava/lang/Class;Ljavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavassist/CtClassType;
0 6 1 clz Ljava/lang/Class<*>;
1 6 2 cf Ljavassist/bytecode/ClassFile;
3 6 3 ainfo Ljavassist/bytecode/AnnotationsAttribute;
5 6 4 ainfo2 Ljavassist/bytecode/AnnotationsAttribute;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
clz
static getAnnotationType(java.lang.Class<?>, javassist.ClassPool, javassist.bytecode.AnnotationsAttribute, javassist.bytecode.AnnotationsAttribute);
descriptor: (Ljava/lang/Class;Ljavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 3
1: aconst_null
astore 4
start local 4 2: goto 4
end local 4 3: StackMap locals:
StackMap stack:
aload 2
invokevirtual javassist.bytecode.AnnotationsAttribute.getAnnotations:()[Ljavassist/bytecode/annotation/Annotation;
astore 4
start local 4 4: StackMap locals: javassist.bytecode.annotation.Annotation[]
StackMap stack:
aload 3
ifnonnull 7
5: aconst_null
astore 5
start local 5 6: goto 8
end local 5 7: StackMap locals:
StackMap stack:
aload 3
invokevirtual javassist.bytecode.AnnotationsAttribute.getAnnotations:()[Ljavassist/bytecode/annotation/Annotation;
astore 5
start local 5 8: StackMap locals: javassist.bytecode.annotation.Annotation[]
StackMap stack:
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 6
start local 6 9: aload 4
ifnull 16
10: iconst_0
istore 7
start local 7 11: goto 15
12: StackMap locals: java.lang.String int
StackMap stack:
aload 4
iload 7
aaload
invokevirtual javassist.bytecode.annotation.Annotation.getTypeName:()Ljava/lang/String;
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
13: aload 4
iload 7
aaload
aload 1
invokestatic javassist.CtClassType.toAnnoType:(Ljavassist/bytecode/annotation/Annotation;Ljavassist/ClassPool;)Ljava/lang/Object;
areturn
14: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
15: iload 7
aload 4
arraylength
if_icmplt 12
end local 7 16: StackMap locals:
StackMap stack:
aload 5
ifnull 23
17: iconst_0
istore 7
start local 7 18: goto 22
19: StackMap locals: int
StackMap stack:
aload 5
iload 7
aaload
invokevirtual javassist.bytecode.annotation.Annotation.getTypeName:()Ljava/lang/String;
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
20: aload 5
iload 7
aaload
aload 1
invokestatic javassist.CtClassType.toAnnoType:(Ljavassist/bytecode/annotation/Annotation;Ljavassist/ClassPool;)Ljava/lang/Object;
areturn
21: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
22: iload 7
aload 5
arraylength
if_icmplt 19
end local 7 23: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 clz Ljava/lang/Class<*>;
0 24 1 cp Ljavassist/ClassPool;
0 24 2 a1 Ljavassist/bytecode/AnnotationsAttribute;
0 24 3 a2 Ljavassist/bytecode/AnnotationsAttribute;
2 3 4 anno1 [Ljavassist/bytecode/annotation/Annotation;
4 24 4 anno1 [Ljavassist/bytecode/annotation/Annotation;
6 7 5 anno2 [Ljavassist/bytecode/annotation/Annotation;
8 24 5 anno2 [Ljavassist/bytecode/annotation/Annotation;
9 24 6 typeName Ljava/lang/String;
11 16 7 i I
18 23 7 i I
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/Class<*>;Ljavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)Ljava/lang/Object;
MethodParameters:
Name Flags
clz
cp
a1
a2
public java.lang.Object[] getAnnotations();
descriptor: ()[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual javassist.CtClassType.getAnnotations:(Z)[Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
Exceptions:
throws java.lang.ClassNotFoundException
public java.lang.Object[] getAvailableAnnotations();
descriptor: ()[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual javassist.CtClassType.getAnnotations:(Z)[Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 1
start local 1 3: new java.lang.RuntimeException
dup
ldc "Unexpected exception "
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtClassType;
3 4 1 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
0 1 2 Class java.lang.ClassNotFoundException
private java.lang.Object[] getAnnotations(boolean);
descriptor: (Z)[Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 2
start local 2 1: aload 2
ldc "RuntimeInvisibleAnnotations"
invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
2: checkcast javassist.bytecode.AnnotationsAttribute
astore 3
start local 3 3: aload 2
ldc "RuntimeVisibleAnnotations"
invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
4: checkcast javassist.bytecode.AnnotationsAttribute
astore 4
start local 4 5: iload 1
aload 0
invokevirtual javassist.CtClassType.getClassPool:()Ljavassist/ClassPool;
aload 3
aload 4
invokestatic javassist.CtClassType.toAnnotationType:(ZLjavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)[Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavassist/CtClassType;
0 6 1 ignoreNotFound Z
1 6 2 cf Ljavassist/bytecode/ClassFile;
3 6 3 ainfo Ljavassist/bytecode/AnnotationsAttribute;
5 6 4 ainfo2 Ljavassist/bytecode/AnnotationsAttribute;
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
ignoreNotFound
static java.lang.Object[] toAnnotationType(boolean, javassist.ClassPool, javassist.bytecode.AnnotationsAttribute, javassist.bytecode.AnnotationsAttribute);
descriptor: (ZLjavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 4
1: aconst_null
astore 4
start local 4 2: iconst_0
istore 6
start local 6 3: goto 6
end local 6 end local 4 4: StackMap locals:
StackMap stack:
aload 2
invokevirtual javassist.bytecode.AnnotationsAttribute.getAnnotations:()[Ljavassist/bytecode/annotation/Annotation;
astore 4
start local 4 5: aload 4
arraylength
istore 6
start local 6 6: StackMap locals: int javassist.ClassPool javassist.bytecode.AnnotationsAttribute javassist.bytecode.AnnotationsAttribute javassist.bytecode.annotation.Annotation[] top int
StackMap stack:
aload 3
ifnonnull 10
7: aconst_null
astore 5
start local 5 8: iconst_0
istore 7
start local 7 9: goto 12
end local 7 end local 5 10: StackMap locals:
StackMap stack:
aload 3
invokevirtual javassist.bytecode.AnnotationsAttribute.getAnnotations:()[Ljavassist/bytecode/annotation/Annotation;
astore 5
start local 5 11: aload 5
arraylength
istore 7
start local 7 12: StackMap locals: int javassist.ClassPool javassist.bytecode.AnnotationsAttribute javassist.bytecode.AnnotationsAttribute javassist.bytecode.annotation.Annotation[] javassist.bytecode.annotation.Annotation[] int int
StackMap stack:
iload 0
ifne 25
13: iload 6
iload 7
iadd
anewarray java.lang.Object
astore 8
start local 8 14: iconst_0
istore 9
start local 9 15: goto 18
16: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 8
iload 9
aload 4
iload 9
aaload
aload 1
invokestatic javassist.CtClassType.toAnnoType:(Ljavassist/bytecode/annotation/Annotation;Ljavassist/ClassPool;)Ljava/lang/Object;
aastore
17: iinc 9 1
StackMap locals:
StackMap stack:
18: iload 9
iload 6
if_icmplt 16
end local 9 19: iconst_0
istore 9
start local 9 20: goto 23
21: StackMap locals:
StackMap stack:
aload 8
iload 9
iload 6
iadd
aload 5
iload 9
aaload
aload 1
invokestatic javassist.CtClassType.toAnnoType:(Ljavassist/bytecode/annotation/Annotation;Ljavassist/ClassPool;)Ljava/lang/Object;
aastore
22: iinc 9 1
StackMap locals:
StackMap stack:
23: iload 9
iload 7
if_icmplt 21
end local 9 24: aload 8
areturn
end local 8 25: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 26: iconst_0
istore 9
start local 9 27: goto 32
28: StackMap locals: java.util.List int
StackMap stack:
aload 8
aload 4
iload 9
aaload
aload 1
invokestatic javassist.CtClassType.toAnnoType:(Ljavassist/bytecode/annotation/Annotation;Ljavassist/ClassPool;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
29: goto 31
30: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
31: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
32: iload 9
iload 6
if_icmplt 28
end local 9 33: iconst_0
istore 9
start local 9 34: goto 39
35: StackMap locals:
StackMap stack:
aload 8
aload 5
iload 9
aaload
aload 1
invokestatic javassist.CtClassType.toAnnoType:(Ljavassist/bytecode/annotation/Annotation;Ljavassist/ClassPool;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
36: goto 38
37: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
38: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
39: iload 9
iload 7
if_icmplt 35
end local 9 40: aload 8
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 ignoreNotFound Z
0 41 1 cp Ljavassist/ClassPool;
0 41 2 a1 Ljavassist/bytecode/AnnotationsAttribute;
0 41 3 a2 Ljavassist/bytecode/AnnotationsAttribute;
2 4 4 anno1 [Ljavassist/bytecode/annotation/Annotation;
5 41 4 anno1 [Ljavassist/bytecode/annotation/Annotation;
8 10 5 anno2 [Ljavassist/bytecode/annotation/Annotation;
11 41 5 anno2 [Ljavassist/bytecode/annotation/Annotation;
3 4 6 size1 I
6 41 6 size1 I
9 10 7 size2 I
12 41 7 size2 I
14 25 8 result [Ljava/lang/Object;
15 19 9 i I
20 24 9 j I
26 41 8 annotations Ljava/util/List<Ljava/lang/Object;>;
27 33 9 i I
34 40 9 j I
Exception table:
from to target type
28 29 30 Class java.lang.ClassNotFoundException
35 36 37 Class java.lang.ClassNotFoundException
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
ignoreNotFound
cp
a1
a2
static java.lang.Object[][] toAnnotationType(boolean, javassist.ClassPool, javassist.bytecode.ParameterAnnotationsAttribute, javassist.bytecode.ParameterAnnotationsAttribute, javassist.bytecode.MethodInfo);
descriptor: (ZLjavassist/ClassPool;Ljavassist/bytecode/ParameterAnnotationsAttribute;Ljavassist/bytecode/ParameterAnnotationsAttribute;Ljavassist/bytecode/MethodInfo;)[[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 2
ifnull 3
2: aload 2
invokevirtual javassist.bytecode.ParameterAnnotationsAttribute.numParameters:()I
istore 5
goto 6
3: StackMap locals: int
StackMap stack:
aload 3
ifnull 5
4: aload 3
invokevirtual javassist.bytecode.ParameterAnnotationsAttribute.numParameters:()I
istore 5
goto 6
5: StackMap locals:
StackMap stack:
aload 4
invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
invokestatic javassist.bytecode.Descriptor.numOfParameters:(Ljava/lang/String;)I
istore 5
6: StackMap locals:
StackMap stack:
iload 5
anewarray java.lang.Object[]
astore 6
start local 6 7: iconst_0
istore 7
start local 7 8: goto 51
9: StackMap locals: java.lang.Object[][] int
StackMap stack:
aload 2
ifnonnull 13
10: aconst_null
astore 8
start local 8 11: iconst_0
istore 10
start local 10 12: goto 15
end local 10 end local 8 13: StackMap locals:
StackMap stack:
aload 2
invokevirtual javassist.bytecode.ParameterAnnotationsAttribute.getAnnotations:()[[Ljavassist/bytecode/annotation/Annotation;
iload 7
aaload
astore 8
start local 8 14: aload 8
arraylength
istore 10
start local 10 15: StackMap locals: int javassist.ClassPool javassist.bytecode.ParameterAnnotationsAttribute javassist.bytecode.ParameterAnnotationsAttribute javassist.bytecode.MethodInfo int java.lang.Object[][] int javassist.bytecode.annotation.Annotation[] top int
StackMap stack:
aload 3
ifnonnull 19
16: aconst_null
astore 9
start local 9 17: iconst_0
istore 11
start local 11 18: goto 21
end local 11 end local 9 19: StackMap locals:
StackMap stack:
aload 3
invokevirtual javassist.bytecode.ParameterAnnotationsAttribute.getAnnotations:()[[Ljavassist/bytecode/annotation/Annotation;
iload 7
aaload
astore 9
start local 9 20: aload 9
arraylength
istore 11
start local 11 21: StackMap locals: int javassist.ClassPool javassist.bytecode.ParameterAnnotationsAttribute javassist.bytecode.ParameterAnnotationsAttribute javassist.bytecode.MethodInfo int java.lang.Object[][] int javassist.bytecode.annotation.Annotation[] javassist.bytecode.annotation.Annotation[] int int
StackMap stack:
iload 0
ifne 34
22: aload 6
iload 7
iload 10
iload 11
iadd
anewarray java.lang.Object
aastore
23: iconst_0
istore 12
start local 12 24: goto 27
25: StackMap locals: int
StackMap stack:
aload 6
iload 7
aaload
iload 12
aload 8
iload 12
aaload
aload 1
invokestatic javassist.CtClassType.toAnnoType:(Ljavassist/bytecode/annotation/Annotation;Ljavassist/ClassPool;)Ljava/lang/Object;
aastore
26: iinc 12 1
StackMap locals:
StackMap stack:
27: iload 12
iload 10
if_icmplt 25
end local 12 28: iconst_0
istore 12
start local 12 29: goto 32
30: StackMap locals:
StackMap stack:
aload 6
iload 7
aaload
iload 12
iload 10
iadd
aload 9
iload 12
aaload
aload 1
invokestatic javassist.CtClassType.toAnnoType:(Ljavassist/bytecode/annotation/Annotation;Ljavassist/ClassPool;)Ljava/lang/Object;
aastore
31: iinc 12 1
StackMap locals:
StackMap stack:
32: iload 12
iload 11
if_icmplt 30
end local 12 33: goto 50
34: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 35: iconst_0
istore 13
start local 13 36: goto 41
37: StackMap locals: java.util.List int
StackMap stack:
aload 12
aload 8
iload 13
aaload
aload 1
invokestatic javassist.CtClassType.toAnnoType:(Ljavassist/bytecode/annotation/Annotation;Ljavassist/ClassPool;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
38: goto 40
39: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
40: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
41: iload 13
iload 10
if_icmplt 37
end local 13 42: iconst_0
istore 13
start local 13 43: goto 48
44: StackMap locals:
StackMap stack:
aload 12
aload 9
iload 13
aaload
aload 1
invokestatic javassist.CtClassType.toAnnoType:(Ljavassist/bytecode/annotation/Annotation;Ljavassist/ClassPool;)Ljava/lang/Object;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
45: goto 47
46: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
47: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
48: iload 13
iload 11
if_icmplt 44
end local 13 49: aload 6
iload 7
aload 12
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
aastore
end local 12 end local 11 end local 10 end local 9 end local 8 50: StackMap locals: int javassist.ClassPool javassist.bytecode.ParameterAnnotationsAttribute javassist.bytecode.ParameterAnnotationsAttribute javassist.bytecode.MethodInfo int java.lang.Object[][] int
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
51: iload 7
iload 5
if_icmplt 9
end local 7 52: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 ignoreNotFound Z
0 53 1 cp Ljavassist/ClassPool;
0 53 2 a1 Ljavassist/bytecode/ParameterAnnotationsAttribute;
0 53 3 a2 Ljavassist/bytecode/ParameterAnnotationsAttribute;
0 53 4 minfo Ljavassist/bytecode/MethodInfo;
1 53 5 numParameters I
7 53 6 result [[Ljava/lang/Object;
8 52 7 i I
11 13 8 anno1 [Ljavassist/bytecode/annotation/Annotation;
14 50 8 anno1 [Ljavassist/bytecode/annotation/Annotation;
17 19 9 anno2 [Ljavassist/bytecode/annotation/Annotation;
20 50 9 anno2 [Ljavassist/bytecode/annotation/Annotation;
12 13 10 size1 I
15 50 10 size1 I
18 19 11 size2 I
21 50 11 size2 I
24 28 12 j I
29 33 12 j I
35 50 12 annotations Ljava/util/List<Ljava/lang/Object;>;
36 42 13 j I
43 49 13 j I
Exception table:
from to target type
37 38 39 Class java.lang.ClassNotFoundException
44 45 46 Class java.lang.ClassNotFoundException
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
ignoreNotFound
cp
a1
a2
minfo
private static java.lang.Object toAnnoType(javassist.bytecode.annotation.Annotation, javassist.ClassPool);
descriptor: (Ljavassist/bytecode/annotation/Annotation;Ljavassist/ClassPool;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javassist.ClassPool.getClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual javassist.bytecode.annotation.Annotation.toAnnotationType:(Ljava/lang/ClassLoader;Ljavassist/ClassPool;)Ljava/lang/Object;
2: areturn
end local 2 3: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
pop
4: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 5: aload 0
aload 2
aload 1
invokevirtual javassist.bytecode.annotation.Annotation.toAnnotationType:(Ljava/lang/ClassLoader;Ljavassist/ClassPool;)Ljava/lang/Object;
6: areturn
7: StackMap locals: javassist.bytecode.annotation.Annotation javassist.ClassPool java.lang.ClassLoader
StackMap stack: java.lang.ClassNotFoundException
pop
8: aload 1
aload 0
invokevirtual javassist.bytecode.annotation.Annotation.getTypeName:()Ljava/lang/String;
invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
invokevirtual javassist.CtClass.toClass:()Ljava/lang/Class;
astore 3
start local 3 9: aload 3
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
10: aload 3
aload 1
aload 0
11: invokestatic javassist.bytecode.annotation.AnnotationImpl.make:(Ljava/lang/ClassLoader;Ljava/lang/Class;Ljavassist/ClassPool;Ljavassist/bytecode/annotation/Annotation;)Ljava/lang/Object;
12: areturn
end local 3 13: StackMap locals:
StackMap stack: java.lang.Throwable
pop
14: new java.lang.ClassNotFoundException
dup
aload 0
invokevirtual javassist.bytecode.annotation.Annotation.getTypeName:()Ljava/lang/String;
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 anno Ljavassist/bytecode/annotation/Annotation;
0 15 1 cp Ljavassist/ClassPool;
1 3 2 cl Ljava/lang/ClassLoader;
5 15 2 cl2 Ljava/lang/ClassLoader;
9 13 3 clazz Ljava/lang/Class<*>;
Exception table:
from to target type
0 2 3 Class java.lang.ClassNotFoundException
5 6 7 Class java.lang.ClassNotFoundException
8 12 13 Class java.lang.Throwable
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
anno
cp
public boolean subclassOf(javassist.CtClass);
descriptor: (Ljavassist/CtClass;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
astore 2
start local 2 3: aload 0
astore 3
start local 3 4: goto 8
5: StackMap locals: java.lang.String javassist.CtClass
StackMap stack:
aload 3
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 3
invokevirtual javassist.CtClass.getSuperclass:()Ljavassist/CtClass;
astore 3
8: StackMap locals:
StackMap stack:
aload 3
ifnonnull 5
9: goto 11
10: StackMap locals:
StackMap stack: java.lang.Exception
pop
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljavassist/CtClassType;
0 12 1 superclass Ljavassist/CtClass;
3 12 2 superName Ljava/lang/String;
4 12 3 curr Ljavassist/CtClass;
Exception table:
from to target type
4 6 10 Class java.lang.Exception
7 9 10 Class java.lang.Exception
MethodParameters:
Name Flags
superclass
public javassist.CtClass getSuperclass();
descriptor: ()Ljavassist/CtClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.ClassFile.getSuperclass:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 1
invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtClassType;
1 4 1 supername Ljava/lang/String;
Exceptions:
throws javassist.NotFoundException
public void setSuperclass(javassist.CtClass);
descriptor: (Ljavassist/CtClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: aload 0
invokevirtual javassist.CtClassType.isInterface:()Z
ifeq 3
2: aload 0
aload 1
invokevirtual javassist.CtClassType.addInterface:(Ljavassist/CtClass;)V
goto 4
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
aload 1
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
invokevirtual javassist.bytecode.ClassFile.setSuperclass:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavassist/CtClassType;
0 5 1 clazz Ljavassist/CtClass;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
clazz
public javassist.CtClass[] getInterfaces();
descriptor: ()[Ljavassist/CtClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.ClassFile.getInterfaces:()[Ljava/lang/String;
astore 1
start local 1 1: aload 1
arraylength
istore 2
start local 2 2: iload 2
anewarray javassist.CtClass
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: javassist.CtClassType java.lang.String[] int javassist.CtClass[] int
StackMap stack:
aload 3
iload 4
aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 1
iload 4
aaload
invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
aastore
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 2
if_icmplt 5
end local 4 8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavassist/CtClassType;
1 9 1 ifs [Ljava/lang/String;
2 9 2 num I
3 9 3 ifc [Ljavassist/CtClass;
4 8 4 i I
Exceptions:
throws javassist.NotFoundException
public void setInterfaces(javassist.CtClass[]);
descriptor: ([Ljavassist/CtClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: aload 1
ifnonnull 4
2: iconst_0
anewarray java.lang.String
astore 2
start local 2 3: goto 11
end local 2 4: StackMap locals:
StackMap stack:
aload 1
arraylength
istore 3
start local 3 5: iload 3
anewarray java.lang.String
astore 2
start local 2 6: iconst_0
istore 4
start local 4 7: goto 10
8: StackMap locals: java.lang.String[] int int
StackMap stack:
aload 2
iload 4
aload 1
iload 4
aaload
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
aastore
9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 3
if_icmplt 8
end local 4 end local 3 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
aload 2
invokevirtual javassist.bytecode.ClassFile.setInterfaces:([Ljava/lang/String;)V
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljavassist/CtClassType;
0 13 1 list [Ljavassist/CtClass;
3 4 2 ifs [Ljava/lang/String;
6 13 2 ifs [Ljava/lang/String;
5 11 3 num I
7 11 4 i I
MethodParameters:
Name Flags
list
public void addInterface(javassist.CtClass);
descriptor: (Ljavassist/CtClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: aload 1
ifnull 3
2: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
aload 1
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
invokevirtual javassist.bytecode.ClassFile.addInterface:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtClassType;
0 4 1 anInterface Ljavassist/CtClass;
MethodParameters:
Name Flags
anInterface
public javassist.CtClass getDeclaringClass();
descriptor: ()Ljavassist/CtClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 1
start local 1 1: aload 1
2: ldc "InnerClasses"
3: invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.InnerClassesAttribute
astore 2
start local 2 4: aload 2
ifnonnull 6
5: aconst_null
areturn
6: StackMap locals: javassist.bytecode.ClassFile javassist.bytecode.InnerClassesAttribute
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
astore 3
start local 3 7: aload 2
invokevirtual javassist.bytecode.InnerClassesAttribute.tableLength:()I
istore 4
start local 4 8: iconst_0
istore 5
start local 5 9: goto 21
10: StackMap locals: java.lang.String int int
StackMap stack:
aload 3
aload 2
iload 5
invokevirtual javassist.bytecode.InnerClassesAttribute.innerClass:(I)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
11: aload 2
iload 5
invokevirtual javassist.bytecode.InnerClassesAttribute.outerClass:(I)Ljava/lang/String;
astore 6
start local 6 12: aload 6
ifnull 14
13: aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 6
invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
areturn
14: StackMap locals: java.lang.String
StackMap stack:
aload 1
15: ldc "EnclosingMethod"
16: invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.EnclosingMethodAttribute
17: astore 7
start local 7 18: aload 7
ifnull 20
19: aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 7
invokevirtual javassist.bytecode.EnclosingMethodAttribute.className:()Ljava/lang/String;
invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
areturn
end local 7 end local 6 20: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
21: iload 5
iload 4
if_icmplt 10
end local 5 22: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljavassist/CtClassType;
1 23 1 cf Ljavassist/bytecode/ClassFile;
4 23 2 ica Ljavassist/bytecode/InnerClassesAttribute;
7 23 3 name Ljava/lang/String;
8 23 4 n I
9 22 5 i I
12 20 6 outName Ljava/lang/String;
18 20 7 ema Ljavassist/bytecode/EnclosingMethodAttribute;
Exceptions:
throws javassist.NotFoundException
public javassist.CtBehavior getEnclosingBehavior();
descriptor: ()Ljavassist/CtBehavior;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 1
start local 1 1: aload 1
2: ldc "EnclosingMethod"
3: invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.EnclosingMethodAttribute
4: astore 2
start local 2 5: aload 2
ifnonnull 7
6: aconst_null
areturn
7: StackMap locals: javassist.bytecode.ClassFile javassist.bytecode.EnclosingMethodAttribute
StackMap stack:
aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 2
invokevirtual javassist.bytecode.EnclosingMethodAttribute.className:()Ljava/lang/String;
invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
astore 3
start local 3 8: aload 2
invokevirtual javassist.bytecode.EnclosingMethodAttribute.methodName:()Ljava/lang/String;
astore 4
start local 4 9: ldc "<init>"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: aload 3
aload 2
invokevirtual javassist.bytecode.EnclosingMethodAttribute.methodDescriptor:()Ljava/lang/String;
invokevirtual javassist.CtClass.getConstructor:(Ljava/lang/String;)Ljavassist/CtConstructor;
areturn
11: StackMap locals: javassist.CtClass java.lang.String
StackMap stack:
ldc "<clinit>"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: aload 3
invokevirtual javassist.CtClass.getClassInitializer:()Ljavassist/CtConstructor;
areturn
13: StackMap locals:
StackMap stack:
aload 3
aload 4
aload 2
invokevirtual javassist.bytecode.EnclosingMethodAttribute.methodDescriptor:()Ljava/lang/String;
invokevirtual javassist.CtClass.getMethod:(Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtMethod;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljavassist/CtClassType;
1 14 1 cf Ljavassist/bytecode/ClassFile;
5 14 2 ema Ljavassist/bytecode/EnclosingMethodAttribute;
8 14 3 enc Ljavassist/CtClass;
9 14 4 name Ljava/lang/String;
Exceptions:
throws javassist.NotFoundException
public javassist.CtClass makeNestedClass(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljavassist/CtClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifne 4
1: new java.lang.RuntimeException
dup
2: ldc "sorry, only nested static class is supported"
3: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.checkModify:()V
5: aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
new java.lang.StringBuilder
dup
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "$"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual javassist.ClassPool.makeNestedClass:(Ljava/lang/String;)Ljavassist/CtClass;
astore 3
start local 3 6: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 4
start local 4 7: aload 3
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 5
start local 5 8: aload 4
9: ldc "InnerClasses"
10: invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.InnerClassesAttribute
astore 6
start local 6 11: aload 6
ifnonnull 14
12: new javassist.bytecode.InnerClassesAttribute
dup
aload 4
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
invokespecial javassist.bytecode.InnerClassesAttribute.<init>:(Ljavassist/bytecode/ConstPool;)V
astore 6
13: aload 4
aload 6
invokevirtual javassist.bytecode.ClassFile.addAttribute:(Ljavassist/bytecode/AttributeInfo;)V
14: StackMap locals: javassist.CtClassType java.lang.String int javassist.CtClass javassist.bytecode.ClassFile javassist.bytecode.ClassFile javassist.bytecode.InnerClassesAttribute
StackMap stack:
aload 6
aload 3
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
aload 1
15: aload 5
invokevirtual javassist.bytecode.ClassFile.getAccessFlags:()I
bipush -33
iand
bipush 8
ior
16: invokevirtual javassist.bytecode.InnerClassesAttribute.append:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
17: aload 5
aload 6
aload 5
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
aconst_null
invokevirtual javassist.bytecode.InnerClassesAttribute.copy:(Ljavassist/bytecode/ConstPool;Ljava/util/Map;)Ljavassist/bytecode/AttributeInfo;
invokevirtual javassist.bytecode.ClassFile.addAttribute:(Ljavassist/bytecode/AttributeInfo;)V
18: aload 3
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljavassist/CtClassType;
0 19 1 name Ljava/lang/String;
0 19 2 isStatic Z
6 19 3 c Ljavassist/CtClass;
7 19 4 cf Ljavassist/bytecode/ClassFile;
8 19 5 cf2 Ljavassist/bytecode/ClassFile;
11 19 6 ica Ljavassist/bytecode/InnerClassesAttribute;
MethodParameters:
Name Flags
name
isStatic
private void nameReplaced();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.hasMemberCache:()Ljavassist/CtMember$Cache;
astore 1
start local 1 1: aload 1
ifnull 8
2: aload 1
invokevirtual javassist.CtMember$Cache.methodHead:()Ljavassist/CtMember;
astore 2
start local 2 3: aload 1
invokevirtual javassist.CtMember$Cache.lastMethod:()Ljavassist/CtMember;
astore 3
start local 3 4: goto 7
5: StackMap locals: javassist.CtMember$Cache javassist.CtMember javassist.CtMember
StackMap stack:
aload 2
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 2
6: aload 2
invokevirtual javassist.CtMember.nameReplaced:()V
7: StackMap locals:
StackMap stack:
aload 2
aload 3
if_acmpne 5
end local 3 end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavassist/CtClassType;
1 9 1 cache Ljavassist/CtMember$Cache;
3 8 2 mth Ljavassist/CtMember;
4 8 3 tail Ljavassist/CtMember;
protected javassist.CtMember$Cache hasMemberCache();
descriptor: ()Ljavassist/CtMember$Cache;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtClassType.memberCache:Ljava/lang/ref/Reference;
ifnull 2
1: aload 0
getfield javassist.CtClassType.memberCache:Ljava/lang/ref/Reference;
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
checkcast javassist.CtMember$Cache
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtClassType;
protected synchronized javassist.CtMember$Cache getMembers();
descriptor: ()Ljavassist/CtMember$Cache;
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield javassist.CtClassType.memberCache:Ljava/lang/ref/Reference;
ifnull 3
2: aload 0
getfield javassist.CtClassType.memberCache:Ljava/lang/ref/Reference;
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
checkcast javassist.CtMember$Cache
dup
astore 1
ifnonnull 7
3: StackMap locals: javassist.CtMember$Cache
StackMap stack:
new javassist.CtMember$Cache
dup
aload 0
invokespecial javassist.CtMember$Cache.<init>:(Ljavassist/CtClassType;)V
astore 1
4: aload 0
aload 1
invokevirtual javassist.CtClassType.makeFieldCache:(Ljavassist/CtMember$Cache;)V
5: aload 0
aload 1
invokevirtual javassist.CtClassType.makeBehaviorCache:(Ljavassist/CtMember$Cache;)V
6: aload 0
new java.lang.ref.WeakReference
dup
aload 1
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield javassist.CtClassType.memberCache:Ljava/lang/ref/Reference;
7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavassist/CtClassType;
1 8 1 cache Ljavassist/CtMember$Cache;
private void makeFieldCache(javassist.CtMember$Cache);
descriptor: (Ljavassist/CtMember$Cache;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
invokevirtual javassist.CtClassType.getClassFile3:(Z)Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.ClassFile.getFields:()Ljava/util/List;
astore 2
start local 2 1: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: javassist.CtClassType javassist.CtMember$Cache java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javassist.bytecode.FieldInfo
astore 3
start local 3 3: aload 1
new javassist.CtField
dup
aload 3
aload 0
invokespecial javassist.CtField.<init>:(Ljavassist/bytecode/FieldInfo;Ljavassist/CtClass;)V
invokevirtual javassist.CtMember$Cache.addField:(Ljavassist/CtMember;)V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavassist/CtClassType;
0 6 1 cache Ljavassist/CtMember$Cache;
1 6 2 fields Ljava/util/List<Ljavassist/bytecode/FieldInfo;>;
3 4 3 finfo Ljavassist/bytecode/FieldInfo;
MethodParameters:
Name Flags
cache
private void makeBehaviorCache(javassist.CtMember$Cache);
descriptor: (Ljavassist/CtMember$Cache;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
invokevirtual javassist.CtClassType.getClassFile3:(Z)Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.ClassFile.getMethods:()Ljava/util/List;
astore 2
start local 2 1: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: javassist.CtClassType javassist.CtMember$Cache java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javassist.bytecode.MethodInfo
astore 3
start local 3 3: aload 3
invokevirtual javassist.bytecode.MethodInfo.isMethod:()Z
ifeq 5
4: aload 1
new javassist.CtMethod
dup
aload 3
aload 0
invokespecial javassist.CtMethod.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
invokevirtual javassist.CtMember$Cache.addMethod:(Ljavassist/CtMember;)V
goto 6
5: StackMap locals: javassist.CtClassType javassist.CtMember$Cache java.util.List javassist.bytecode.MethodInfo java.util.Iterator
StackMap stack:
aload 1
new javassist.CtConstructor
dup
aload 3
aload 0
invokespecial javassist.CtConstructor.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
invokevirtual javassist.CtMember$Cache.addConstructor:(Ljavassist/CtMember;)V
end local 3 6: StackMap locals: javassist.CtClassType javassist.CtMember$Cache java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavassist/CtClassType;
0 8 1 cache Ljavassist/CtMember$Cache;
1 8 2 methods Ljava/util/List<Ljavassist/bytecode/MethodInfo;>;
3 6 3 minfo Ljavassist/bytecode/MethodInfo;
MethodParameters:
Name Flags
cache
public javassist.CtField[] getFields();
descriptor: ()[Ljavassist/CtField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokestatic javassist.CtClassType.getFields:(Ljava/util/List;Ljavassist/CtClass;)V
2: aload 1
aload 1
invokeinterface java.util.List.size:()I
anewarray javassist.CtField
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javassist.CtField[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtClassType;
1 3 1 alist Ljava/util/List<Ljavassist/CtMember;>;
private static void getFields(java.util.List<javassist.CtMember>, javassist.CtClass);
descriptor: (Ljava/util/List;Ljavassist/CtClass;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual javassist.CtClass.getSuperclass:()Ljavassist/CtClass;
invokestatic javassist.CtClassType.getFields:(Ljava/util/List;Ljavassist/CtClass;)V
3: goto 5
4: StackMap locals:
StackMap stack: javassist.NotFoundException
pop
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual javassist.CtClass.getInterfaces:()[Ljavassist/CtClass;
astore 2
start local 2 6: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 10
StackMap locals: java.util.List javassist.CtClass javassist.CtClass[] top int int javassist.CtClass[]
StackMap stack:
7: aload 6
iload 4
aaload
astore 3
start local 3 8: aload 0
aload 3
invokestatic javassist.CtClassType.getFields:(Ljava/util/List;Ljavassist/CtClass;)V
end local 3 9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 5
if_icmplt 7
end local 2 11: goto 13
12: StackMap locals: java.util.List javassist.CtClass
StackMap stack: javassist.NotFoundException
pop
13: StackMap locals:
StackMap stack:
aload 1
checkcast javassist.CtClassType
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 2
start local 2 14: aload 2
invokevirtual javassist.CtMember$Cache.fieldHead:()Ljavassist/CtMember;
astore 3
start local 3 15: aload 2
invokevirtual javassist.CtMember$Cache.lastField:()Ljavassist/CtMember;
astore 4
start local 4 16: goto 20
17: StackMap locals: javassist.CtMember$Cache javassist.CtMember javassist.CtMember
StackMap stack:
aload 3
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 3
18: aload 3
invokevirtual javassist.CtMember.getModifiers:()I
invokestatic javassist.Modifier.isPrivate:(I)Z
ifne 20
19: aload 0
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: StackMap locals:
StackMap stack:
aload 3
aload 4
if_acmpne 17
21: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 alist Ljava/util/List<Ljavassist/CtMember;>;
0 22 1 cc Ljavassist/CtClass;
6 11 2 ifs [Ljavassist/CtClass;
8 9 3 ctc Ljavassist/CtClass;
14 22 2 memCache Ljavassist/CtMember$Cache;
15 22 3 field Ljavassist/CtMember;
16 22 4 tail Ljavassist/CtMember;
Exception table:
from to target type
2 3 4 Class javassist.NotFoundException
5 11 12 Class javassist.NotFoundException
Signature: (Ljava/util/List<Ljavassist/CtMember;>;Ljavassist/CtClass;)V
MethodParameters:
Name Flags
alist
cc
public javassist.CtField getField(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual javassist.CtClassType.getField2:(Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
astore 3
start local 3 1: aload 0
aload 3
aload 1
aload 2
invokevirtual javassist.CtClassType.checkGetField:(Ljavassist/CtField;Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavassist/CtClassType;
0 2 1 name Ljava/lang/String;
0 2 2 desc Ljava/lang/String;
1 2 3 f Ljavassist/CtField;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
name
desc
private javassist.CtField checkGetField(javassist.CtField, java.lang.String, java.lang.String);
descriptor: (Ljavassist/CtField;Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 5
1: new java.lang.StringBuilder
dup
ldc "field: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 2: aload 3
ifnull 4
3: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
4: StackMap locals: java.lang.String
StackMap stack:
new javassist.NotFoundException
dup
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 4 5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavassist/CtClassType;
0 6 1 f Ljavassist/CtField;
0 6 2 name Ljava/lang/String;
0 6 3 desc Ljava/lang/String;
2 5 4 msg Ljava/lang/String;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
f
name
desc
javassist.CtField getField2(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
flags: (0x0000)
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual javassist.CtClassType.getDeclaredField2:(Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
areturn
3: StackMap locals: javassist.CtField
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getInterfaces:()[Ljavassist/CtClass;
astore 4
start local 4 4: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 11
StackMap locals: javassist.CtClassType java.lang.String java.lang.String javassist.CtField javassist.CtClass[] top int int javassist.CtClass[]
StackMap stack:
5: aload 8
iload 6
aaload
astore 5
start local 5 6: aload 5
aload 1
aload 2
invokevirtual javassist.CtClass.getField2:(Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
astore 9
start local 9 7: aload 9
ifnull 10
8: aload 9
9: areturn
end local 9 end local 5 10: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 7
if_icmplt 5
12: aload 0
invokevirtual javassist.CtClassType.getSuperclass:()Ljavassist/CtClass;
astore 5
start local 5 13: aload 5
ifnull 17
14: aload 5
aload 1
aload 2
invokevirtual javassist.CtClass.getField2:(Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
15: areturn
end local 5 end local 4 16: StackMap locals: javassist.CtClassType java.lang.String java.lang.String javassist.CtField
StackMap stack: javassist.NotFoundException
pop
17: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljavassist/CtClassType;
0 18 1 name Ljava/lang/String;
0 18 2 desc Ljava/lang/String;
1 18 3 df Ljavassist/CtField;
4 16 4 ifs [Ljavassist/CtClass;
6 10 5 ctc Ljavassist/CtClass;
7 10 9 f Ljavassist/CtField;
13 16 5 s Ljavassist/CtClass;
Exception table:
from to target type
3 9 16 Class javassist.NotFoundException
10 15 16 Class javassist.NotFoundException
MethodParameters:
Name Flags
name
desc
public javassist.CtField[] getDeclaredFields();
descriptor: ()[Ljavassist/CtField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 1
start local 1 1: aload 1
invokevirtual javassist.CtMember$Cache.fieldHead:()Ljavassist/CtMember;
astore 2
start local 2 2: aload 1
invokevirtual javassist.CtMember$Cache.lastField:()Ljavassist/CtMember;
astore 3
start local 3 3: aload 2
aload 3
invokestatic javassist.CtMember$Cache.count:(Ljavassist/CtMember;Ljavassist/CtMember;)I
istore 4
start local 4 4: iload 4
anewarray javassist.CtField
astore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 9
7: StackMap locals: javassist.CtClassType javassist.CtMember$Cache javassist.CtMember javassist.CtMember int javassist.CtField[] int
StackMap stack:
aload 2
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 2
8: aload 5
iload 6
iinc 6 1
aload 2
checkcast javassist.CtField
aastore
9: StackMap locals:
StackMap stack:
aload 2
aload 3
if_acmpne 7
10: aload 5
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljavassist/CtClassType;
1 11 1 memCache Ljavassist/CtMember$Cache;
2 11 2 field Ljavassist/CtMember;
3 11 3 tail Ljavassist/CtMember;
4 11 4 num I
5 11 5 cfs [Ljavassist/CtField;
6 11 6 i I
public javassist.CtField getDeclaredField(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavassist/CtField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual javassist.CtClassType.getDeclaredField:(Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
0 1 1 name Ljava/lang/String;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
name
public javassist.CtField getDeclaredField(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual javassist.CtClassType.getDeclaredField2:(Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
astore 3
start local 3 1: aload 0
aload 3
aload 1
aload 2
invokevirtual javassist.CtClassType.checkGetField:(Ljavassist/CtField;Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavassist/CtClassType;
0 2 1 name Ljava/lang/String;
0 2 2 desc Ljava/lang/String;
1 2 3 f Ljavassist/CtField;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
name
desc
private javassist.CtField getDeclaredField2(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtField;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 3
start local 3 1: aload 3
invokevirtual javassist.CtMember$Cache.fieldHead:()Ljavassist/CtMember;
astore 4
start local 4 2: aload 3
invokevirtual javassist.CtMember$Cache.lastField:()Ljavassist/CtMember;
astore 5
start local 5 3: goto 8
4: StackMap locals: javassist.CtMember$Cache javassist.CtMember javassist.CtMember
StackMap stack:
aload 4
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 4
5: aload 4
invokevirtual javassist.CtMember.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 2
ifnull 7
aload 2
aload 4
invokevirtual javassist.CtMember.getSignature:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: StackMap locals:
StackMap stack:
aload 4
checkcast javassist.CtField
areturn
8: StackMap locals:
StackMap stack:
aload 4
aload 5
if_acmpne 4
9: aconst_null
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavassist/CtClassType;
0 10 1 name Ljava/lang/String;
0 10 2 desc Ljava/lang/String;
1 10 3 memCache Ljavassist/CtMember$Cache;
2 10 4 field Ljavassist/CtMember;
3 10 5 tail Ljavassist/CtMember;
MethodParameters:
Name Flags
name
desc
public javassist.CtBehavior[] getDeclaredBehaviors();
descriptor: ()[Ljavassist/CtBehavior;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=10, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 1
start local 1 1: aload 1
invokevirtual javassist.CtMember$Cache.consHead:()Ljavassist/CtMember;
astore 2
start local 2 2: aload 1
invokevirtual javassist.CtMember$Cache.lastCons:()Ljavassist/CtMember;
astore 3
start local 3 3: aload 2
aload 3
invokestatic javassist.CtMember$Cache.count:(Ljavassist/CtMember;Ljavassist/CtMember;)I
istore 4
start local 4 4: aload 1
invokevirtual javassist.CtMember$Cache.methodHead:()Ljavassist/CtMember;
astore 5
start local 5 5: aload 1
invokevirtual javassist.CtMember$Cache.lastMethod:()Ljavassist/CtMember;
astore 6
start local 6 6: aload 5
aload 6
invokestatic javassist.CtMember$Cache.count:(Ljavassist/CtMember;Ljavassist/CtMember;)I
istore 7
start local 7 7: iload 4
iload 7
iadd
anewarray javassist.CtBehavior
astore 8
start local 8 8: iconst_0
istore 9
start local 9 9: goto 12
10: StackMap locals: javassist.CtClassType javassist.CtMember$Cache javassist.CtMember javassist.CtMember int javassist.CtMember javassist.CtMember int javassist.CtBehavior[] int
StackMap stack:
aload 2
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 2
11: aload 8
iload 9
iinc 9 1
aload 2
checkcast javassist.CtBehavior
aastore
12: StackMap locals:
StackMap stack:
aload 2
aload 3
if_acmpne 10
13: goto 16
14: StackMap locals:
StackMap stack:
aload 5
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 5
15: aload 8
iload 9
iinc 9 1
aload 5
checkcast javassist.CtBehavior
aastore
16: StackMap locals:
StackMap stack:
aload 5
aload 6
if_acmpne 14
17: aload 8
areturn
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 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljavassist/CtClassType;
1 18 1 memCache Ljavassist/CtMember$Cache;
2 18 2 cons Ljavassist/CtMember;
3 18 3 consTail Ljavassist/CtMember;
4 18 4 cnum I
5 18 5 mth Ljavassist/CtMember;
6 18 6 mthTail Ljavassist/CtMember;
7 18 7 mnum I
8 18 8 cb [Ljavassist/CtBehavior;
9 18 9 i I
public javassist.CtConstructor[] getConstructors();
descriptor: ()[Ljavassist/CtConstructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 1
start local 1 1: aload 1
invokevirtual javassist.CtMember$Cache.consHead:()Ljavassist/CtMember;
astore 2
start local 2 2: aload 1
invokevirtual javassist.CtMember$Cache.lastCons:()Ljavassist/CtMember;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: aload 2
astore 5
start local 5 5: goto 9
6: StackMap locals: javassist.CtClassType javassist.CtMember$Cache javassist.CtMember javassist.CtMember int javassist.CtMember
StackMap stack:
aload 5
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 5
7: aload 5
checkcast javassist.CtConstructor
invokestatic javassist.CtClassType.isPubCons:(Ljavassist/CtConstructor;)Z
ifeq 9
8: iinc 4 1
9: StackMap locals:
StackMap stack:
aload 5
aload 3
if_acmpne 6
10: iload 4
anewarray javassist.CtConstructor
astore 6
start local 6 11: iconst_0
istore 7
start local 7 12: aload 2
astore 5
13: goto 18
14: StackMap locals: javassist.CtConstructor[] int
StackMap stack:
aload 5
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 5
15: aload 5
checkcast javassist.CtConstructor
astore 8
start local 8 16: aload 8
invokestatic javassist.CtClassType.isPubCons:(Ljavassist/CtConstructor;)Z
ifeq 18
17: aload 6
iload 7
iinc 7 1
aload 8
aastore
end local 8 18: StackMap locals:
StackMap stack:
aload 5
aload 3
if_acmpne 14
19: aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljavassist/CtClassType;
1 20 1 memCache Ljavassist/CtMember$Cache;
2 20 2 cons Ljavassist/CtMember;
3 20 3 consTail Ljavassist/CtMember;
4 20 4 n I
5 20 5 mem Ljavassist/CtMember;
11 20 6 result [Ljavassist/CtConstructor;
12 20 7 i I
16 18 8 cc Ljavassist/CtConstructor;
private static boolean isPubCons(javassist.CtConstructor);
descriptor: (Ljavassist/CtConstructor;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtConstructor.getModifiers:()I
invokestatic javassist.Modifier.isPrivate:(I)Z
ifne 3
1: aload 0
invokevirtual javassist.CtConstructor.isConstructor:()Z
ifeq 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cons Ljavassist/CtConstructor;
MethodParameters:
Name Flags
cons
public javassist.CtConstructor getConstructor(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavassist/CtConstructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 2
start local 2 1: aload 2
invokevirtual javassist.CtMember$Cache.consHead:()Ljavassist/CtMember;
astore 3
start local 3 2: aload 2
invokevirtual javassist.CtMember$Cache.lastCons:()Ljavassist/CtMember;
astore 4
start local 4 3: goto 9
4: StackMap locals: javassist.CtMember$Cache javassist.CtMember javassist.CtMember
StackMap stack:
aload 3
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 3
5: aload 3
checkcast javassist.CtConstructor
astore 5
start local 5 6: aload 5
invokevirtual javassist.CtConstructor.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
7: aload 5
invokevirtual javassist.CtConstructor.isConstructor:()Z
ifeq 9
8: aload 5
areturn
end local 5 9: StackMap locals:
StackMap stack:
aload 3
aload 4
if_acmpne 4
10: aload 0
aload 1
invokespecial javassist.CtClass.getConstructor:(Ljava/lang/String;)Ljavassist/CtConstructor;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljavassist/CtClassType;
0 11 1 desc Ljava/lang/String;
1 11 2 memCache Ljavassist/CtMember$Cache;
2 11 3 cons Ljavassist/CtMember;
3 11 4 consTail Ljavassist/CtMember;
6 9 5 cc Ljavassist/CtConstructor;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
desc
public javassist.CtConstructor[] getDeclaredConstructors();
descriptor: ()[Ljavassist/CtConstructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 1
start local 1 1: aload 1
invokevirtual javassist.CtMember$Cache.consHead:()Ljavassist/CtMember;
astore 2
start local 2 2: aload 1
invokevirtual javassist.CtMember$Cache.lastCons:()Ljavassist/CtMember;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: aload 2
astore 5
start local 5 5: goto 10
6: StackMap locals: javassist.CtClassType javassist.CtMember$Cache javassist.CtMember javassist.CtMember int javassist.CtMember
StackMap stack:
aload 5
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 5
7: aload 5
checkcast javassist.CtConstructor
astore 6
start local 6 8: aload 6
invokevirtual javassist.CtConstructor.isConstructor:()Z
ifeq 10
9: iinc 4 1
end local 6 10: StackMap locals:
StackMap stack:
aload 5
aload 3
if_acmpne 6
11: iload 4
anewarray javassist.CtConstructor
astore 6
start local 6 12: iconst_0
istore 7
start local 7 13: aload 2
astore 5
14: goto 19
15: StackMap locals: javassist.CtConstructor[] int
StackMap stack:
aload 5
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 5
16: aload 5
checkcast javassist.CtConstructor
astore 8
start local 8 17: aload 8
invokevirtual javassist.CtConstructor.isConstructor:()Z
ifeq 19
18: aload 6
iload 7
iinc 7 1
aload 8
aastore
end local 8 19: StackMap locals:
StackMap stack:
aload 5
aload 3
if_acmpne 15
20: aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljavassist/CtClassType;
1 21 1 memCache Ljavassist/CtMember$Cache;
2 21 2 cons Ljavassist/CtMember;
3 21 3 consTail Ljavassist/CtMember;
4 21 4 n I
5 21 5 mem Ljavassist/CtMember;
8 10 6 cc Ljavassist/CtConstructor;
12 21 6 result [Ljavassist/CtConstructor;
13 21 7 i I
17 19 8 cc Ljavassist/CtConstructor;
public javassist.CtConstructor getClassInitializer();
descriptor: ()Ljavassist/CtConstructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 1
start local 1 1: aload 1
invokevirtual javassist.CtMember$Cache.consHead:()Ljavassist/CtMember;
astore 2
start local 2 2: aload 1
invokevirtual javassist.CtMember$Cache.lastCons:()Ljavassist/CtMember;
astore 3
start local 3 3: goto 8
4: StackMap locals: javassist.CtMember$Cache javassist.CtMember javassist.CtMember
StackMap stack:
aload 2
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 2
5: aload 2
checkcast javassist.CtConstructor
astore 4
start local 4 6: aload 4
invokevirtual javassist.CtConstructor.isClassInitializer:()Z
ifeq 8
7: aload 4
areturn
end local 4 8: StackMap locals:
StackMap stack:
aload 2
aload 3
if_acmpne 4
9: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavassist/CtClassType;
1 10 1 memCache Ljavassist/CtMember$Cache;
2 10 2 cons Ljavassist/CtMember;
3 10 3 consTail Ljavassist/CtMember;
6 8 4 cc Ljavassist/CtConstructor;
public javassist.CtMethod[] getMethods();
descriptor: ()[Ljavassist/CtMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokestatic javassist.CtClassType.getMethods0:(Ljava/util/Map;Ljavassist/CtClass;)V
2: aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
aload 1
invokeinterface java.util.Map.size:()I
anewarray javassist.CtMethod
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javassist.CtMethod[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtClassType;
1 3 1 h Ljava/util/Map<Ljava/lang/String;Ljavassist/CtMember;>;
private static void getMethods0(java.util.Map<java.lang.String, javassist.CtMember>, javassist.CtClass);
descriptor: (Ljava/util/Map;Ljavassist/CtClass;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javassist.CtClass.getInterfaces:()[Ljavassist/CtClass;
astore 2
start local 2 1: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: java.util.Map javassist.CtClass javassist.CtClass[] top int int javassist.CtClass[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 0
aload 3
invokestatic javassist.CtClassType.getMethods0:(Ljava/util/Map;Ljavassist/CtClass;)V
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
end local 2 6: goto 8
7: StackMap locals: java.util.Map javassist.CtClass
StackMap stack: javassist.NotFoundException
pop
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual javassist.CtClass.getSuperclass:()Ljavassist/CtClass;
astore 2
start local 2 9: aload 2
ifnull 13
10: aload 0
aload 2
invokestatic javassist.CtClassType.getMethods0:(Ljava/util/Map;Ljavassist/CtClass;)V
end local 2 11: goto 13
12: StackMap locals:
StackMap stack: javassist.NotFoundException
pop
13: StackMap locals:
StackMap stack:
aload 1
instanceof javassist.CtClassType
ifeq 22
14: aload 1
checkcast javassist.CtClassType
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 2
start local 2 15: aload 2
invokevirtual javassist.CtMember$Cache.methodHead:()Ljavassist/CtMember;
astore 3
start local 3 16: aload 2
invokevirtual javassist.CtMember$Cache.lastMethod:()Ljavassist/CtMember;
astore 4
start local 4 17: goto 21
18: StackMap locals: javassist.CtMember$Cache javassist.CtMember javassist.CtMember
StackMap stack:
aload 3
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 3
19: aload 3
invokevirtual javassist.CtMember.getModifiers:()I
invokestatic javassist.Modifier.isPrivate:(I)Z
ifne 21
20: aload 0
aload 3
checkcast javassist.CtMethod
invokevirtual javassist.CtMethod.getStringRep:()Ljava/lang/String;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: StackMap locals:
StackMap stack:
aload 3
aload 4
if_acmpne 18
end local 4 end local 3 end local 2 22: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 h Ljava/util/Map<Ljava/lang/String;Ljavassist/CtMember;>;
0 23 1 cc Ljavassist/CtClass;
1 6 2 ifs [Ljavassist/CtClass;
3 4 3 ctc Ljavassist/CtClass;
9 11 2 s Ljavassist/CtClass;
15 22 2 memCache Ljavassist/CtMember$Cache;
16 22 3 mth Ljavassist/CtMember;
17 22 4 mthTail Ljavassist/CtMember;
Exception table:
from to target type
0 6 7 Class javassist.NotFoundException
8 11 12 Class javassist.NotFoundException
Signature: (Ljava/util/Map<Ljava/lang/String;Ljavassist/CtMember;>;Ljavassist/CtClass;)V
MethodParameters:
Name Flags
h
cc
public javassist.CtMethod getMethod(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic javassist.CtClassType.getMethod0:(Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtMethod;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
areturn
3: StackMap locals: javassist.CtMethod
StackMap stack:
new javassist.NotFoundException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "(..) is not found in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavassist/CtClassType;
0 6 1 name Ljava/lang/String;
0 6 2 desc Ljava/lang/String;
1 6 3 m Ljavassist/CtMethod;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
name
desc
private static javassist.CtMethod getMethod0(javassist.CtClass, java.lang.String, java.lang.String);
descriptor: (Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtMethod;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
instanceof javassist.CtClassType
ifeq 10
1: aload 0
checkcast javassist.CtClassType
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 3
start local 3 2: aload 3
invokevirtual javassist.CtMember$Cache.methodHead:()Ljavassist/CtMember;
astore 4
start local 4 3: aload 3
invokevirtual javassist.CtMember$Cache.lastMethod:()Ljavassist/CtMember;
astore 5
start local 5 4: goto 9
5: StackMap locals: javassist.CtMember$Cache javassist.CtMember javassist.CtMember
StackMap stack:
aload 4
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 4
6: aload 4
invokevirtual javassist.CtMember.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
7: aload 4
checkcast javassist.CtMethod
invokevirtual javassist.CtMethod.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: aload 4
checkcast javassist.CtMethod
areturn
9: StackMap locals:
StackMap stack:
aload 4
aload 5
if_acmpne 5
end local 5 end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClass.getSuperclass:()Ljavassist/CtClass;
astore 3
start local 3 11: aload 3
ifnull 17
12: aload 3
aload 1
aload 2
invokestatic javassist.CtClassType.getMethod0:(Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtMethod;
astore 4
start local 4 13: aload 4
ifnull 17
14: aload 4
15: areturn
end local 4 end local 3 16: StackMap locals:
StackMap stack: javassist.NotFoundException
pop
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClass.getInterfaces:()[Ljavassist/CtClass;
astore 3
start local 3 18: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 25
StackMap locals: javassist.CtClass java.lang.String java.lang.String javassist.CtClass[] top int int javassist.CtClass[]
StackMap stack:
19: aload 7
iload 5
aaload
astore 4
start local 4 20: aload 4
aload 1
aload 2
invokestatic javassist.CtClassType.getMethod0:(Ljavassist/CtClass;Ljava/lang/String;Ljava/lang/String;)Ljavassist/CtMethod;
astore 8
start local 8 21: aload 8
ifnull 24
22: aload 8
23: areturn
end local 8 end local 4 24: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
25: iload 5
iload 6
if_icmplt 19
end local 3 26: goto 28
27: StackMap locals: javassist.CtClass java.lang.String java.lang.String
StackMap stack: javassist.NotFoundException
pop
28: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 cc Ljavassist/CtClass;
0 29 1 name Ljava/lang/String;
0 29 2 desc Ljava/lang/String;
2 10 3 memCache Ljavassist/CtMember$Cache;
3 10 4 mth Ljavassist/CtMember;
4 10 5 mthTail Ljavassist/CtMember;
11 16 3 s Ljavassist/CtClass;
13 16 4 m Ljavassist/CtMethod;
18 26 3 ifs [Ljavassist/CtClass;
20 24 4 ctc Ljavassist/CtClass;
21 24 8 m Ljavassist/CtMethod;
Exception table:
from to target type
10 15 16 Class javassist.NotFoundException
17 23 27 Class javassist.NotFoundException
24 26 27 Class javassist.NotFoundException
MethodParameters:
Name Flags
cc
name
desc
public javassist.CtMethod[] getDeclaredMethods();
descriptor: ()[Ljavassist/CtMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 1
start local 1 1: aload 1
invokevirtual javassist.CtMember$Cache.methodHead:()Ljavassist/CtMember;
astore 2
start local 2 2: aload 1
invokevirtual javassist.CtMember$Cache.lastMethod:()Ljavassist/CtMember;
astore 3
start local 3 3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 4: goto 7
5: StackMap locals: javassist.CtClassType javassist.CtMember$Cache javassist.CtMember javassist.CtMember java.util.List
StackMap stack:
aload 2
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 2
6: aload 4
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
aload 2
aload 3
if_acmpne 5
8: aload 4
aload 4
invokeinterface java.util.List.size:()I
anewarray javassist.CtMethod
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javassist.CtMethod[]
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavassist/CtClassType;
1 9 1 memCache Ljavassist/CtMember$Cache;
2 9 2 mth Ljavassist/CtMember;
3 9 3 mthTail Ljavassist/CtMember;
4 9 4 methods Ljava/util/List<Ljavassist/CtMember;>;
public javassist.CtMethod[] getDeclaredMethods(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljavassist/CtMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 2
start local 2 1: aload 2
invokevirtual javassist.CtMember$Cache.methodHead:()Ljavassist/CtMember;
astore 3
start local 3 2: aload 2
invokevirtual javassist.CtMember$Cache.lastMethod:()Ljavassist/CtMember;
astore 4
start local 4 3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 4: goto 8
5: StackMap locals: javassist.CtClassType java.lang.String javassist.CtMember$Cache javassist.CtMember javassist.CtMember java.util.List
StackMap stack:
aload 3
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 3
6: aload 3
invokevirtual javassist.CtMember.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: aload 5
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
aload 3
aload 4
if_acmpne 5
9: aload 5
aload 5
invokeinterface java.util.List.size:()I
anewarray javassist.CtMethod
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javassist.CtMethod[]
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavassist/CtClassType;
0 10 1 name Ljava/lang/String;
1 10 2 memCache Ljavassist/CtMember$Cache;
2 10 3 mth Ljavassist/CtMember;
3 10 4 mthTail Ljavassist/CtMember;
4 10 5 methods Ljava/util/List<Ljavassist/CtMember;>;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
name
public javassist.CtMethod getDeclaredMethod(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavassist/CtMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 2
start local 2 1: aload 2
invokevirtual javassist.CtMember$Cache.methodHead:()Ljavassist/CtMember;
astore 3
start local 3 2: aload 2
invokevirtual javassist.CtMember$Cache.lastMethod:()Ljavassist/CtMember;
astore 4
start local 4 3: goto 7
4: StackMap locals: javassist.CtMember$Cache javassist.CtMember javassist.CtMember
StackMap stack:
aload 3
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 3
5: aload 3
invokevirtual javassist.CtMember.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: aload 3
checkcast javassist.CtMethod
areturn
7: StackMap locals:
StackMap stack:
aload 3
aload 4
if_acmpne 4
8: new javassist.NotFoundException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "(..) is not found in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljavassist/CtClassType;
0 11 1 name Ljava/lang/String;
1 11 2 memCache Ljavassist/CtMember$Cache;
2 11 3 mth Ljavassist/CtMember;
3 11 4 mthTail Ljavassist/CtMember;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
name
public javassist.CtMethod getDeclaredMethod(java.lang.String, javassist.CtClass[]);
descriptor: (Ljava/lang/String;[Ljavassist/CtClass;)Ljavassist/CtMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic javassist.bytecode.Descriptor.ofParameters:([Ljavassist/CtClass;)Ljava/lang/String;
astore 3
start local 3 1: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
astore 4
start local 4 2: aload 4
invokevirtual javassist.CtMember$Cache.methodHead:()Ljavassist/CtMember;
astore 5
start local 5 3: aload 4
invokevirtual javassist.CtMember$Cache.lastMethod:()Ljavassist/CtMember;
astore 6
start local 6 4: goto 9
5: StackMap locals: javassist.CtClassType java.lang.String javassist.CtClass[] java.lang.String javassist.CtMember$Cache javassist.CtMember javassist.CtMember
StackMap stack:
aload 5
invokevirtual javassist.CtMember.next:()Ljavassist/CtMember;
astore 5
6: aload 5
invokevirtual javassist.CtMember.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
7: aload 5
checkcast javassist.CtMethod
invokevirtual javassist.CtMethod.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
aload 3
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 9
8: aload 5
checkcast javassist.CtMethod
areturn
9: StackMap locals:
StackMap stack:
aload 5
aload 6
if_acmpne 5
10: new javassist.NotFoundException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "(..) is not found in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljavassist/CtClassType;
0 13 1 name Ljava/lang/String;
0 13 2 params [Ljavassist/CtClass;
1 13 3 desc Ljava/lang/String;
2 13 4 memCache Ljavassist/CtMember$Cache;
3 13 5 mth Ljavassist/CtMember;
4 13 6 mthTail Ljavassist/CtMember;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
name
params
public void addField(javassist.CtField, java.lang.String);
descriptor: (Ljavassist/CtField;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic javassist.CtField$Initializer.byExpr:(Ljava/lang/String;)Ljavassist/CtField$Initializer;
invokevirtual javassist.CtClassType.addField:(Ljavassist/CtField;Ljavassist/CtField$Initializer;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavassist/CtClassType;
0 2 1 f Ljavassist/CtField;
0 2 2 init Ljava/lang/String;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
f
init
public void addField(javassist.CtField, javassist.CtField$Initializer);
descriptor: (Ljavassist/CtField;Ljavassist/CtField$Initializer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: aload 1
invokevirtual javassist.CtField.getDeclaringClass:()Ljavassist/CtClass;
aload 0
if_acmpeq 3
2: new javassist.CannotCompileException
dup
ldc "cannot add"
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 2
ifnonnull 5
4: aload 1
invokevirtual javassist.CtField.getInit:()Ljavassist/CtField$Initializer;
astore 2
5: StackMap locals:
StackMap stack:
aload 2
ifnull 16
6: aload 2
aload 1
invokevirtual javassist.CtField.getSignature:()Ljava/lang/String;
invokevirtual javassist.CtField$Initializer.check:(Ljava/lang/String;)V
7: aload 1
invokevirtual javassist.CtField.getModifiers:()I
istore 3
start local 3 8: iload 3
invokestatic javassist.Modifier.isStatic:(I)Z
ifeq 16
iload 3
invokestatic javassist.Modifier.isFinal:(I)Z
ifeq 16
9: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 4
start local 4 10: aload 2
aload 4
aload 1
invokevirtual javassist.CtField.getType:()Ljavassist/CtClass;
invokevirtual javassist.CtField$Initializer.getConstantValue:(Ljavassist/bytecode/ConstPool;Ljavassist/CtClass;)I
istore 5
start local 5 11: iload 5
ifeq 16
12: aload 1
invokevirtual javassist.CtField.getFieldInfo2:()Ljavassist/bytecode/FieldInfo;
new javassist.bytecode.ConstantAttribute
dup
aload 4
iload 5
invokespecial javassist.bytecode.ConstantAttribute.<init>:(Ljavassist/bytecode/ConstPool;I)V
invokevirtual javassist.bytecode.FieldInfo.addAttribute:(Ljavassist/bytecode/AttributeInfo;)V
13: aconst_null
astore 2
end local 5 end local 4 14: goto 16
15: StackMap locals: javassist.CtClassType javassist.CtField javassist.CtField$Initializer int
StackMap stack: javassist.NotFoundException
pop
end local 3 16: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
aload 1
invokevirtual javassist.CtMember$Cache.addField:(Ljavassist/CtMember;)V
17: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
aload 1
invokevirtual javassist.CtField.getFieldInfo2:()Ljavassist/bytecode/FieldInfo;
invokevirtual javassist.bytecode.ClassFile.addField:(Ljavassist/bytecode/FieldInfo;)V
18: aload 2
ifnull 26
19: new javassist.FieldInitLink
dup
aload 1
aload 2
invokespecial javassist.FieldInitLink.<init>:(Ljavassist/CtField;Ljavassist/CtField$Initializer;)V
astore 3
start local 3 20: aload 0
getfield javassist.CtClassType.fieldInitializers:Ljavassist/FieldInitLink;
astore 4
start local 4 21: aload 4
ifnonnull 24
22: aload 0
aload 3
putfield javassist.CtClassType.fieldInitializers:Ljavassist/FieldInitLink;
goto 26
23: StackMap locals: javassist.FieldInitLink javassist.FieldInitLink
StackMap stack:
aload 4
getfield javassist.FieldInitLink.next:Ljavassist/FieldInitLink;
astore 4
24: StackMap locals:
StackMap stack:
aload 4
getfield javassist.FieldInitLink.next:Ljavassist/FieldInitLink;
ifnonnull 23
25: aload 4
aload 3
putfield javassist.FieldInitLink.next:Ljavassist/FieldInitLink;
end local 4 end local 3 26: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljavassist/CtClassType;
0 27 1 f Ljavassist/CtField;
0 27 2 init Ljavassist/CtField$Initializer;
8 16 3 mod I
10 14 4 cp Ljavassist/bytecode/ConstPool;
11 14 5 index I
20 26 3 fil Ljavassist/FieldInitLink;
21 26 4 link Ljavassist/FieldInitLink;
Exception table:
from to target type
9 14 15 Class javassist.NotFoundException
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
f
init
public void removeField(javassist.CtField);
descriptor: (Ljavassist/CtField;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: aload 1
invokevirtual javassist.CtField.getFieldInfo2:()Ljavassist/bytecode/FieldInfo;
astore 2
start local 2 2: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 3
start local 3 3: aload 3
invokevirtual javassist.bytecode.ClassFile.getFields:()Ljava/util/List;
aload 2
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
ifeq 7
4: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
aload 1
invokevirtual javassist.CtMember$Cache.remove:(Ljavassist/CtMember;)V
5: aload 0
iconst_1
putfield javassist.CtClassType.gcConstPool:Z
6: goto 8
7: StackMap locals: javassist.bytecode.FieldInfo javassist.bytecode.ClassFile
StackMap stack:
new javassist.NotFoundException
dup
aload 1
invokevirtual javassist.CtField.toString:()Ljava/lang/String;
invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavassist/CtClassType;
0 9 1 f Ljavassist/CtField;
2 9 2 fi Ljavassist/bytecode/FieldInfo;
3 9 3 cf Ljavassist/bytecode/ClassFile;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
f
public javassist.CtConstructor makeClassInitializer();
descriptor: ()Ljavassist/CtConstructor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtClassType.getClassInitializer:()Ljavassist/CtConstructor;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: javassist.CtConstructor
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.checkModify:()V
4: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 2
start local 2 5: new javassist.bytecode.Bytecode
dup
aload 2
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
iconst_0
iconst_0
invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
astore 3
start local 3 6: aload 0
aload 2
aload 3
iconst_0
iconst_0
invokevirtual javassist.CtClassType.modifyClassConstructor:(Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/Bytecode;II)V
7: aload 0
invokevirtual javassist.CtClassType.getClassInitializer:()Ljavassist/CtConstructor;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavassist/CtClassType;
1 8 1 clinit Ljavassist/CtConstructor;
5 8 2 cf Ljavassist/bytecode/ClassFile;
6 8 3 code Ljavassist/bytecode/Bytecode;
Exceptions:
throws javassist.CannotCompileException
public void addConstructor(javassist.CtConstructor);
descriptor: (Ljavassist/CtConstructor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: aload 1
invokevirtual javassist.CtConstructor.getDeclaringClass:()Ljavassist/CtClass;
aload 0
if_acmpeq 3
2: new javassist.CannotCompileException
dup
ldc "cannot add"
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
aload 1
invokevirtual javassist.CtMember$Cache.addConstructor:(Ljavassist/CtMember;)V
4: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
aload 1
invokevirtual javassist.CtConstructor.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.ClassFile.addMethod:(Ljavassist/bytecode/MethodInfo;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavassist/CtClassType;
0 6 1 c Ljavassist/CtConstructor;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
c
public void removeConstructor(javassist.CtConstructor);
descriptor: (Ljavassist/CtConstructor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: aload 1
invokevirtual javassist.CtConstructor.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
astore 2
start local 2 2: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 3
start local 3 3: aload 3
invokevirtual javassist.bytecode.ClassFile.getMethods:()Ljava/util/List;
aload 2
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
ifeq 7
4: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
aload 1
invokevirtual javassist.CtMember$Cache.remove:(Ljavassist/CtMember;)V
5: aload 0
iconst_1
putfield javassist.CtClassType.gcConstPool:Z
6: goto 8
7: StackMap locals: javassist.bytecode.MethodInfo javassist.bytecode.ClassFile
StackMap stack:
new javassist.NotFoundException
dup
aload 1
invokevirtual javassist.CtConstructor.toString:()Ljava/lang/String;
invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavassist/CtClassType;
0 9 1 m Ljavassist/CtConstructor;
2 9 2 mi Ljavassist/bytecode/MethodInfo;
3 9 3 cf Ljavassist/bytecode/ClassFile;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
m
public void addMethod(javassist.CtMethod);
descriptor: (Ljavassist/CtMethod;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: aload 1
invokevirtual javassist.CtMethod.getDeclaringClass:()Ljavassist/CtClass;
aload 0
if_acmpeq 3
2: new javassist.CannotCompileException
dup
ldc "bad declaring class"
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual javassist.CtMethod.getModifiers:()I
istore 2
start local 2 4: aload 0
invokevirtual javassist.CtClassType.getModifiers:()I
sipush 512
iand
ifeq 10
5: iload 2
invokestatic javassist.Modifier.isProtected:(I)Z
ifne 6
iload 2
invokestatic javassist.Modifier.isPrivate:(I)Z
ifeq 9
6: StackMap locals: int
StackMap stack:
new javassist.CannotCompileException
dup
7: new java.lang.StringBuilder
dup
ldc "an interface method must be public: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual javassist.CtMethod.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
iload 2
iconst_1
ior
invokevirtual javassist.CtMethod.setModifiers:(I)V
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
aload 1
invokevirtual javassist.CtMember$Cache.addMethod:(Ljavassist/CtMember;)V
11: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
aload 1
invokevirtual javassist.CtMethod.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.ClassFile.addMethod:(Ljavassist/bytecode/MethodInfo;)V
12: iload 2
sipush 1024
iand
ifeq 14
13: aload 0
aload 0
invokevirtual javassist.CtClassType.getModifiers:()I
sipush 1024
ior
invokevirtual javassist.CtClassType.setModifiers:(I)V
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljavassist/CtClassType;
0 15 1 m Ljavassist/CtMethod;
4 15 2 mod I
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
m
public void removeMethod(javassist.CtMethod);
descriptor: (Ljavassist/CtMethod;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: aload 1
invokevirtual javassist.CtMethod.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
astore 2
start local 2 2: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 3
start local 3 3: aload 3
invokevirtual javassist.bytecode.ClassFile.getMethods:()Ljava/util/List;
aload 2
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
ifeq 7
4: aload 0
invokevirtual javassist.CtClassType.getMembers:()Ljavassist/CtMember$Cache;
aload 1
invokevirtual javassist.CtMember$Cache.remove:(Ljavassist/CtMember;)V
5: aload 0
iconst_1
putfield javassist.CtClassType.gcConstPool:Z
6: goto 8
7: StackMap locals: javassist.bytecode.MethodInfo javassist.bytecode.ClassFile
StackMap stack:
new javassist.NotFoundException
dup
aload 1
invokevirtual javassist.CtMethod.toString:()Ljava/lang/String;
invokespecial javassist.NotFoundException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavassist/CtClassType;
0 9 1 m Ljavassist/CtMethod;
2 9 2 mi Ljavassist/bytecode/MethodInfo;
3 9 3 cf Ljavassist/bytecode/ClassFile;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
m
public byte[] getAttribute(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
aload 1
invokevirtual javassist.bytecode.ClassFile.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: javassist.bytecode.AttributeInfo
StackMap stack:
aload 2
invokevirtual javassist.bytecode.AttributeInfo.get:()[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtClassType;
0 4 1 name Ljava/lang/String;
1 4 2 ai Ljavassist/bytecode/AttributeInfo;
MethodParameters:
Name Flags
name
public void setAttribute(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 3
start local 3 2: aload 3
new javassist.bytecode.AttributeInfo
dup
aload 3
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
aload 1
aload 2
invokespecial javassist.bytecode.AttributeInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;[B)V
invokevirtual javassist.bytecode.ClassFile.addAttribute:(Ljavassist/bytecode/AttributeInfo;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtClassType;
0 4 1 name Ljava/lang/String;
0 4 2 data [B
2 4 3 cf Ljavassist/bytecode/ClassFile;
MethodParameters:
Name Flags
name
data
public void instrument(javassist.CodeConverter);
descriptor: (Ljavassist/CodeConverter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 2
start local 2 2: aload 2
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 3
start local 3 3: aload 2
invokevirtual javassist.bytecode.ClassFile.getMethods:()Ljava/util/List;
astore 4
start local 4 4: aload 4
aload 4
invokeinterface java.util.List.size:()I
anewarray javassist.bytecode.MethodInfo
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javassist.bytecode.MethodInfo[]
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 8
StackMap locals: javassist.CtClassType javassist.CodeConverter javassist.bytecode.ClassFile javassist.bytecode.ConstPool java.util.List top int int javassist.bytecode.MethodInfo[]
StackMap stack:
5: aload 8
iload 6
aaload
astore 5
start local 5 6: aload 1
aload 0
aload 5
aload 3
invokevirtual javassist.CodeConverter.doit:(Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;Ljavassist/bytecode/ConstPool;)V
end local 5 7: iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
iload 7
if_icmplt 5
9: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavassist/CtClassType;
0 10 1 converter Ljavassist/CodeConverter;
2 10 2 cf Ljavassist/bytecode/ClassFile;
3 10 3 cp Ljavassist/bytecode/ConstPool;
4 10 4 methods Ljava/util/List<Ljavassist/bytecode/MethodInfo;>;
6 7 5 minfo Ljavassist/bytecode/MethodInfo;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
converter
public void instrument(javassist.expr.ExprEditor);
descriptor: (Ljavassist/expr/ExprEditor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.checkModify:()V
1: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 2
start local 2 2: aload 2
invokevirtual javassist.bytecode.ClassFile.getMethods:()Ljava/util/List;
astore 3
start local 3 3: aload 3
aload 3
invokeinterface java.util.List.size:()I
anewarray javassist.bytecode.MethodInfo
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javassist.bytecode.MethodInfo[]
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 7
StackMap locals: javassist.CtClassType javassist.expr.ExprEditor javassist.bytecode.ClassFile java.util.List top int int javassist.bytecode.MethodInfo[]
StackMap stack:
4: aload 7
iload 5
aaload
astore 4
start local 4 5: aload 1
aload 0
aload 4
invokevirtual javassist.expr.ExprEditor.doit:(Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;)Z
pop
end local 4 6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 6
if_icmplt 4
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavassist/CtClassType;
0 9 1 editor Ljavassist/expr/ExprEditor;
2 9 2 cf Ljavassist/bytecode/ClassFile;
3 9 3 methods Ljava/util/List<Ljavassist/bytecode/MethodInfo;>;
5 6 4 minfo Ljavassist/bytecode/MethodInfo;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
editor
public void prune();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtClassType.wasPruned:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 0
iconst_1
dup_x1
putfield javassist.CtClassType.wasFrozen:Z
putfield javassist.CtClassType.wasPruned:Z
3: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.ClassFile.prune:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavassist/CtClassType;
public void rebuildClassFile();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield javassist.CtClassType.gcConstPool:Z
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
public void toBytecode(java.io.DataOutputStream);
descriptor: (Ljava/io/DataOutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.isModified:()Z
ifeq 17
1: aload 0
ldc "toBytecode"
invokevirtual javassist.CtClassType.checkPruned:(Ljava/lang/String;)V
2: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 2
start local 2 3: aload 0
getfield javassist.CtClassType.gcConstPool:Z
ifeq 6
4: aload 2
invokevirtual javassist.bytecode.ClassFile.compact:()V
5: aload 0
iconst_0
putfield javassist.CtClassType.gcConstPool:Z
6: StackMap locals: javassist.bytecode.ClassFile
StackMap stack:
aload 0
aload 2
invokevirtual javassist.CtClassType.modifyClassConstructor:(Ljavassist/bytecode/ClassFile;)V
7: aload 0
aload 2
invokevirtual javassist.CtClassType.modifyConstructors:(Ljavassist/bytecode/ClassFile;)V
8: getstatic javassist.CtClassType.debugDump:Ljava/lang/String;
ifnull 10
9: aload 0
aload 2
invokevirtual javassist.CtClassType.dumpClassFile:(Ljavassist/bytecode/ClassFile;)V
10: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual javassist.bytecode.ClassFile.write:(Ljava/io/DataOutputStream;)V
11: aload 1
invokevirtual java.io.DataOutputStream.flush:()V
12: aload 0
aconst_null
putfield javassist.CtClassType.fieldInitializers:Ljavassist/FieldInitLink;
13: aload 0
getfield javassist.CtClassType.doPruning:Z
ifeq 18
14: aload 2
invokevirtual javassist.bytecode.ClassFile.prune:()V
15: aload 0
iconst_1
putfield javassist.CtClassType.wasPruned:Z
end local 2 16: goto 18
17: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
aload 1
invokevirtual javassist.ClassPool.writeClassfile:(Ljava/lang/String;Ljava/io/OutputStream;)V
18: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield javassist.CtClassType.getCount:I
19: aload 0
iconst_1
putfield javassist.CtClassType.wasFrozen:Z
20: goto 25
21: StackMap locals:
StackMap stack: javassist.NotFoundException
astore 2
start local 2 22: new javassist.CannotCompileException
dup
aload 2
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
athrow
end local 2 23: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 24: new javassist.CannotCompileException
dup
aload 2
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 25: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljavassist/CtClassType;
0 26 1 out Ljava/io/DataOutputStream;
3 16 2 cf Ljavassist/bytecode/ClassFile;
22 23 2 e Ljavassist/NotFoundException;
24 25 2 e Ljava/io/IOException;
Exception table:
from to target type
0 20 21 Class javassist.NotFoundException
0 20 23 Class java.io.IOException
Exceptions:
throws javassist.CannotCompileException, java.io.IOException
MethodParameters:
Name Flags
out
private void dumpClassFile(javassist.bytecode.ClassFile);
descriptor: (Ljavassist/bytecode/ClassFile;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getstatic javassist.CtClassType.debugDump:Ljava/lang/String;
invokevirtual javassist.CtClassType.makeFileOutput:(Ljava/lang/String;)Ljava/io/DataOutputStream;
astore 2
start local 2 1: aload 1
aload 2
invokevirtual javassist.bytecode.ClassFile.write:(Ljava/io/DataOutputStream;)V
2: goto 6
3: StackMap locals: javassist.CtClassType javassist.bytecode.ClassFile java.io.DataOutputStream
StackMap stack: java.lang.Throwable
astore 3
4: aload 2
invokevirtual java.io.DataOutputStream.close:()V
5: aload 3
athrow
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.DataOutputStream.close:()V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavassist/CtClassType;
0 8 1 cf Ljavassist/bytecode/ClassFile;
1 8 2 dump Ljava/io/DataOutputStream;
Exception table:
from to target type
1 3 3 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cf
private void checkPruned(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtClassType.wasPruned:Z
ifeq 4
1: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "(): "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual javassist.CtClassType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc " was pruned."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavassist/CtClassType;
0 5 1 method Ljava/lang/String;
MethodParameters:
Name Flags
method
public boolean stopPruning(boolean);
descriptor: (Z)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtClassType.doPruning:Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 0
iload 1
ifeq 4
iconst_0
goto 5
StackMap locals: javassist.CtClassType int int
StackMap stack: javassist.CtClassType
4: iconst_1
StackMap locals: javassist.CtClassType int int
StackMap stack: javassist.CtClassType int
5: putfield javassist.CtClassType.doPruning:Z
6: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavassist/CtClassType;
0 7 1 stop Z
3 7 2 prev Z
MethodParameters:
Name Flags
stop
private void modifyClassConstructor(javassist.bytecode.ClassFile);
descriptor: (Ljavassist/bytecode/ClassFile;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtClassType.fieldInitializers:Ljavassist/FieldInitLink;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
new javassist.bytecode.Bytecode
dup
aload 1
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
iconst_0
iconst_0
invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
astore 2
start local 2 3: new javassist.compiler.Javac
dup
aload 2
aload 0
invokespecial javassist.compiler.Javac.<init>:(Ljavassist/bytecode/Bytecode;Ljavassist/CtClass;)V
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: aload 0
getfield javassist.CtClassType.fieldInitializers:Ljavassist/FieldInitLink;
astore 6
start local 6 7: goto 17
8: StackMap locals: javassist.CtClassType javassist.bytecode.ClassFile javassist.bytecode.Bytecode javassist.compiler.Javac int int javassist.FieldInitLink
StackMap stack:
aload 6
getfield javassist.FieldInitLink.field:Ljavassist/CtField;
astore 7
start local 7 9: aload 7
invokevirtual javassist.CtField.getModifiers:()I
invokestatic javassist.Modifier.isStatic:(I)Z
ifeq 16
10: iconst_1
istore 5
11: aload 6
getfield javassist.FieldInitLink.init:Ljavassist/CtField$Initializer;
aload 7
invokevirtual javassist.CtField.getType:()Ljavassist/CtClass;
aload 7
invokevirtual javassist.CtField.getName:()Ljava/lang/String;
12: aload 2
aload 3
13: invokevirtual javassist.CtField$Initializer.compileIfStatic:(Ljavassist/CtClass;Ljava/lang/String;Ljavassist/bytecode/Bytecode;Ljavassist/compiler/Javac;)I
istore 8
start local 8 14: iload 4
iload 8
if_icmpge 16
15: iload 8
istore 4
end local 8 end local 7 16: StackMap locals:
StackMap stack:
aload 6
getfield javassist.FieldInitLink.next:Ljavassist/FieldInitLink;
astore 6
StackMap locals:
StackMap stack:
17: aload 6
ifnonnull 8
end local 6 18: iload 5
ifeq 20
19: aload 0
aload 1
aload 2
iload 4
iconst_0
invokevirtual javassist.CtClassType.modifyClassConstructor:(Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/Bytecode;II)V
20: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljavassist/CtClassType;
0 21 1 cf Ljavassist/bytecode/ClassFile;
3 21 2 code Ljavassist/bytecode/Bytecode;
4 21 3 jv Ljavassist/compiler/Javac;
5 21 4 stacksize I
6 21 5 doInit Z
7 18 6 fi Ljavassist/FieldInitLink;
9 16 7 f Ljavassist/CtField;
14 16 8 s I
Exceptions:
throws javassist.CannotCompileException, javassist.NotFoundException
MethodParameters:
Name Flags
cf
private void modifyClassConstructor(javassist.bytecode.ClassFile, javassist.bytecode.Bytecode, int, int);
descriptor: (Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/Bytecode;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual javassist.bytecode.ClassFile.getStaticInitializer:()Ljavassist/bytecode/MethodInfo;
astore 5
start local 5 1: aload 5
ifnonnull 13
2: aload 2
sipush 177
invokevirtual javassist.bytecode.Bytecode.add:(I)V
3: aload 2
iload 3
invokevirtual javassist.bytecode.Bytecode.setMaxStack:(I)V
4: aload 2
iload 4
invokevirtual javassist.bytecode.Bytecode.setMaxLocals:(I)V
5: new javassist.bytecode.MethodInfo
dup
aload 1
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
ldc "<clinit>"
ldc "()V"
invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljava/lang/String;)V
astore 5
6: aload 5
bipush 8
invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
7: aload 5
aload 2
invokevirtual javassist.bytecode.Bytecode.toCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
8: aload 1
aload 5
invokevirtual javassist.bytecode.ClassFile.addMethod:(Ljavassist/bytecode/MethodInfo;)V
9: aload 0
invokevirtual javassist.CtClassType.hasMemberCache:()Ljavassist/CtMember$Cache;
astore 6
start local 6 10: aload 6
ifnull 28
11: aload 6
new javassist.CtConstructor
dup
aload 5
aload 0
invokespecial javassist.CtConstructor.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
invokevirtual javassist.CtMember$Cache.addConstructor:(Ljavassist/CtMember;)V
end local 6 12: goto 28
13: StackMap locals: javassist.bytecode.MethodInfo
StackMap stack:
aload 5
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 6
start local 6 14: aload 6
ifnonnull 16
15: new javassist.CannotCompileException
dup
ldc "empty <clinit>"
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: javassist.bytecode.CodeAttribute
StackMap stack:
aload 6
invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
astore 7
start local 7 17: aload 7
aload 2
invokevirtual javassist.bytecode.Bytecode.get:()[B
invokevirtual javassist.bytecode.CodeIterator.insertEx:([B)I
istore 8
start local 8 18: aload 7
aload 2
invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
iload 8
invokevirtual javassist.bytecode.CodeIterator.insert:(Ljavassist/bytecode/ExceptionTable;I)V
19: aload 6
invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
istore 9
start local 9 20: iload 9
iload 3
if_icmpge 22
21: aload 6
iload 3
invokevirtual javassist.bytecode.CodeAttribute.setMaxStack:(I)V
22: StackMap locals: javassist.bytecode.CodeIterator int int
StackMap stack:
aload 6
invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
istore 10
start local 10 23: iload 10
iload 4
if_icmpge 28
24: aload 6
iload 4
invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
end local 10 end local 9 end local 8 end local 7 25: goto 28
26: StackMap locals: javassist.CtClassType javassist.bytecode.ClassFile javassist.bytecode.Bytecode int int javassist.bytecode.MethodInfo javassist.bytecode.CodeAttribute
StackMap stack: javassist.bytecode.BadBytecode
astore 7
start local 7 27: new javassist.CannotCompileException
dup
aload 7
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 end local 6 28: StackMap locals:
StackMap stack:
aload 5
aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 1
invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
29: goto 32
30: StackMap locals:
StackMap stack: javassist.bytecode.BadBytecode
astore 6
start local 6 31: new javassist.CannotCompileException
dup
aload 6
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 32: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Ljavassist/CtClassType;
0 33 1 cf Ljavassist/bytecode/ClassFile;
0 33 2 code Ljavassist/bytecode/Bytecode;
0 33 3 stacksize I
0 33 4 localsize I
1 33 5 m Ljavassist/bytecode/MethodInfo;
10 12 6 cache Ljavassist/CtMember$Cache;
14 28 6 codeAttr Ljavassist/bytecode/CodeAttribute;
17 25 7 it Ljavassist/bytecode/CodeIterator;
18 25 8 pos I
20 25 9 maxstack I
23 25 10 maxlocals I
27 28 7 e Ljavassist/bytecode/BadBytecode;
31 32 6 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
16 25 26 Class javassist.bytecode.BadBytecode
28 29 30 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
cf
code
stacksize
localsize
private void modifyConstructors(javassist.bytecode.ClassFile);
descriptor: (Ljavassist/bytecode/ClassFile;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtClassType.fieldInitializers:Ljavassist/FieldInitLink;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 2
start local 2 3: aload 1
invokevirtual javassist.bytecode.ClassFile.getMethods:()Ljava/util/List;
astore 3
start local 3 4: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 22
StackMap locals: javassist.CtClassType javassist.bytecode.ClassFile javassist.bytecode.ConstPool java.util.List top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javassist.bytecode.MethodInfo
astore 4
start local 4 6: aload 4
invokevirtual javassist.bytecode.MethodInfo.isConstructor:()Z
ifeq 22
7: aload 4
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 6
start local 6 8: aload 6
ifnull 22
9: new javassist.bytecode.Bytecode
dup
aload 2
iconst_0
10: aload 6
invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
11: invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
astore 7
start local 7 12: aload 4
invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
13: aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
14: invokestatic javassist.bytecode.Descriptor.getParameterTypes:(Ljava/lang/String;Ljavassist/ClassPool;)[Ljavassist/CtClass;
15: astore 8
start local 8 16: aload 0
aload 7
aload 8
invokevirtual javassist.CtClassType.makeFieldInitializer:(Ljavassist/bytecode/Bytecode;[Ljavassist/CtClass;)I
istore 9
start local 9 17: aload 6
aload 7
iload 9
invokestatic javassist.CtClassType.insertAuxInitializer:(Ljavassist/bytecode/CodeAttribute;Ljavassist/bytecode/Bytecode;I)V
18: aload 4
aload 0
getfield javassist.CtClassType.classPool:Ljavassist/ClassPool;
aload 1
invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
end local 9 end local 8 end local 7 19: goto 22
20: StackMap locals: javassist.CtClassType javassist.bytecode.ClassFile javassist.bytecode.ConstPool java.util.List javassist.bytecode.MethodInfo java.util.Iterator javassist.bytecode.CodeAttribute
StackMap stack: javassist.bytecode.BadBytecode
astore 7
start local 7 21: new javassist.CannotCompileException
dup
aload 7
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 end local 6 end local 4 22: StackMap locals: javassist.CtClassType javassist.bytecode.ClassFile javassist.bytecode.ConstPool java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
23: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljavassist/CtClassType;
0 24 1 cf Ljavassist/bytecode/ClassFile;
3 24 2 cp Ljavassist/bytecode/ConstPool;
4 24 3 methods Ljava/util/List<Ljavassist/bytecode/MethodInfo;>;
6 22 4 minfo Ljavassist/bytecode/MethodInfo;
8 22 6 codeAttr Ljavassist/bytecode/CodeAttribute;
12 19 7 init Ljavassist/bytecode/Bytecode;
16 19 8 params [Ljavassist/CtClass;
17 19 9 stacksize I
21 22 7 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
9 19 20 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException, javassist.NotFoundException
MethodParameters:
Name Flags
cf
private static void insertAuxInitializer(javassist.bytecode.CodeAttribute, javassist.bytecode.Bytecode, int);
descriptor: (Ljavassist/bytecode/CodeAttribute;Ljavassist/bytecode/Bytecode;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
astore 3
start local 3 1: aload 3
invokevirtual javassist.bytecode.CodeIterator.skipSuperConstructor:()I
istore 4
start local 4 2: iload 4
ifge 6
3: aload 3
invokevirtual javassist.bytecode.CodeIterator.skipThisConstructor:()I
istore 4
4: iload 4
iflt 6
5: return
6: StackMap locals: javassist.bytecode.CodeIterator int
StackMap stack:
aload 3
aload 1
invokevirtual javassist.bytecode.Bytecode.get:()[B
invokevirtual javassist.bytecode.CodeIterator.insertEx:([B)I
istore 5
start local 5 7: aload 3
aload 1
invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
iload 5
invokevirtual javassist.bytecode.CodeIterator.insert:(Ljavassist/bytecode/ExceptionTable;I)V
8: aload 0
invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
istore 6
start local 6 9: iload 6
iload 2
if_icmpge 11
10: aload 0
iload 2
invokevirtual javassist.bytecode.CodeAttribute.setMaxStack:(I)V
11: StackMap locals: int int
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 codeAttr Ljavassist/bytecode/CodeAttribute;
0 12 1 initializer Ljavassist/bytecode/Bytecode;
0 12 2 stacksize I
1 12 3 it Ljavassist/bytecode/CodeIterator;
2 12 4 index I
7 12 5 pos I
9 12 6 maxstack I
Exceptions:
throws javassist.bytecode.BadBytecode
MethodParameters:
Name Flags
codeAttr
initializer
stacksize
private int makeFieldInitializer(javassist.bytecode.Bytecode, javassist.CtClass[]);
descriptor: (Ljavassist/bytecode/Bytecode;[Ljavassist/CtClass;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: new javassist.compiler.Javac
dup
aload 1
aload 0
invokespecial javassist.compiler.Javac.<init>:(Ljavassist/bytecode/Bytecode;Ljavassist/CtClass;)V
astore 4
start local 4 2: aload 4
aload 2
iconst_0
invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
pop
3: goto 6
4: StackMap locals: javassist.CtClassType javassist.bytecode.Bytecode javassist.CtClass[] int javassist.compiler.Javac
StackMap stack: javassist.compiler.CompileError
astore 5
start local 5 5: new javassist.CannotCompileException
dup
aload 5
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
athrow
end local 5 6: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtClassType.fieldInitializers:Ljavassist/FieldInitLink;
astore 5
start local 5 7: goto 16
8: StackMap locals: javassist.FieldInitLink
StackMap stack:
aload 5
getfield javassist.FieldInitLink.field:Ljavassist/CtField;
astore 6
start local 6 9: aload 6
invokevirtual javassist.CtField.getModifiers:()I
invokestatic javassist.Modifier.isStatic:(I)Z
ifne 15
10: aload 5
getfield javassist.FieldInitLink.init:Ljavassist/CtField$Initializer;
aload 6
invokevirtual javassist.CtField.getType:()Ljavassist/CtClass;
aload 6
invokevirtual javassist.CtField.getName:()Ljava/lang/String;
aload 1
11: aload 2
aload 4
12: invokevirtual javassist.CtField$Initializer.compile:(Ljavassist/CtClass;Ljava/lang/String;Ljavassist/bytecode/Bytecode;[Ljavassist/CtClass;Ljavassist/compiler/Javac;)I
istore 7
start local 7 13: iload 3
iload 7
if_icmpge 15
14: iload 7
istore 3
end local 7 end local 6 15: StackMap locals:
StackMap stack:
aload 5
getfield javassist.FieldInitLink.next:Ljavassist/FieldInitLink;
astore 5
StackMap locals:
StackMap stack:
16: aload 5
ifnonnull 8
end local 5 17: iload 3
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljavassist/CtClassType;
0 18 1 code Ljavassist/bytecode/Bytecode;
0 18 2 parameters [Ljavassist/CtClass;
1 18 3 stacksize I
2 18 4 jv Ljavassist/compiler/Javac;
5 6 5 e Ljavassist/compiler/CompileError;
7 17 5 fi Ljavassist/FieldInitLink;
9 15 6 f Ljavassist/CtField;
13 15 7 s I
Exception table:
from to target type
2 3 4 Class javassist.compiler.CompileError
Exceptions:
throws javassist.CannotCompileException, javassist.NotFoundException
MethodParameters:
Name Flags
code
parameters
java.util.Map<javassist.CtMethod, java.lang.String> getHiddenMethods();
descriptor: ()Ljava/util/Map;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtClassType.hiddenMethods:Ljava/util/Map;
ifnonnull 2
1: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield javassist.CtClassType.hiddenMethods:Ljava/util/Map;
2: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtClassType.hiddenMethods:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtClassType;
Signature: ()Ljava/util/Map<Ljavassist/CtMethod;Ljava/lang/String;>;
int getUniqueNumber();
descriptor: ()I
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield javassist.CtClassType.uniqueNumberSeed:I
dup_x1
iconst_1
iadd
putfield javassist.CtClassType.uniqueNumberSeed:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtClassType;
public java.lang.String makeUniqueName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: aload 0
aload 2
invokevirtual javassist.CtClassType.makeMemberList:(Ljava/util/Map;)V
2: aload 2
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
astore 3
start local 3 3: aload 3
invokeinterface java.util.Set.size:()I
anewarray java.lang.String
astore 4
start local 4 4: aload 3
aload 4
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
5: aload 1
aload 4
invokestatic javassist.CtClassType.notFindInArray:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 7
6: aload 1
areturn
7: StackMap locals: java.util.Map java.util.Set java.lang.String[]
StackMap stack:
bipush 100
istore 5
start local 5 8: StackMap locals: int
StackMap stack:
iload 5
sipush 999
if_icmple 10
9: new java.lang.RuntimeException
dup
ldc "too many unique name"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
iinc 5 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 11: aload 6
aload 4
invokestatic javassist.CtClassType.notFindInArray:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 8
12: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljavassist/CtClassType;
0 13 1 prefix Ljava/lang/String;
1 13 2 table Ljava/util/Map<Ljava/lang/Object;Ljavassist/CtClassType;>;
3 13 3 keys Ljava/util/Set<Ljava/lang/Object;>;
4 13 4 methods [Ljava/lang/String;
8 13 5 i I
11 13 6 name Ljava/lang/String;
MethodParameters:
Name Flags
prefix
private static boolean notFindInArray(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
arraylength
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 1
iload 3
aaload
aload 0
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 2
if_icmplt 3
end local 3 7: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 prefix Ljava/lang/String;
0 8 1 values [Ljava/lang/String;
1 8 2 len I
2 7 3 i I
MethodParameters:
Name Flags
prefix
values
private void makeMemberList(java.util.Map<java.lang.Object, javassist.CtClassType>);
descriptor: (Ljava/util/Map;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtClassType.getModifiers:()I
istore 2
start local 2 1: iload 2
invokestatic javassist.Modifier.isAbstract:(I)Z
ifne 2
iload 2
invokestatic javassist.Modifier.isInterface:(I)Z
ifeq 11
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getInterfaces:()[Ljavassist/CtClass;
astore 3
start local 3 3: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 8
StackMap locals: javassist.CtClassType java.util.Map int javassist.CtClass[] top int int javassist.CtClass[]
StackMap stack:
4: aload 7
iload 5
aaload
astore 4
start local 4 5: aload 4
ifnull 7
aload 4
instanceof javassist.CtClassType
ifeq 7
6: aload 4
checkcast javassist.CtClassType
aload 1
invokevirtual javassist.CtClassType.makeMemberList:(Ljava/util/Map;)V
end local 4 7: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 6
if_icmplt 4
end local 3 9: goto 11
10: StackMap locals: javassist.CtClassType java.util.Map int
StackMap stack: javassist.NotFoundException
pop
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getSuperclass:()Ljavassist/CtClass;
astore 3
start local 3 12: aload 3
ifnull 16
aload 3
instanceof javassist.CtClassType
ifeq 16
13: aload 3
checkcast javassist.CtClassType
aload 1
invokevirtual javassist.CtClassType.makeMemberList:(Ljava/util/Map;)V
end local 3 14: goto 16
15: StackMap locals:
StackMap stack: javassist.NotFoundException
pop
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.ClassFile.getMethods:()Ljava/util/List;
astore 3
start local 3 17: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 20
StackMap locals: javassist.CtClassType java.util.Map int java.util.List top java.util.Iterator
StackMap stack:
18: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javassist.bytecode.MethodInfo
astore 4
start local 4 19: aload 1
aload 4
invokevirtual javassist.bytecode.MethodInfo.getName:()Ljava/lang/String;
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 20: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
21: aload 0
invokevirtual javassist.CtClassType.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.ClassFile.getFields:()Ljava/util/List;
astore 4
start local 4 22: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 25
StackMap locals: javassist.CtClassType java.util.Map int java.util.List java.util.List top java.util.Iterator
StackMap stack:
23: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javassist.bytecode.FieldInfo
astore 5
start local 5 24: aload 1
aload 5
invokevirtual javassist.bytecode.FieldInfo.getName:()Ljava/lang/String;
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 25: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
26: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljavassist/CtClassType;
0 27 1 table Ljava/util/Map<Ljava/lang/Object;Ljavassist/CtClassType;>;
1 27 2 mod I
3 9 3 ifs [Ljavassist/CtClass;
5 7 4 ic Ljavassist/CtClass;
12 14 3 s Ljavassist/CtClass;
17 27 3 methods Ljava/util/List<Ljavassist/bytecode/MethodInfo;>;
19 20 4 minfo Ljavassist/bytecode/MethodInfo;
22 27 4 fields Ljava/util/List<Ljavassist/bytecode/FieldInfo;>;
24 25 5 finfo Ljavassist/bytecode/FieldInfo;
Exception table:
from to target type
2 9 10 Class javassist.NotFoundException
11 14 15 Class javassist.NotFoundException
Signature: (Ljava/util/Map<Ljava/lang/Object;Ljavassist/CtClassType;>;)V
MethodParameters:
Name Flags
table
}
SourceFile: "CtClassType.java"
InnerClasses:
public abstract Initializer = javassist.CtField$Initializer of javassist.CtField
Cache = javassist.CtMember$Cache of javassist.CtMember