public class net.sf.cglib.core.EmitUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.sf.cglib.core.EmitUtils
super_class: java.lang.Object
{
private static final net.sf.cglib.core.Signature CSTRUCT_NULL;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature CSTRUCT_THROWABLE;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature GET_NAME;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature HASH_CODE;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature EQUALS;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature STRING_LENGTH;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature STRING_CHAR_AT;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature FOR_NAME;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature DOUBLE_TO_LONG_BITS;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature FLOAT_TO_INT_BITS;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature TO_STRING;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature APPEND_STRING;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature APPEND_INT;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature APPEND_DOUBLE;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature APPEND_FLOAT;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature APPEND_CHAR;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature APPEND_LONG;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature APPEND_BOOLEAN;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature LENGTH;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature SET_LENGTH;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature GET_DECLARED_METHOD;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final net.sf.cglib.core.EmitUtils$ArrayDelimiters DEFAULT_DELIMITERS;
descriptor: Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc ""
invokestatic net.sf.cglib.core.TypeUtils.parseConstructor:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
1: putstatic net.sf.cglib.core.EmitUtils.CSTRUCT_NULL:Lnet/sf/cglib/core/Signature;
2: ldc "Throwable"
invokestatic net.sf.cglib.core.TypeUtils.parseConstructor:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
3: putstatic net.sf.cglib.core.EmitUtils.CSTRUCT_THROWABLE:Lnet/sf/cglib/core/Signature;
4: ldc "String getName()"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
5: putstatic net.sf.cglib.core.EmitUtils.GET_NAME:Lnet/sf/cglib/core/Signature;
6: ldc "int hashCode()"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
7: putstatic net.sf.cglib.core.EmitUtils.HASH_CODE:Lnet/sf/cglib/core/Signature;
8: ldc "boolean equals(Object)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
9: putstatic net.sf.cglib.core.EmitUtils.EQUALS:Lnet/sf/cglib/core/Signature;
10: ldc "int length()"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
11: putstatic net.sf.cglib.core.EmitUtils.STRING_LENGTH:Lnet/sf/cglib/core/Signature;
12: ldc "char charAt(int)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
13: putstatic net.sf.cglib.core.EmitUtils.STRING_CHAR_AT:Lnet/sf/cglib/core/Signature;
14: ldc "Class forName(String)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
15: putstatic net.sf.cglib.core.EmitUtils.FOR_NAME:Lnet/sf/cglib/core/Signature;
16: ldc "long doubleToLongBits(double)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
17: putstatic net.sf.cglib.core.EmitUtils.DOUBLE_TO_LONG_BITS:Lnet/sf/cglib/core/Signature;
18: ldc "int floatToIntBits(float)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
19: putstatic net.sf.cglib.core.EmitUtils.FLOAT_TO_INT_BITS:Lnet/sf/cglib/core/Signature;
20: ldc "String toString()"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
21: putstatic net.sf.cglib.core.EmitUtils.TO_STRING:Lnet/sf/cglib/core/Signature;
22: ldc "StringBuffer append(String)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
23: putstatic net.sf.cglib.core.EmitUtils.APPEND_STRING:Lnet/sf/cglib/core/Signature;
24: ldc "StringBuffer append(int)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
25: putstatic net.sf.cglib.core.EmitUtils.APPEND_INT:Lnet/sf/cglib/core/Signature;
26: ldc "StringBuffer append(double)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
27: putstatic net.sf.cglib.core.EmitUtils.APPEND_DOUBLE:Lnet/sf/cglib/core/Signature;
28: ldc "StringBuffer append(float)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
29: putstatic net.sf.cglib.core.EmitUtils.APPEND_FLOAT:Lnet/sf/cglib/core/Signature;
30: ldc "StringBuffer append(char)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
31: putstatic net.sf.cglib.core.EmitUtils.APPEND_CHAR:Lnet/sf/cglib/core/Signature;
32: ldc "StringBuffer append(long)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
33: putstatic net.sf.cglib.core.EmitUtils.APPEND_LONG:Lnet/sf/cglib/core/Signature;
34: ldc "StringBuffer append(boolean)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
35: putstatic net.sf.cglib.core.EmitUtils.APPEND_BOOLEAN:Lnet/sf/cglib/core/Signature;
36: ldc "int length()"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
37: putstatic net.sf.cglib.core.EmitUtils.LENGTH:Lnet/sf/cglib/core/Signature;
38: ldc "void setLength(int)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
39: putstatic net.sf.cglib.core.EmitUtils.SET_LENGTH:Lnet/sf/cglib/core/Signature;
40: ldc "java.lang.reflect.Method getDeclaredMethod(String, Class[])"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
41: putstatic net.sf.cglib.core.EmitUtils.GET_DECLARED_METHOD:Lnet/sf/cglib/core/Signature;
42: new net.sf.cglib.core.EmitUtils$ArrayDelimiters
dup
ldc "{"
ldc ", "
ldc "}"
invokespecial net.sf.cglib.core.EmitUtils$ArrayDelimiters.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
putstatic net.sf.cglib.core.EmitUtils.DEFAULT_DELIMITERS:Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnet/sf/cglib/core/EmitUtils;
public static void factory_method(net.sf.cglib.core.ClassEmitter, net.sf.cglib.core.Signature);
descriptor: (Lnet/sf/cglib/core/ClassEmitter;Lnet/sf/cglib/core/Signature;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
aload 1
aconst_null
invokevirtual net.sf.cglib.core.ClassEmitter.begin_method:(ILnet/sf/cglib/core/Signature;[Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/CodeEmitter;
astore 2
start local 2 1: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.new_instance_this:()V
2: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
3: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.load_args:()V
4: aload 2
aload 1
invokevirtual net.sf.cglib.core.Signature.getArgumentTypes:()[Lorg/objectweb/asm/Type;
invokestatic net.sf.cglib.core.TypeUtils.parseConstructor:([Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor_this:(Lnet/sf/cglib/core/Signature;)V
5: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.return_value:()V
6: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.end_method:()V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ce Lnet/sf/cglib/core/ClassEmitter;
0 8 1 sig Lnet/sf/cglib/core/Signature;
1 8 2 e Lnet/sf/cglib/core/CodeEmitter;
MethodParameters:
Name Flags
ce
sig
public static void null_constructor(net.sf.cglib.core.ClassEmitter);
descriptor: (Lnet/sf/cglib/core/ClassEmitter;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
getstatic net.sf.cglib.core.EmitUtils.CSTRUCT_NULL:Lnet/sf/cglib/core/Signature;
aconst_null
invokevirtual net.sf.cglib.core.ClassEmitter.begin_method:(ILnet/sf/cglib/core/Signature;[Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/CodeEmitter;
astore 1
start local 1 1: aload 1
invokevirtual net.sf.cglib.core.CodeEmitter.load_this:()V
2: aload 1
invokevirtual net.sf.cglib.core.CodeEmitter.super_invoke_constructor:()V
3: aload 1
invokevirtual net.sf.cglib.core.CodeEmitter.return_value:()V
4: aload 1
invokevirtual net.sf.cglib.core.CodeEmitter.end_method:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 ce Lnet/sf/cglib/core/ClassEmitter;
1 6 1 e Lnet/sf/cglib/core/CodeEmitter;
MethodParameters:
Name Flags
ce
public static void process_array(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type, net.sf.cglib.core.ProcessArrayCallback);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/ProcessArrayCallback;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic net.sf.cglib.core.TypeUtils.getComponentType:(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/Type;
astore 3
start local 3 1: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_local:()Lnet/sf/cglib/core/Local;
astore 4
start local 4 2: aload 0
getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.make_local:(Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/Local;
astore 5
start local 5 3: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 6
start local 6 4: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 7
start local 7 5: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.store_local:(Lnet/sf/cglib/core/Local;)V
6: aload 0
iconst_0
invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
7: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.store_local:(Lnet/sf/cglib/core/Local;)V
8: aload 0
aload 7
invokevirtual net.sf.cglib.core.CodeEmitter.goTo:(Lorg/objectweb/asm/Label;)V
9: aload 0
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
10: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
11: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
12: aload 0
aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.array_load:(Lorg/objectweb/asm/Type;)V
13: aload 2
aload 3
invokeinterface net.sf.cglib.core.ProcessArrayCallback.processElement:(Lorg/objectweb/asm/Type;)V
14: aload 0
aload 5
iconst_1
invokevirtual net.sf.cglib.core.CodeEmitter.iinc:(Lnet/sf/cglib/core/Local;I)V
15: aload 0
aload 7
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
16: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
17: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
18: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.arraylength:()V
19: aload 0
sipush 155
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.if_icmp:(ILorg/objectweb/asm/Label;)V
20: return
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 e Lnet/sf/cglib/core/CodeEmitter;
0 21 1 type Lorg/objectweb/asm/Type;
0 21 2 callback Lnet/sf/cglib/core/ProcessArrayCallback;
1 21 3 componentType Lorg/objectweb/asm/Type;
2 21 4 array Lnet/sf/cglib/core/Local;
3 21 5 loopvar Lnet/sf/cglib/core/Local;
4 21 6 loopbody Lorg/objectweb/asm/Label;
5 21 7 checkloop Lorg/objectweb/asm/Label;
MethodParameters:
Name Flags
e
type
callback
public static void process_arrays(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type, net.sf.cglib.core.ProcessArrayCallback);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/ProcessArrayCallback;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic net.sf.cglib.core.TypeUtils.getComponentType:(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/Type;
astore 3
start local 3 1: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_local:()Lnet/sf/cglib/core/Local;
astore 4
start local 4 2: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_local:()Lnet/sf/cglib/core/Local;
astore 5
start local 5 3: aload 0
getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.make_local:(Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/Local;
astore 6
start local 6 4: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 7
start local 7 5: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 8
start local 8 6: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.store_local:(Lnet/sf/cglib/core/Local;)V
7: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.store_local:(Lnet/sf/cglib/core/Local;)V
8: aload 0
iconst_0
invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
9: aload 0
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.store_local:(Lnet/sf/cglib/core/Local;)V
10: aload 0
aload 8
invokevirtual net.sf.cglib.core.CodeEmitter.goTo:(Lorg/objectweb/asm/Label;)V
11: aload 0
aload 7
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
12: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
13: aload 0
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
14: aload 0
aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.array_load:(Lorg/objectweb/asm/Type;)V
15: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
16: aload 0
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
17: aload 0
aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.array_load:(Lorg/objectweb/asm/Type;)V
18: aload 2
aload 3
invokeinterface net.sf.cglib.core.ProcessArrayCallback.processElement:(Lorg/objectweb/asm/Type;)V
19: aload 0
aload 6
iconst_1
invokevirtual net.sf.cglib.core.CodeEmitter.iinc:(Lnet/sf/cglib/core/Local;I)V
20: aload 0
aload 8
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
21: aload 0
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
22: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
23: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.arraylength:()V
24: aload 0
sipush 155
aload 7
invokevirtual net.sf.cglib.core.CodeEmitter.if_icmp:(ILorg/objectweb/asm/Label;)V
25: return
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 26 0 e Lnet/sf/cglib/core/CodeEmitter;
0 26 1 type Lorg/objectweb/asm/Type;
0 26 2 callback Lnet/sf/cglib/core/ProcessArrayCallback;
1 26 3 componentType Lorg/objectweb/asm/Type;
2 26 4 array1 Lnet/sf/cglib/core/Local;
3 26 5 array2 Lnet/sf/cglib/core/Local;
4 26 6 loopvar Lnet/sf/cglib/core/Local;
5 26 7 loopbody Lorg/objectweb/asm/Label;
6 26 8 checkloop Lorg/objectweb/asm/Label;
MethodParameters:
Name Flags
e
type
callback
public static void string_switch(net.sf.cglib.core.CodeEmitter, java.lang.String[], int, net.sf.cglib.core.ObjectSwitchCallback);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;[Ljava/lang/String;ILnet/sf/cglib/core/ObjectSwitchCallback;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
tableswitch { // 0 - 2
0: 1
1: 3
2: 5
default: 7
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokestatic net.sf.cglib.core.EmitUtils.string_switch_trie:(Lnet/sf/cglib/core/CodeEmitter;[Ljava/lang/String;Lnet/sf/cglib/core/ObjectSwitchCallback;)V
2: goto 14
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
iconst_0
invokestatic net.sf.cglib.core.EmitUtils.string_switch_hash:(Lnet/sf/cglib/core/CodeEmitter;[Ljava/lang/String;Lnet/sf/cglib/core/ObjectSwitchCallback;Z)V
4: goto 14
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
iconst_1
invokestatic net.sf.cglib.core.EmitUtils.string_switch_hash:(Lnet/sf/cglib/core/CodeEmitter;[Ljava/lang/String;Lnet/sf/cglib/core/ObjectSwitchCallback;Z)V
6: goto 14
7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unknown switch style "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 4
start local 4 9: aload 4
athrow
end local 4 10: StackMap locals:
StackMap stack: java.lang.Error
astore 4
start local 4 11: aload 4
athrow
end local 4 12: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 13: new net.sf.cglib.core.CodeGenerationException
dup
aload 4
invokespecial net.sf.cglib.core.CodeGenerationException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 e Lnet/sf/cglib/core/CodeEmitter;
0 15 1 strings [Ljava/lang/String;
0 15 2 switchStyle I
0 15 3 callback Lnet/sf/cglib/core/ObjectSwitchCallback;
9 10 4 ex Ljava/lang/RuntimeException;
11 12 4 ex Ljava/lang/Error;
13 14 4 ex Ljava/lang/Exception;
Exception table:
from to target type
0 8 8 Class java.lang.RuntimeException
0 8 10 Class java.lang.Error
0 8 12 Class java.lang.Exception
MethodParameters:
Name Flags
e
strings
switchStyle
callback
private static void string_switch_trie(net.sf.cglib.core.CodeEmitter, java.lang.String[], net.sf.cglib.core.ObjectSwitchCallback);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;[Ljava/lang/String;Lnet/sf/cglib/core/ObjectSwitchCallback;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 3
start local 3 1: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 4
start local 4 2: aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
new net.sf.cglib.core.EmitUtils$1
dup
invokespecial net.sf.cglib.core.EmitUtils$1.<init>:()V
invokestatic net.sf.cglib.core.CollectionUtils.bucket:(Ljava/util/Collection;Lnet/sf/cglib/core/Transformer;)Ljava/util/Map;
astore 5
start local 5 3: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
4: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.STRING_LENGTH:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
5: aload 0
aload 5
invokestatic net.sf.cglib.core.EmitUtils.getSwitchKeys:(Ljava/util/Map;)[I
new net.sf.cglib.core.EmitUtils$2
dup
aload 5
aload 0
aload 2
aload 3
aload 4
invokespecial net.sf.cglib.core.EmitUtils$2.<init>:(Ljava/util/Map;Lnet/sf/cglib/core/CodeEmitter;Lnet/sf/cglib/core/ObjectSwitchCallback;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
invokevirtual net.sf.cglib.core.CodeEmitter.process_switch:([ILnet/sf/cglib/core/ProcessSwitchCallback;)V
6: aload 0
aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
7: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.pop:()V
8: aload 2
invokeinterface net.sf.cglib.core.ObjectSwitchCallback.processDefault:()V
9: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
10: 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 11 0 e Lnet/sf/cglib/core/CodeEmitter;
0 11 1 strings [Ljava/lang/String;
0 11 2 callback Lnet/sf/cglib/core/ObjectSwitchCallback;
1 11 3 def Lorg/objectweb/asm/Label;
2 11 4 end Lorg/objectweb/asm/Label;
3 11 5 buckets Ljava/util/Map;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
e final
strings
callback final
private static void stringSwitchHelper(net.sf.cglib.core.CodeEmitter, java.util.List, net.sf.cglib.core.ObjectSwitchCallback, org.objectweb.asm.Label, org.objectweb.asm.Label, int);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Ljava/util/List;Lnet/sf/cglib/core/ObjectSwitchCallback;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=11, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.length:()I
istore 6
start local 6 1: aload 1
new net.sf.cglib.core.EmitUtils$3
dup
iload 5
invokespecial net.sf.cglib.core.EmitUtils$3.<init>:(I)V
invokestatic net.sf.cglib.core.CollectionUtils.bucket:(Ljava/util/Collection;Lnet/sf/cglib/core/Transformer;)Ljava/util/Map;
astore 7
start local 7 2: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
3: aload 0
iload 5
invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
4: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.STRING_CHAR_AT:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
5: aload 0
aload 7
invokestatic net.sf.cglib.core.EmitUtils.getSwitchKeys:(Ljava/util/Map;)[I
new net.sf.cglib.core.EmitUtils$4
dup
aload 7
iload 5
iload 6
aload 0
aload 2
aload 4
aload 3
invokespecial net.sf.cglib.core.EmitUtils$4.<init>:(Ljava/util/Map;IILnet/sf/cglib/core/CodeEmitter;Lnet/sf/cglib/core/ObjectSwitchCallback;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
invokevirtual net.sf.cglib.core.CodeEmitter.process_switch:([ILnet/sf/cglib/core/ProcessSwitchCallback;)V
6: return
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 7 0 e Lnet/sf/cglib/core/CodeEmitter;
0 7 1 strings Ljava/util/List;
0 7 2 callback Lnet/sf/cglib/core/ObjectSwitchCallback;
0 7 3 def Lorg/objectweb/asm/Label;
0 7 4 end Lorg/objectweb/asm/Label;
0 7 5 index I
1 7 6 len I
2 7 7 buckets Ljava/util/Map;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
e final
strings
callback final
def final
end final
index final
static int[] getSwitchKeys(java.util.Map);
descriptor: (Ljava/util/Map;)[I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokeinterface java.util.Map.size:()I
newarray 10
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
start local 3 3: goto 5
4: StackMap locals: int[] int java.util.Iterator
StackMap stack:
aload 1
iload 2
iinc 2 1
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iastore
5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 3 6: aload 1
invokestatic java.util.Arrays.sort:([I)V
7: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 buckets Ljava/util/Map;
1 8 1 keys [I
2 8 2 index I
3 6 3 it Ljava/util/Iterator;
MethodParameters:
Name Flags
buckets
private static void string_switch_hash(net.sf.cglib.core.CodeEmitter, java.lang.String[], net.sf.cglib.core.ObjectSwitchCallback, boolean);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;[Ljava/lang/String;Lnet/sf/cglib/core/ObjectSwitchCallback;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
new net.sf.cglib.core.EmitUtils$5
dup
invokespecial net.sf.cglib.core.EmitUtils$5.<init>:()V
invokestatic net.sf.cglib.core.CollectionUtils.bucket:(Ljava/util/Collection;Lnet/sf/cglib/core/Transformer;)Ljava/util/Map;
astore 4
start local 4 1: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 5
start local 5 2: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 6
start local 6 3: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
4: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_OBJECT:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.HASH_CODE:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
5: aload 0
aload 4
invokestatic net.sf.cglib.core.EmitUtils.getSwitchKeys:(Ljava/util/Map;)[I
new net.sf.cglib.core.EmitUtils$6
dup
aload 4
iload 3
aload 0
aload 2
aload 6
aload 5
invokespecial net.sf.cglib.core.EmitUtils$6.<init>:(Ljava/util/Map;ZLnet/sf/cglib/core/CodeEmitter;Lnet/sf/cglib/core/ObjectSwitchCallback;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
invokevirtual net.sf.cglib.core.CodeEmitter.process_switch:([ILnet/sf/cglib/core/ProcessSwitchCallback;)V
6: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
7: aload 2
invokeinterface net.sf.cglib.core.ObjectSwitchCallback.processDefault:()V
8: aload 0
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
9: 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 10 0 e Lnet/sf/cglib/core/CodeEmitter;
0 10 1 strings [Ljava/lang/String;
0 10 2 callback Lnet/sf/cglib/core/ObjectSwitchCallback;
0 10 3 skipEquals Z
1 10 4 buckets Ljava/util/Map;
2 10 5 def Lorg/objectweb/asm/Label;
3 10 6 end Lorg/objectweb/asm/Label;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
e final
strings final
callback final
skipEquals final
public static void load_class_this(net.sf.cglib.core.CodeEmitter);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.getClassEmitter:()Lnet/sf/cglib/core/ClassEmitter;
invokevirtual net.sf.cglib.core.ClassEmitter.getClassType:()Lorg/objectweb/asm/Type;
invokestatic net.sf.cglib.core.EmitUtils.load_class_helper:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Lnet/sf/cglib/core/CodeEmitter;
MethodParameters:
Name Flags
e
public static void load_class(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic net.sf.cglib.core.TypeUtils.isPrimitive:(Lorg/objectweb/asm/Type;)Z
ifeq 5
1: aload 1
getstatic org.objectweb.asm.Type.VOID_TYPE:Lorg/objectweb/asm/Type;
if_acmpne 3
2: new java.lang.IllegalArgumentException
dup
ldc "cannot load void type"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic net.sf.cglib.core.TypeUtils.getBoxedType:(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/Type;
ldc "TYPE"
getstatic net.sf.cglib.core.Constants.TYPE_CLASS:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.getstatic:(Lorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic net.sf.cglib.core.EmitUtils.load_class_helper:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 e Lnet/sf/cglib/core/CodeEmitter;
0 7 1 type Lorg/objectweb/asm/Type;
MethodParameters:
Name Flags
e
type
private static void load_class_helper(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.isStaticHook:()Z
ifeq 4
1: aload 0
aload 1
invokestatic net.sf.cglib.core.TypeUtils.emulateClassGetName:(Lorg/objectweb/asm/Type;)Ljava/lang/String;
invokevirtual net.sf.cglib.core.CodeEmitter.push:(Ljava/lang/String;)V
2: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_CLASS:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.FOR_NAME:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_static:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
3: goto 14
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.getClassEmitter:()Lnet/sf/cglib/core/ClassEmitter;
astore 2
start local 2 5: aload 1
invokestatic net.sf.cglib.core.TypeUtils.emulateClassGetName:(Lorg/objectweb/asm/Type;)Ljava/lang/String;
astore 3
start local 3 6: new java.lang.StringBuilder
dup
ldc "CGLIB$load_class$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokestatic net.sf.cglib.core.TypeUtils.escapeType:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 7: aload 2
aload 4
invokevirtual net.sf.cglib.core.ClassEmitter.isFieldDeclared:(Ljava/lang/String;)Z
ifne 13
8: aload 2
bipush 26
aload 4
getstatic net.sf.cglib.core.Constants.TYPE_CLASS:Lorg/objectweb/asm/Type;
aconst_null
invokevirtual net.sf.cglib.core.ClassEmitter.declare_field:(ILjava/lang/String;Lorg/objectweb/asm/Type;Ljava/lang/Object;)V
9: aload 2
invokevirtual net.sf.cglib.core.ClassEmitter.getStaticHook:()Lnet/sf/cglib/core/CodeEmitter;
astore 5
start local 5 10: aload 5
aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.push:(Ljava/lang/String;)V
11: aload 5
getstatic net.sf.cglib.core.Constants.TYPE_CLASS:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.FOR_NAME:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_static:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
12: aload 5
aload 2
invokevirtual net.sf.cglib.core.ClassEmitter.getClassType:()Lorg/objectweb/asm/Type;
aload 4
getstatic net.sf.cglib.core.Constants.TYPE_CLASS:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.putstatic:(Lorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
end local 5 13: StackMap locals: net.sf.cglib.core.ClassEmitter java.lang.String java.lang.String
StackMap stack:
aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.getfield:(Ljava/lang/String;)V
end local 4 end local 3 end local 2 14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 e Lnet/sf/cglib/core/CodeEmitter;
0 15 1 type Lorg/objectweb/asm/Type;
5 14 2 ce Lnet/sf/cglib/core/ClassEmitter;
6 14 3 typeName Ljava/lang/String;
7 14 4 fieldName Ljava/lang/String;
10 13 5 hook Lnet/sf/cglib/core/CodeEmitter;
MethodParameters:
Name Flags
e
type final
public static void push_array(net.sf.cglib.core.CodeEmitter, java.lang.Object[]);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;[Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
arraylength
invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
1: aload 0
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
invokestatic net.sf.cglib.core.EmitUtils.remapComponentType:(Ljava/lang/Class;)Ljava/lang/Class;
invokestatic org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.newarray:(Lorg/objectweb/asm/Type;)V
2: iconst_0
istore 2
start local 2 3: goto 9
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
5: aload 0
iload 2
invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
6: aload 0
aload 1
iload 2
aaload
invokestatic net.sf.cglib.core.EmitUtils.push_object:(Lnet/sf/cglib/core/CodeEmitter;Ljava/lang/Object;)V
7: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.aastore:()V
8: iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 1
arraylength
if_icmplt 4
end local 2 10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 e Lnet/sf/cglib/core/CodeEmitter;
0 11 1 array [Ljava/lang/Object;
3 10 2 i I
MethodParameters:
Name Flags
e
array
private static java.lang.Class remapComponentType(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Lorg/objectweb/asm/Type;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: ldc Ljava/lang/Class;
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 componentType Ljava/lang/Class;
MethodParameters:
Name Flags
componentType
public static void push_object(net.sf.cglib.core.CodeEmitter, java.lang.Object);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.aconst_null:()V
2: goto 29
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 2
start local 2 4: aload 2
invokevirtual java.lang.Class.isArray:()Z
ifeq 7
5: aload 0
aload 1
checkcast java.lang.Object[]
invokestatic net.sf.cglib.core.EmitUtils.push_array:(Lnet/sf/cglib/core/CodeEmitter;[Ljava/lang/Object;)V
6: goto 29
StackMap locals: java.lang.Class
StackMap stack:
7: aload 1
instanceof java.lang.String
ifeq 10
8: aload 0
aload 1
checkcast java.lang.String
invokevirtual net.sf.cglib.core.CodeEmitter.push:(Ljava/lang/String;)V
9: goto 29
StackMap locals:
StackMap stack:
10: aload 1
instanceof org.objectweb.asm.Type
ifeq 13
11: aload 0
aload 1
checkcast org.objectweb.asm.Type
invokestatic net.sf.cglib.core.EmitUtils.load_class:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
12: goto 29
StackMap locals:
StackMap stack:
13: aload 1
instanceof java.lang.Class
ifeq 16
14: aload 0
aload 1
checkcast java.lang.Class
invokestatic org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Lorg/objectweb/asm/Type;
invokestatic net.sf.cglib.core.EmitUtils.load_class:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
15: goto 29
StackMap locals:
StackMap stack:
16: aload 1
instanceof java.math.BigInteger
ifeq 22
17: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_BIG_INTEGER:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.new_instance:(Lorg/objectweb/asm/Type;)V
18: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
19: aload 0
aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual net.sf.cglib.core.CodeEmitter.push:(Ljava/lang/String;)V
20: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_BIG_INTEGER:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor:(Lorg/objectweb/asm/Type;)V
21: goto 29
StackMap locals:
StackMap stack:
22: aload 1
instanceof java.math.BigDecimal
ifeq 28
23: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_BIG_DECIMAL:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.new_instance:(Lorg/objectweb/asm/Type;)V
24: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
25: aload 0
aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual net.sf.cglib.core.CodeEmitter.push:(Ljava/lang/String;)V
26: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_BIG_DECIMAL:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor:(Lorg/objectweb/asm/Type;)V
27: goto 29
28: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unknown type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 29: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 e Lnet/sf/cglib/core/CodeEmitter;
0 30 1 obj Ljava/lang/Object;
4 29 2 type Ljava/lang/Class;
MethodParameters:
Name Flags
e
obj
public static void hash_code(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type, int, net.sf.cglib.core.Customizer);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;ILnet/sf/cglib/core/Customizer;)V
flags: (0x0009) ACC_PUBLIC, 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
aload 1
iload 2
aload 3
invokestatic net.sf.cglib.core.internal.CustomizerRegistry.singleton:(Lnet/sf/cglib/core/Customizer;)Lnet/sf/cglib/core/internal/CustomizerRegistry;
invokestatic net.sf.cglib.core.EmitUtils.hash_code:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;ILnet/sf/cglib/core/internal/CustomizerRegistry;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Lnet/sf/cglib/core/CodeEmitter;
0 2 1 type Lorg/objectweb/asm/Type;
0 2 2 multiplier I
0 2 3 customizer Lnet/sf/cglib/core/Customizer;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
e
type
multiplier
customizer final
public static void hash_code(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type, int, net.sf.cglib.core.internal.CustomizerRegistry);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;ILnet/sf/cglib/core/internal/CustomizerRegistry;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic net.sf.cglib.core.TypeUtils.isArray:(Lorg/objectweb/asm/Type;)Z
ifeq 3
1: aload 0
aload 1
iload 2
aload 3
invokestatic net.sf.cglib.core.EmitUtils.hash_array:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;ILnet/sf/cglib/core/internal/CustomizerRegistry;)V
2: goto 12
3: StackMap locals:
StackMap stack:
aload 0
getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
aload 1
invokevirtual net.sf.cglib.core.CodeEmitter.swap:(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
4: aload 0
iload 2
invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
5: aload 0
bipush 104
getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.math:(ILorg/objectweb/asm/Type;)V
6: aload 0
aload 1
getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.swap:(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
7: aload 1
invokestatic net.sf.cglib.core.TypeUtils.isPrimitive:(Lorg/objectweb/asm/Type;)Z
ifeq 10
8: aload 0
aload 1
invokestatic net.sf.cglib.core.EmitUtils.hash_primitive:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokestatic net.sf.cglib.core.EmitUtils.hash_object:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/internal/CustomizerRegistry;)V
11: StackMap locals:
StackMap stack:
aload 0
bipush 96
getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.math:(ILorg/objectweb/asm/Type;)V
12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 e Lnet/sf/cglib/core/CodeEmitter;
0 13 1 type Lorg/objectweb/asm/Type;
0 13 2 multiplier I
0 13 3 registry Lnet/sf/cglib/core/internal/CustomizerRegistry;
MethodParameters:
Name Flags
e
type
multiplier
registry final
private static void hash_array(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type, int, net.sf.cglib.core.internal.CustomizerRegistry);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;ILnet/sf/cglib/core/internal/CustomizerRegistry;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 4
start local 4 1: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 5
start local 5 2: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
3: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.ifnull:(Lorg/objectweb/asm/Label;)V
4: aload 0
aload 1
new net.sf.cglib.core.EmitUtils$7
dup
aload 0
iload 2
aload 3
invokespecial net.sf.cglib.core.EmitUtils$7.<init>:(Lnet/sf/cglib/core/CodeEmitter;ILnet/sf/cglib/core/internal/CustomizerRegistry;)V
invokestatic net.sf.cglib.core.EmitUtils.process_array:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/ProcessArrayCallback;)V
5: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.goTo:(Lorg/objectweb/asm/Label;)V
6: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
7: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.pop:()V
8: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
9: 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 10 0 e Lnet/sf/cglib/core/CodeEmitter;
0 10 1 type Lorg/objectweb/asm/Type;
0 10 2 multiplier I
0 10 3 registry Lnet/sf/cglib/core/internal/CustomizerRegistry;
1 10 4 skip Lorg/objectweb/asm/Label;
2 10 5 end Lorg/objectweb/asm/Label;
MethodParameters:
Name Flags
e final
type
multiplier final
registry final
private static void hash_object(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type, net.sf.cglib.core.internal.CustomizerRegistry);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/internal/CustomizerRegistry;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 3
start local 3 1: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 4
start local 4 2: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
3: aload 0
aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.ifnull:(Lorg/objectweb/asm/Label;)V
4: iconst_0
istore 5
start local 5 5: aload 2
ldc Lnet/sf/cglib/core/HashCodeCustomizer;
invokevirtual net.sf.cglib.core.internal.CustomizerRegistry.get:(Ljava/lang/Class;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 10
StackMap locals: net.sf.cglib.core.CodeEmitter org.objectweb.asm.Type net.sf.cglib.core.internal.CustomizerRegistry org.objectweb.asm.Label org.objectweb.asm.Label int top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.sf.cglib.core.HashCodeCustomizer
astore 6
start local 6 7: aload 6
aload 0
aload 1
invokeinterface net.sf.cglib.core.HashCodeCustomizer.customize:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)Z
ifeq 10
8: iconst_1
istore 5
9: goto 11
end local 6 10: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
11: StackMap locals: net.sf.cglib.core.CodeEmitter org.objectweb.asm.Type net.sf.cglib.core.internal.CustomizerRegistry org.objectweb.asm.Label org.objectweb.asm.Label int
StackMap stack:
iload 5
ifne 17
12: aload 2
ldc Lnet/sf/cglib/core/Customizer;
invokevirtual net.sf.cglib.core.internal.CustomizerRegistry.get:(Ljava/lang/Class;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 15
StackMap locals: net.sf.cglib.core.CodeEmitter org.objectweb.asm.Type net.sf.cglib.core.internal.CustomizerRegistry org.objectweb.asm.Label org.objectweb.asm.Label int top java.util.Iterator
StackMap stack:
13: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.sf.cglib.core.Customizer
astore 6
start local 6 14: aload 6
aload 0
aload 1
invokeinterface net.sf.cglib.core.Customizer.customize:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
end local 6 15: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_OBJECT:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.HASH_CODE:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
17: StackMap locals: net.sf.cglib.core.CodeEmitter org.objectweb.asm.Type net.sf.cglib.core.internal.CustomizerRegistry org.objectweb.asm.Label org.objectweb.asm.Label int
StackMap stack:
aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.goTo:(Lorg/objectweb/asm/Label;)V
18: aload 0
aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
19: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.pop:()V
20: aload 0
iconst_0
invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
21: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
22: 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 23 0 e Lnet/sf/cglib/core/CodeEmitter;
0 23 1 type Lorg/objectweb/asm/Type;
0 23 2 registry Lnet/sf/cglib/core/internal/CustomizerRegistry;
1 23 3 skip Lorg/objectweb/asm/Label;
2 23 4 end Lorg/objectweb/asm/Label;
5 23 5 customHashCode Z
7 10 6 customizer Lnet/sf/cglib/core/HashCodeCustomizer;
14 15 6 customizer Lnet/sf/cglib/core/Customizer;
MethodParameters:
Name Flags
e
type
registry
private static void hash_primitive(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.objectweb.asm.Type.getSort:()I
tableswitch { // 1 - 8
1: 1
2: 8
3: 8
4: 8
5: 8
6: 4
7: 7
8: 6
default: 8
}
1: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
2: aload 0
sipush 130
getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.math:(ILorg/objectweb/asm/Type;)V
3: goto 8
4: StackMap locals:
StackMap stack:
aload 0
getstatic net.sf.cglib.core.Constants.TYPE_FLOAT:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.FLOAT_TO_INT_BITS:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_static:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
5: goto 8
6: StackMap locals:
StackMap stack:
aload 0
getstatic net.sf.cglib.core.Constants.TYPE_DOUBLE:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.DOUBLE_TO_LONG_BITS:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_static:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
7: StackMap locals:
StackMap stack:
aload 0
invokestatic net.sf.cglib.core.EmitUtils.hash_long:(Lnet/sf/cglib/core/CodeEmitter;)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 e Lnet/sf/cglib/core/CodeEmitter;
0 9 1 type Lorg/objectweb/asm/Type;
MethodParameters:
Name Flags
e
type
private static void hash_long(net.sf.cglib.core.CodeEmitter);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup2:()V
1: aload 0
bipush 32
invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
2: aload 0
bipush 124
getstatic org.objectweb.asm.Type.LONG_TYPE:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.math:(ILorg/objectweb/asm/Type;)V
3: aload 0
sipush 130
getstatic org.objectweb.asm.Type.LONG_TYPE:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.math:(ILorg/objectweb/asm/Type;)V
4: aload 0
getstatic org.objectweb.asm.Type.LONG_TYPE:Lorg/objectweb/asm/Type;
getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.cast_numeric:(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 e Lnet/sf/cglib/core/CodeEmitter;
MethodParameters:
Name Flags
e
public static void not_equals(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type, org.objectweb.asm.Label, net.sf.cglib.core.Customizer);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Label;Lnet/sf/cglib/core/Customizer;)V
flags: (0x0009) ACC_PUBLIC, 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
aload 1
aload 2
aload 3
invokestatic net.sf.cglib.core.internal.CustomizerRegistry.singleton:(Lnet/sf/cglib/core/Customizer;)Lnet/sf/cglib/core/internal/CustomizerRegistry;
invokestatic net.sf.cglib.core.EmitUtils.not_equals:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Label;Lnet/sf/cglib/core/internal/CustomizerRegistry;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Lnet/sf/cglib/core/CodeEmitter;
0 2 1 type Lorg/objectweb/asm/Type;
0 2 2 notEquals Lorg/objectweb/asm/Label;
0 2 3 customizer Lnet/sf/cglib/core/Customizer;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
e
type
notEquals final
customizer final
public static void not_equals(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type, org.objectweb.asm.Label, net.sf.cglib.core.internal.CustomizerRegistry);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Label;Lnet/sf/cglib/core/internal/CustomizerRegistry;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new net.sf.cglib.core.EmitUtils$8
dup
aload 0
aload 2
aload 3
invokespecial net.sf.cglib.core.EmitUtils$8.<init>:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Label;Lnet/sf/cglib/core/internal/CustomizerRegistry;)V
1: aload 1
invokevirtual net.sf.cglib.core.EmitUtils$8.processElement:(Lorg/objectweb/asm/Type;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 e Lnet/sf/cglib/core/CodeEmitter;
0 3 1 type Lorg/objectweb/asm/Type;
0 3 2 notEquals Lorg/objectweb/asm/Label;
0 3 3 registry Lnet/sf/cglib/core/internal/CustomizerRegistry;
MethodParameters:
Name Flags
e final
type
notEquals final
registry final
private static void not_equals_helper(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type, org.objectweb.asm.Label, net.sf.cglib.core.internal.CustomizerRegistry, net.sf.cglib.core.ProcessArrayCallback);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Label;Lnet/sf/cglib/core/internal/CustomizerRegistry;Lnet/sf/cglib/core/ProcessArrayCallback;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokestatic net.sf.cglib.core.TypeUtils.isPrimitive:(Lorg/objectweb/asm/Type;)Z
ifeq 3
1: aload 0
aload 1
sipush 154
aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.if_cmp:(Lorg/objectweb/asm/Type;ILorg/objectweb/asm/Label;)V
2: goto 31
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 5
start local 5 4: aload 0
aload 2
aload 5
invokestatic net.sf.cglib.core.EmitUtils.nullcmp:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
5: aload 1
invokestatic net.sf.cglib.core.TypeUtils.isArray:(Lorg/objectweb/asm/Type;)Z
ifeq 17
6: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 6
start local 6 7: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup2:()V
8: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.arraylength:()V
9: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.swap:()V
10: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.arraylength:()V
11: aload 0
sipush 153
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.if_icmp:(ILorg/objectweb/asm/Label;)V
12: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.pop2:()V
13: aload 0
aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.goTo:(Lorg/objectweb/asm/Label;)V
14: aload 0
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
15: aload 0
aload 1
aload 4
invokestatic net.sf.cglib.core.EmitUtils.process_arrays:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/ProcessArrayCallback;)V
end local 6 16: goto 30
17: StackMap locals: org.objectweb.asm.Label
StackMap stack:
aload 3
ldc Lnet/sf/cglib/core/Customizer;
invokevirtual net.sf.cglib.core.internal.CustomizerRegistry.get:(Ljava/lang/Class;)Ljava/util/List;
astore 6
start local 6 18: aload 6
invokeinterface java.util.List.isEmpty:()Z
ifne 28
19: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 22
StackMap locals: net.sf.cglib.core.CodeEmitter org.objectweb.asm.Type org.objectweb.asm.Label net.sf.cglib.core.internal.CustomizerRegistry net.sf.cglib.core.ProcessArrayCallback org.objectweb.asm.Label java.util.List top java.util.Iterator
StackMap stack:
20: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.sf.cglib.core.Customizer
astore 7
start local 7 21: aload 7
aload 0
aload 1
invokeinterface net.sf.cglib.core.Customizer.customize:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
end local 7 22: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
23: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.swap:()V
24: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 27
StackMap locals:
StackMap stack:
25: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.sf.cglib.core.Customizer
astore 7
start local 7 26: aload 7
aload 0
aload 1
invokeinterface net.sf.cglib.core.Customizer.customize:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
end local 7 27: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
28: StackMap locals: net.sf.cglib.core.CodeEmitter org.objectweb.asm.Type org.objectweb.asm.Label net.sf.cglib.core.internal.CustomizerRegistry net.sf.cglib.core.ProcessArrayCallback org.objectweb.asm.Label java.util.List
StackMap stack:
aload 0
getstatic net.sf.cglib.core.Constants.TYPE_OBJECT:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.EQUALS:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
29: aload 0
sipush 153
aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.if_jump:(ILorg/objectweb/asm/Label;)V
end local 6 30: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
end local 5 31: StackMap locals:
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 32 0 e Lnet/sf/cglib/core/CodeEmitter;
0 32 1 type Lorg/objectweb/asm/Type;
0 32 2 notEquals Lorg/objectweb/asm/Label;
0 32 3 registry Lnet/sf/cglib/core/internal/CustomizerRegistry;
0 32 4 callback Lnet/sf/cglib/core/ProcessArrayCallback;
4 31 5 end Lorg/objectweb/asm/Label;
7 16 6 checkContents Lorg/objectweb/asm/Label;
18 30 6 customizers Ljava/util/List<Lnet/sf/cglib/core/Customizer;>;
21 22 7 customizer Lnet/sf/cglib/core/Customizer;
26 27 7 customizer Lnet/sf/cglib/core/Customizer;
MethodParameters:
Name Flags
e
type
notEquals
registry
callback
private static void nullcmp(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Label, org.objectweb.asm.Label);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup2:()V
1: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 3
start local 3 2: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 4
start local 4 3: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 5
start local 5 4: aload 0
aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.ifnonnull:(Lorg/objectweb/asm/Label;)V
5: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.ifnonnull:(Lorg/objectweb/asm/Label;)V
6: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.pop2:()V
7: aload 0
aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.goTo:(Lorg/objectweb/asm/Label;)V
8: aload 0
aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
9: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.ifnull:(Lorg/objectweb/asm/Label;)V
10: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.goTo:(Lorg/objectweb/asm/Label;)V
11: aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
12: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.pop2:()V
13: aload 0
aload 1
invokevirtual net.sf.cglib.core.CodeEmitter.goTo:(Lorg/objectweb/asm/Label;)V
14: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
15: 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 16 0 e Lnet/sf/cglib/core/CodeEmitter;
0 16 1 oneNull Lorg/objectweb/asm/Label;
0 16 2 bothNull Lorg/objectweb/asm/Label;
2 16 3 nonNull Lorg/objectweb/asm/Label;
3 16 4 oneNullHelper Lorg/objectweb/asm/Label;
4 16 5 end Lorg/objectweb/asm/Label;
MethodParameters:
Name Flags
e
oneNull
bothNull
public static void append_string(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type, net.sf.cglib.core.EmitUtils$ArrayDelimiters, net.sf.cglib.core.Customizer);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;Lnet/sf/cglib/core/Customizer;)V
flags: (0x0009) ACC_PUBLIC, 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
aload 1
aload 2
aload 3
invokestatic net.sf.cglib.core.internal.CustomizerRegistry.singleton:(Lnet/sf/cglib/core/Customizer;)Lnet/sf/cglib/core/internal/CustomizerRegistry;
invokestatic net.sf.cglib.core.EmitUtils.append_string:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;Lnet/sf/cglib/core/internal/CustomizerRegistry;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Lnet/sf/cglib/core/CodeEmitter;
0 2 1 type Lorg/objectweb/asm/Type;
0 2 2 delims Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;
0 2 3 customizer Lnet/sf/cglib/core/Customizer;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
e final
type
delims final
customizer final
public static void append_string(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type, net.sf.cglib.core.EmitUtils$ArrayDelimiters, net.sf.cglib.core.internal.CustomizerRegistry);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;Lnet/sf/cglib/core/internal/CustomizerRegistry;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 1
aload 2
goto 2
StackMap locals:
StackMap stack:
1: getstatic net.sf.cglib.core.EmitUtils.DEFAULT_DELIMITERS:Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;
StackMap locals:
StackMap stack: net.sf.cglib.core.EmitUtils$ArrayDelimiters
2: astore 4
start local 4 3: new net.sf.cglib.core.EmitUtils$9
dup
aload 0
aload 4
aload 3
invokespecial net.sf.cglib.core.EmitUtils$9.<init>:(Lnet/sf/cglib/core/CodeEmitter;Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;Lnet/sf/cglib/core/internal/CustomizerRegistry;)V
astore 5
start local 5 4: aload 0
aload 1
aload 4
aload 3
aload 5
invokestatic net.sf.cglib.core.EmitUtils.append_string_helper:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;Lnet/sf/cglib/core/internal/CustomizerRegistry;Lnet/sf/cglib/core/ProcessArrayCallback;)V
5: 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 6 0 e Lnet/sf/cglib/core/CodeEmitter;
0 6 1 type Lorg/objectweb/asm/Type;
0 6 2 delims Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;
0 6 3 registry Lnet/sf/cglib/core/internal/CustomizerRegistry;
3 6 4 d Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;
4 6 5 callback Lnet/sf/cglib/core/ProcessArrayCallback;
MethodParameters:
Name Flags
e final
type
delims final
registry final
private static void append_string_helper(net.sf.cglib.core.CodeEmitter, org.objectweb.asm.Type, net.sf.cglib.core.EmitUtils$ArrayDelimiters, net.sf.cglib.core.internal.CustomizerRegistry, net.sf.cglib.core.ProcessArrayCallback);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;Lnet/sf/cglib/core/internal/CustomizerRegistry;Lnet/sf/cglib/core/ProcessArrayCallback;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 5
start local 5 1: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 6
start local 6 2: aload 1
invokestatic net.sf.cglib.core.TypeUtils.isPrimitive:(Lorg/objectweb/asm/Type;)Z
ifeq 16
3: aload 1
invokevirtual org.objectweb.asm.Type.getSort:()I
tableswitch { // 1 - 8
1: 12
2: 14
3: 4
4: 4
5: 4
6: 8
7: 10
8: 6
default: 15
}
4: StackMap locals: org.objectweb.asm.Label org.objectweb.asm.Label
StackMap stack:
aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING_BUFFER:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.APPEND_INT:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
5: goto 38
6: StackMap locals:
StackMap stack:
aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING_BUFFER:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.APPEND_DOUBLE:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
7: goto 38
8: StackMap locals:
StackMap stack:
aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING_BUFFER:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.APPEND_FLOAT:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
9: goto 38
10: StackMap locals:
StackMap stack:
aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING_BUFFER:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.APPEND_LONG:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
11: goto 38
12: StackMap locals:
StackMap stack:
aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING_BUFFER:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.APPEND_BOOLEAN:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
13: goto 38
14: StackMap locals:
StackMap stack:
aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING_BUFFER:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.APPEND_CHAR:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
15: StackMap locals:
StackMap stack:
goto 38
StackMap locals:
StackMap stack:
16: aload 1
invokestatic net.sf.cglib.core.TypeUtils.isArray:(Lorg/objectweb/asm/Type;)Z
ifeq 30
17: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
18: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.ifnull:(Lorg/objectweb/asm/Label;)V
19: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.swap:()V
20: aload 2
ifnull 24
aload 2
getfield net.sf.cglib.core.EmitUtils$ArrayDelimiters.before:Ljava/lang/String;
ifnull 24
ldc ""
aload 2
getfield net.sf.cglib.core.EmitUtils$ArrayDelimiters.before:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
21: aload 0
aload 2
getfield net.sf.cglib.core.EmitUtils$ArrayDelimiters.before:Ljava/lang/String;
invokevirtual net.sf.cglib.core.CodeEmitter.push:(Ljava/lang/String;)V
22: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING_BUFFER:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.APPEND_STRING:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
23: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.swap:()V
24: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokestatic net.sf.cglib.core.EmitUtils.process_array:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/ProcessArrayCallback;)V
25: aload 0
iconst_2
invokestatic net.sf.cglib.core.EmitUtils.shrinkStringBuffer:(Lnet/sf/cglib/core/CodeEmitter;I)V
26: aload 2
ifnull 38
aload 2
getfield net.sf.cglib.core.EmitUtils$ArrayDelimiters.after:Ljava/lang/String;
ifnull 38
ldc ""
aload 2
getfield net.sf.cglib.core.EmitUtils$ArrayDelimiters.after:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 38
27: aload 0
aload 2
getfield net.sf.cglib.core.EmitUtils$ArrayDelimiters.after:Ljava/lang/String;
invokevirtual net.sf.cglib.core.CodeEmitter.push:(Ljava/lang/String;)V
28: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING_BUFFER:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.APPEND_STRING:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
29: goto 38
30: StackMap locals:
StackMap stack:
aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
31: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.ifnull:(Lorg/objectweb/asm/Label;)V
32: aload 3
ldc Lnet/sf/cglib/core/Customizer;
invokevirtual net.sf.cglib.core.internal.CustomizerRegistry.get:(Ljava/lang/Class;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 35
StackMap locals: net.sf.cglib.core.CodeEmitter org.objectweb.asm.Type net.sf.cglib.core.EmitUtils$ArrayDelimiters net.sf.cglib.core.internal.CustomizerRegistry net.sf.cglib.core.ProcessArrayCallback org.objectweb.asm.Label org.objectweb.asm.Label top java.util.Iterator
StackMap stack:
33: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.sf.cglib.core.Customizer
astore 7
start local 7 34: aload 7
aload 0
aload 1
invokeinterface net.sf.cglib.core.Customizer.customize:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
end local 7 35: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
36: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_OBJECT:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.TO_STRING:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
37: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING_BUFFER:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.APPEND_STRING:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
38: StackMap locals: net.sf.cglib.core.CodeEmitter org.objectweb.asm.Type net.sf.cglib.core.EmitUtils$ArrayDelimiters net.sf.cglib.core.internal.CustomizerRegistry net.sf.cglib.core.ProcessArrayCallback org.objectweb.asm.Label org.objectweb.asm.Label
StackMap stack:
aload 0
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.goTo:(Lorg/objectweb/asm/Label;)V
39: aload 0
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
40: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.pop:()V
41: aload 0
ldc "null"
invokevirtual net.sf.cglib.core.CodeEmitter.push:(Ljava/lang/String;)V
42: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING_BUFFER:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.APPEND_STRING:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
43: aload 0
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
44: 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 45 0 e Lnet/sf/cglib/core/CodeEmitter;
0 45 1 type Lorg/objectweb/asm/Type;
0 45 2 delims Lnet/sf/cglib/core/EmitUtils$ArrayDelimiters;
0 45 3 registry Lnet/sf/cglib/core/internal/CustomizerRegistry;
0 45 4 callback Lnet/sf/cglib/core/ProcessArrayCallback;
1 45 5 skip Lorg/objectweb/asm/Label;
2 45 6 end Lorg/objectweb/asm/Label;
34 35 7 customizer Lnet/sf/cglib/core/Customizer;
MethodParameters:
Name Flags
e
type
delims
registry
callback
private static void shrinkStringBuffer(net.sf.cglib.core.CodeEmitter, int);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
1: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
2: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING_BUFFER:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.LENGTH:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
3: aload 0
iload 1
invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
4: aload 0
bipush 100
getstatic org.objectweb.asm.Type.INT_TYPE:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.math:(ILorg/objectweb/asm/Type;)V
5: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_STRING_BUFFER:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.SET_LENGTH:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 e Lnet/sf/cglib/core/CodeEmitter;
0 7 1 amt I
MethodParameters:
Name Flags
e
amt
public static void load_method(net.sf.cglib.core.CodeEmitter, net.sf.cglib.core.MethodInfo);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lnet/sf/cglib/core/MethodInfo;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual net.sf.cglib.core.MethodInfo.getClassInfo:()Lnet/sf/cglib/core/ClassInfo;
invokevirtual net.sf.cglib.core.ClassInfo.getType:()Lorg/objectweb/asm/Type;
invokestatic net.sf.cglib.core.EmitUtils.load_class:(Lnet/sf/cglib/core/CodeEmitter;Lorg/objectweb/asm/Type;)V
1: aload 0
aload 1
invokevirtual net.sf.cglib.core.MethodInfo.getSignature:()Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.Signature.getName:()Ljava/lang/String;
invokevirtual net.sf.cglib.core.CodeEmitter.push:(Ljava/lang/String;)V
2: aload 0
aload 1
invokevirtual net.sf.cglib.core.MethodInfo.getSignature:()Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.Signature.getArgumentTypes:()[Lorg/objectweb/asm/Type;
invokestatic net.sf.cglib.core.EmitUtils.push_object:(Lnet/sf/cglib/core/CodeEmitter;Ljava/lang/Object;)V
3: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_CLASS:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.GET_DECLARED_METHOD:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 e Lnet/sf/cglib/core/CodeEmitter;
0 5 1 method Lnet/sf/cglib/core/MethodInfo;
MethodParameters:
Name Flags
e
method
public static void method_switch(net.sf.cglib.core.CodeEmitter, java.util.List, net.sf.cglib.core.ObjectSwitchCallback);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Ljava/util/List;Lnet/sf/cglib/core/ObjectSwitchCallback;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokestatic net.sf.cglib.core.EmitUtils.member_switch_helper:(Lnet/sf/cglib/core/CodeEmitter;Ljava/util/List;Lnet/sf/cglib/core/ObjectSwitchCallback;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Lnet/sf/cglib/core/CodeEmitter;
0 2 1 methods Ljava/util/List;
0 2 2 callback Lnet/sf/cglib/core/ObjectSwitchCallback;
MethodParameters:
Name Flags
e
methods
callback
public static void constructor_switch(net.sf.cglib.core.CodeEmitter, java.util.List, net.sf.cglib.core.ObjectSwitchCallback);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Ljava/util/List;Lnet/sf/cglib/core/ObjectSwitchCallback;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokestatic net.sf.cglib.core.EmitUtils.member_switch_helper:(Lnet/sf/cglib/core/CodeEmitter;Ljava/util/List;Lnet/sf/cglib/core/ObjectSwitchCallback;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Lnet/sf/cglib/core/CodeEmitter;
0 2 1 constructors Ljava/util/List;
0 2 2 callback Lnet/sf/cglib/core/ObjectSwitchCallback;
MethodParameters:
Name Flags
e
constructors
callback
private static void member_switch_helper(net.sf.cglib.core.CodeEmitter, java.util.List, net.sf.cglib.core.ObjectSwitchCallback, boolean);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Ljava/util/List;Lnet/sf/cglib/core/ObjectSwitchCallback;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=11, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 1: new net.sf.cglib.core.EmitUtils$10
dup
aload 4
invokespecial net.sf.cglib.core.EmitUtils$10.<init>:(Ljava/util/Map;)V
astore 5
start local 5 2: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 6
start local 6 3: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.make_label:()Lorg/objectweb/asm/Label;
astore 7
start local 7 4: iload 3
ifeq 10
5: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.swap:()V
6: aload 1
new net.sf.cglib.core.EmitUtils$11
dup
invokespecial net.sf.cglib.core.EmitUtils$11.<init>:()V
invokestatic net.sf.cglib.core.CollectionUtils.bucket:(Ljava/util/Collection;Lnet/sf/cglib/core/Transformer;)Ljava/util/Map;
astore 8
start local 8 7: aload 8
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
aload 8
invokeinterface java.util.Map.size:()I
anewarray java.lang.String
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 9
start local 9 8: aload 0
aload 9
iconst_1
new net.sf.cglib.core.EmitUtils$12
dup
aload 0
aload 8
aload 2
aload 5
aload 6
aload 7
invokespecial net.sf.cglib.core.EmitUtils$12.<init>:(Lnet/sf/cglib/core/CodeEmitter;Ljava/util/Map;Lnet/sf/cglib/core/ObjectSwitchCallback;Lnet/sf/cglib/core/EmitUtils$ParameterTyper;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
invokestatic net.sf.cglib.core.EmitUtils.string_switch:(Lnet/sf/cglib/core/CodeEmitter;[Ljava/lang/String;ILnet/sf/cglib/core/ObjectSwitchCallback;)V
end local 9 end local 8 9: goto 11
10: StackMap locals: net.sf.cglib.core.CodeEmitter java.util.List net.sf.cglib.core.ObjectSwitchCallback int java.util.Map net.sf.cglib.core.EmitUtils$ParameterTyper org.objectweb.asm.Label org.objectweb.asm.Label
StackMap stack:
aload 0
aload 1
aload 2
aload 5
aload 6
aload 7
invokestatic net.sf.cglib.core.EmitUtils.member_helper_size:(Lnet/sf/cglib/core/CodeEmitter;Ljava/util/List;Lnet/sf/cglib/core/ObjectSwitchCallback;Lnet/sf/cglib/core/EmitUtils$ParameterTyper;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
11: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
12: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.pop:()V
13: aload 2
invokeinterface net.sf.cglib.core.ObjectSwitchCallback.processDefault:()V
14: aload 0
aload 7
invokevirtual net.sf.cglib.core.CodeEmitter.mark:(Lorg/objectweb/asm/Label;)V
end local 7 end local 6 end local 5 end local 4 15: goto 22
StackMap locals: net.sf.cglib.core.CodeEmitter java.util.List net.sf.cglib.core.ObjectSwitchCallback int
StackMap stack: java.lang.RuntimeException
16: astore 4
start local 4 17: aload 4
athrow
end local 4 18: StackMap locals:
StackMap stack: java.lang.Error
astore 4
start local 4 19: aload 4
athrow
end local 4 20: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 21: new net.sf.cglib.core.CodeGenerationException
dup
aload 4
invokespecial net.sf.cglib.core.CodeGenerationException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 22: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 e Lnet/sf/cglib/core/CodeEmitter;
0 23 1 members Ljava/util/List;
0 23 2 callback Lnet/sf/cglib/core/ObjectSwitchCallback;
0 23 3 useName Z
1 15 4 cache Ljava/util/Map;
2 15 5 cached Lnet/sf/cglib/core/EmitUtils$ParameterTyper;
3 15 6 def Lorg/objectweb/asm/Label;
4 15 7 end Lorg/objectweb/asm/Label;
7 9 8 buckets Ljava/util/Map;
8 9 9 names [Ljava/lang/String;
17 18 4 ex Ljava/lang/RuntimeException;
19 20 4 ex Ljava/lang/Error;
21 22 4 ex Ljava/lang/Exception;
Exception table:
from to target type
0 15 16 Class java.lang.RuntimeException
0 15 18 Class java.lang.Error
0 15 20 Class java.lang.Exception
MethodParameters:
Name Flags
e final
members
callback final
useName
private static void member_helper_size(net.sf.cglib.core.CodeEmitter, java.util.List, net.sf.cglib.core.ObjectSwitchCallback, net.sf.cglib.core.EmitUtils$ParameterTyper, org.objectweb.asm.Label, org.objectweb.asm.Label);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Ljava/util/List;Lnet/sf/cglib/core/ObjectSwitchCallback;Lnet/sf/cglib/core/EmitUtils$ParameterTyper;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
new net.sf.cglib.core.EmitUtils$13
dup
aload 3
invokespecial net.sf.cglib.core.EmitUtils$13.<init>:(Lnet/sf/cglib/core/EmitUtils$ParameterTyper;)V
invokestatic net.sf.cglib.core.CollectionUtils.bucket:(Ljava/util/Collection;Lnet/sf/cglib/core/Transformer;)Ljava/util/Map;
astore 6
start local 6 1: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
2: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.arraylength:()V
3: aload 0
aload 6
invokestatic net.sf.cglib.core.EmitUtils.getSwitchKeys:(Ljava/util/Map;)[I
new net.sf.cglib.core.EmitUtils$14
dup
aload 6
aload 0
aload 2
aload 3
aload 4
aload 5
invokespecial net.sf.cglib.core.EmitUtils$14.<init>:(Ljava/util/Map;Lnet/sf/cglib/core/CodeEmitter;Lnet/sf/cglib/core/ObjectSwitchCallback;Lnet/sf/cglib/core/EmitUtils$ParameterTyper;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;)V
invokevirtual net.sf.cglib.core.CodeEmitter.process_switch:([ILnet/sf/cglib/core/ProcessSwitchCallback;)V
4: 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 5 0 e Lnet/sf/cglib/core/CodeEmitter;
0 5 1 members Ljava/util/List;
0 5 2 callback Lnet/sf/cglib/core/ObjectSwitchCallback;
0 5 3 typer Lnet/sf/cglib/core/EmitUtils$ParameterTyper;
0 5 4 def Lorg/objectweb/asm/Label;
0 5 5 end Lorg/objectweb/asm/Label;
1 5 6 buckets Ljava/util/Map;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
e final
members
callback final
typer final
def final
end final
private static void member_helper_type(net.sf.cglib.core.CodeEmitter, java.util.List, net.sf.cglib.core.ObjectSwitchCallback, net.sf.cglib.core.EmitUtils$ParameterTyper, org.objectweb.asm.Label, org.objectweb.asm.Label, java.util.BitSet);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Ljava/util/List;Lnet/sf/cglib/core/ObjectSwitchCallback;Lnet/sf/cglib/core/EmitUtils$ParameterTyper;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Ljava/util/BitSet;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=12, locals=13, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 17
1: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast net.sf.cglib.core.MethodInfo
astore 7
start local 7 2: aload 3
aload 7
invokeinterface net.sf.cglib.core.EmitUtils$ParameterTyper.getParameterTypes:(Lnet/sf/cglib/core/MethodInfo;)[Lorg/objectweb/asm/Type;
astore 8
start local 8 3: iconst_0
istore 9
start local 9 4: goto 13
5: StackMap locals: net.sf.cglib.core.MethodInfo org.objectweb.asm.Type[] int
StackMap stack:
aload 6
ifnull 6
aload 6
iload 9
invokevirtual java.util.BitSet.get:(I)Z
ifne 12
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
7: aload 0
iload 9
invokevirtual net.sf.cglib.core.CodeEmitter.aaload:(I)V
8: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_CLASS:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.GET_NAME:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
9: aload 0
aload 8
iload 9
aaload
invokestatic net.sf.cglib.core.TypeUtils.emulateClassGetName:(Lorg/objectweb/asm/Type;)Ljava/lang/String;
invokevirtual net.sf.cglib.core.CodeEmitter.push:(Ljava/lang/String;)V
10: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_OBJECT:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.EQUALS:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
11: aload 0
sipush 153
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.if_jump:(ILorg/objectweb/asm/Label;)V
12: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
13: iload 9
aload 8
arraylength
if_icmplt 5
end local 9 14: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.pop:()V
15: aload 2
aload 7
aload 5
invokeinterface net.sf.cglib.core.ObjectSwitchCallback.processCase:(Ljava/lang/Object;Lorg/objectweb/asm/Label;)V
end local 8 end local 7 16: goto 39
17: StackMap locals:
StackMap stack:
aload 3
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast net.sf.cglib.core.MethodInfo
invokeinterface net.sf.cglib.core.EmitUtils$ParameterTyper.getParameterTypes:(Lnet/sf/cglib/core/MethodInfo;)[Lorg/objectweb/asm/Type;
astore 7
start local 7 18: aconst_null
astore 8
start local 8 19: iconst_m1
istore 9
start local 9 20: iconst_0
istore 10
start local 10 21: goto 28
22: StackMap locals: net.sf.cglib.core.CodeEmitter java.util.List net.sf.cglib.core.ObjectSwitchCallback net.sf.cglib.core.EmitUtils$ParameterTyper org.objectweb.asm.Label org.objectweb.asm.Label java.util.BitSet org.objectweb.asm.Type[] java.util.Map int int
StackMap stack:
iload 10
istore 11
start local 11 23: aload 1
new net.sf.cglib.core.EmitUtils$15
dup
aload 3
iload 11
invokespecial net.sf.cglib.core.EmitUtils$15.<init>:(Lnet/sf/cglib/core/EmitUtils$ParameterTyper;I)V
invokestatic net.sf.cglib.core.CollectionUtils.bucket:(Ljava/util/Collection;Lnet/sf/cglib/core/Transformer;)Ljava/util/Map;
astore 12
start local 12 24: aload 8
ifnull 25
aload 12
invokeinterface java.util.Map.size:()I
aload 8
invokeinterface java.util.Map.size:()I
if_icmple 27
25: StackMap locals: int java.util.Map
StackMap stack:
aload 12
astore 8
26: iload 10
istore 9
end local 12 end local 11 27: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
28: iload 10
aload 7
arraylength
if_icmplt 22
end local 10 29: aload 8
ifnull 30
aload 8
invokeinterface java.util.Map.size:()I
iconst_1
if_icmpne 32
30: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.goTo:(Lorg/objectweb/asm/Label;)V
31: goto 39
32: StackMap locals:
StackMap stack:
aload 6
iload 9
invokevirtual java.util.BitSet.set:(I)V
33: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup:()V
34: aload 0
iload 9
invokevirtual net.sf.cglib.core.CodeEmitter.aaload:(I)V
35: aload 0
getstatic net.sf.cglib.core.Constants.TYPE_CLASS:Lorg/objectweb/asm/Type;
getstatic net.sf.cglib.core.EmitUtils.GET_NAME:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_virtual:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
36: aload 8
astore 10
start local 10 37: aload 8
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
aload 8
invokeinterface java.util.Map.size:()I
anewarray java.lang.String
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 11
start local 11 38: aload 0
aload 11
iconst_1
new net.sf.cglib.core.EmitUtils$16
dup
aload 0
aload 10
aload 2
aload 3
aload 4
aload 5
aload 6
invokespecial net.sf.cglib.core.EmitUtils$16.<init>:(Lnet/sf/cglib/core/CodeEmitter;Ljava/util/Map;Lnet/sf/cglib/core/ObjectSwitchCallback;Lnet/sf/cglib/core/EmitUtils$ParameterTyper;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Ljava/util/BitSet;)V
invokestatic net.sf.cglib.core.EmitUtils.string_switch:(Lnet/sf/cglib/core/CodeEmitter;[Ljava/lang/String;ILnet/sf/cglib/core/ObjectSwitchCallback;)V
end local 11 end local 10 end local 9 end local 8 end local 7 39: StackMap locals:
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 40 0 e Lnet/sf/cglib/core/CodeEmitter;
0 40 1 members Ljava/util/List;
0 40 2 callback Lnet/sf/cglib/core/ObjectSwitchCallback;
0 40 3 typer Lnet/sf/cglib/core/EmitUtils$ParameterTyper;
0 40 4 def Lorg/objectweb/asm/Label;
0 40 5 end Lorg/objectweb/asm/Label;
0 40 6 checked Ljava/util/BitSet;
2 16 7 member Lnet/sf/cglib/core/MethodInfo;
3 16 8 types [Lorg/objectweb/asm/Type;
4 14 9 i I
18 39 7 example [Lorg/objectweb/asm/Type;
19 39 8 buckets Ljava/util/Map;
20 39 9 index I
21 29 10 i I
23 27 11 j I
24 27 12 test Ljava/util/Map;
37 39 10 fbuckets Ljava/util/Map;
38 39 11 names [Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
e final
members
callback final
typer final
def final
end final
checked final
public static void wrap_throwable(net.sf.cglib.core.Block, org.objectweb.asm.Type);
descriptor: (Lnet/sf/cglib/core/Block;Lorg/objectweb/asm/Type;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual net.sf.cglib.core.Block.getCodeEmitter:()Lnet/sf/cglib/core/CodeEmitter;
astore 2
start local 2 1: aload 2
aload 0
getstatic net.sf.cglib.core.Constants.TYPE_THROWABLE:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.catch_exception:(Lnet/sf/cglib/core/Block;Lorg/objectweb/asm/Type;)V
2: aload 2
aload 1
invokevirtual net.sf.cglib.core.CodeEmitter.new_instance:(Lorg/objectweb/asm/Type;)V
3: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.dup_x1:()V
4: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.swap:()V
5: aload 2
aload 1
getstatic net.sf.cglib.core.EmitUtils.CSTRUCT_THROWABLE:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
6: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.athrow:()V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 block Lnet/sf/cglib/core/Block;
0 8 1 wrapper Lorg/objectweb/asm/Type;
1 8 2 e Lnet/sf/cglib/core/CodeEmitter;
MethodParameters:
Name Flags
block
wrapper
public static void add_properties(net.sf.cglib.core.ClassEmitter, java.lang.String[], org.objectweb.asm.Type[]);
descriptor: (Lnet/sf/cglib/core/ClassEmitter;[Ljava/lang/String;[Lorg/objectweb/asm/Type;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 6
2: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "$cglib_prop_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 3: aload 0
iconst_2
aload 4
aload 2
iload 3
aaload
aconst_null
invokevirtual net.sf.cglib.core.ClassEmitter.declare_field:(ILjava/lang/String;Lorg/objectweb/asm/Type;Ljava/lang/Object;)V
4: aload 0
aload 1
iload 3
aaload
aload 2
iload 3
aaload
aload 4
invokestatic net.sf.cglib.core.EmitUtils.add_property:(Lnet/sf/cglib/core/ClassEmitter;Ljava/lang/String;Lorg/objectweb/asm/Type;Ljava/lang/String;)V
end local 4 5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 1
arraylength
if_icmplt 2
end local 3 7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ce Lnet/sf/cglib/core/ClassEmitter;
0 8 1 names [Ljava/lang/String;
0 8 2 types [Lorg/objectweb/asm/Type;
1 7 3 i I
3 5 4 fieldName Ljava/lang/String;
MethodParameters:
Name Flags
ce
names
types
public static void add_property(net.sf.cglib.core.ClassEmitter, java.lang.String, org.objectweb.asm.Type, java.lang.String);
descriptor: (Lnet/sf/cglib/core/ClassEmitter;Ljava/lang/String;Lorg/objectweb/asm/Type;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=10, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic net.sf.cglib.core.TypeUtils.upperFirst:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 1: aload 0
iconst_1
2: new net.sf.cglib.core.Signature
dup
new java.lang.StringBuilder
dup
ldc "get"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: aload 2
4: getstatic net.sf.cglib.core.Constants.TYPES_EMPTY:[Lorg/objectweb/asm/Type;
5: invokespecial net.sf.cglib.core.Signature.<init>:(Ljava/lang/String;Lorg/objectweb/asm/Type;[Lorg/objectweb/asm/Type;)V
6: aconst_null
7: invokevirtual net.sf.cglib.core.ClassEmitter.begin_method:(ILnet/sf/cglib/core/Signature;[Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/CodeEmitter;
astore 5
start local 5 8: aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.load_this:()V
9: aload 5
aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.getfield:(Ljava/lang/String;)V
10: aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.return_value:()V
11: aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.end_method:()V
12: aload 0
iconst_1
13: new net.sf.cglib.core.Signature
dup
new java.lang.StringBuilder
dup
ldc "set"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: getstatic org.objectweb.asm.Type.VOID_TYPE:Lorg/objectweb/asm/Type;
15: iconst_1
anewarray org.objectweb.asm.Type
dup
iconst_0
aload 2
aastore
16: invokespecial net.sf.cglib.core.Signature.<init>:(Ljava/lang/String;Lorg/objectweb/asm/Type;[Lorg/objectweb/asm/Type;)V
17: aconst_null
18: invokevirtual net.sf.cglib.core.ClassEmitter.begin_method:(ILnet/sf/cglib/core/Signature;[Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/CodeEmitter;
astore 5
19: aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.load_this:()V
20: aload 5
iconst_0
invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
21: aload 5
aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.putfield:(Ljava/lang/String;)V
22: aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.return_value:()V
23: aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.end_method:()V
24: 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 25 0 ce Lnet/sf/cglib/core/ClassEmitter;
0 25 1 name Ljava/lang/String;
0 25 2 type Lorg/objectweb/asm/Type;
0 25 3 fieldName Ljava/lang/String;
1 25 4 property Ljava/lang/String;
8 25 5 e Lnet/sf/cglib/core/CodeEmitter;
MethodParameters:
Name Flags
ce
name
type
fieldName
public static void wrap_undeclared_throwable(net.sf.cglib.core.CodeEmitter, net.sf.cglib.core.Block, org.objectweb.asm.Type[], org.objectweb.asm.Type);
descriptor: (Lnet/sf/cglib/core/CodeEmitter;Lnet/sf/cglib/core/Block;[Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 1
getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
goto 2
StackMap locals:
StackMap stack:
1: new java.util.HashSet
dup
aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
StackMap locals:
StackMap stack: java.util.Set
2: astore 4
start local 4 3: aload 4
getstatic net.sf.cglib.core.Constants.TYPE_THROWABLE:Lorg/objectweb/asm/Type;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 5
4: return
5: StackMap locals: java.util.Set
StackMap stack:
aload 2
ifnull 6
iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 5
start local 5 8: aload 4
getstatic net.sf.cglib.core.Constants.TYPE_RUNTIME_EXCEPTION:Lorg/objectweb/asm/Type;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 11
9: aload 0
aload 1
getstatic net.sf.cglib.core.Constants.TYPE_RUNTIME_EXCEPTION:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.catch_exception:(Lnet/sf/cglib/core/Block;Lorg/objectweb/asm/Type;)V
10: iconst_1
istore 5
11: StackMap locals: int
StackMap stack:
aload 4
getstatic net.sf.cglib.core.Constants.TYPE_ERROR:Lorg/objectweb/asm/Type;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 14
12: aload 0
aload 1
getstatic net.sf.cglib.core.Constants.TYPE_ERROR:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.catch_exception:(Lnet/sf/cglib/core/Block;Lorg/objectweb/asm/Type;)V
13: iconst_1
istore 5
14: StackMap locals:
StackMap stack:
aload 2
ifnull 20
15: iconst_0
istore 6
start local 6 16: goto 19
17: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
iload 6
aaload
invokevirtual net.sf.cglib.core.CodeEmitter.catch_exception:(Lnet/sf/cglib/core/Block;Lorg/objectweb/asm/Type;)V
18: iinc 6 1
StackMap locals:
StackMap stack:
19: iload 6
aload 2
arraylength
if_icmplt 17
end local 6 20: StackMap locals:
StackMap stack:
iload 5
ifeq 22
21: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.athrow:()V
22: StackMap locals:
StackMap stack:
aload 0
aload 1
getstatic net.sf.cglib.core.Constants.TYPE_THROWABLE:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.catch_exception:(Lnet/sf/cglib/core/Block;Lorg/objectweb/asm/Type;)V
23: aload 0
aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.new_instance:(Lorg/objectweb/asm/Type;)V
24: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.dup_x1:()V
25: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.swap:()V
26: aload 0
aload 3
getstatic net.sf.cglib.core.EmitUtils.CSTRUCT_THROWABLE:Lnet/sf/cglib/core/Signature;
invokevirtual net.sf.cglib.core.CodeEmitter.invoke_constructor:(Lorg/objectweb/asm/Type;Lnet/sf/cglib/core/Signature;)V
27: aload 0
invokevirtual net.sf.cglib.core.CodeEmitter.athrow:()V
28: 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 29 0 e Lnet/sf/cglib/core/CodeEmitter;
0 29 1 handler Lnet/sf/cglib/core/Block;
0 29 2 exceptions [Lorg/objectweb/asm/Type;
0 29 3 wrapper Lorg/objectweb/asm/Type;
3 29 4 set Ljava/util/Set;
8 29 5 needThrow Z
16 20 6 i I
MethodParameters:
Name Flags
e
handler
exceptions
wrapper
public static net.sf.cglib.core.CodeEmitter begin_method(net.sf.cglib.core.ClassEmitter, net.sf.cglib.core.MethodInfo);
descriptor: (Lnet/sf/cglib/core/ClassEmitter;Lnet/sf/cglib/core/MethodInfo;)Lnet/sf/cglib/core/CodeEmitter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual net.sf.cglib.core.MethodInfo.getModifiers:()I
invokestatic net.sf.cglib.core.EmitUtils.begin_method:(Lnet/sf/cglib/core/ClassEmitter;Lnet/sf/cglib/core/MethodInfo;I)Lnet/sf/cglib/core/CodeEmitter;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Lnet/sf/cglib/core/ClassEmitter;
0 1 1 method Lnet/sf/cglib/core/MethodInfo;
MethodParameters:
Name Flags
e
method
public static net.sf.cglib.core.CodeEmitter begin_method(net.sf.cglib.core.ClassEmitter, net.sf.cglib.core.MethodInfo, int);
descriptor: (Lnet/sf/cglib/core/ClassEmitter;Lnet/sf/cglib/core/MethodInfo;I)Lnet/sf/cglib/core/CodeEmitter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 2
1: aload 1
invokevirtual net.sf.cglib.core.MethodInfo.getSignature:()Lnet/sf/cglib/core/Signature;
2: aload 1
invokevirtual net.sf.cglib.core.MethodInfo.getExceptionTypes:()[Lorg/objectweb/asm/Type;
3: invokevirtual net.sf.cglib.core.ClassEmitter.begin_method:(ILnet/sf/cglib/core/Signature;[Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/CodeEmitter;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 e Lnet/sf/cglib/core/ClassEmitter;
0 4 1 method Lnet/sf/cglib/core/MethodInfo;
0 4 2 access I
MethodParameters:
Name Flags
e
method
access
}
SourceFile: "EmitUtils.java"
NestMembers:
net.sf.cglib.core.EmitUtils$1 net.sf.cglib.core.EmitUtils$10 net.sf.cglib.core.EmitUtils$11 net.sf.cglib.core.EmitUtils$12 net.sf.cglib.core.EmitUtils$13 net.sf.cglib.core.EmitUtils$14 net.sf.cglib.core.EmitUtils$15 net.sf.cglib.core.EmitUtils$16 net.sf.cglib.core.EmitUtils$2 net.sf.cglib.core.EmitUtils$3 net.sf.cglib.core.EmitUtils$4 net.sf.cglib.core.EmitUtils$5 net.sf.cglib.core.EmitUtils$6 net.sf.cglib.core.EmitUtils$7 net.sf.cglib.core.EmitUtils$8 net.sf.cglib.core.EmitUtils$9 net.sf.cglib.core.EmitUtils$ArrayDelimiters net.sf.cglib.core.EmitUtils$ParameterTyper
InnerClasses:
net.sf.cglib.core.EmitUtils$1
net.sf.cglib.core.EmitUtils$10
net.sf.cglib.core.EmitUtils$11
net.sf.cglib.core.EmitUtils$12
net.sf.cglib.core.EmitUtils$13
net.sf.cglib.core.EmitUtils$14
net.sf.cglib.core.EmitUtils$15
net.sf.cglib.core.EmitUtils$16
net.sf.cglib.core.EmitUtils$2
net.sf.cglib.core.EmitUtils$3
net.sf.cglib.core.EmitUtils$4
net.sf.cglib.core.EmitUtils$5
net.sf.cglib.core.EmitUtils$6
net.sf.cglib.core.EmitUtils$7
net.sf.cglib.core.EmitUtils$8
net.sf.cglib.core.EmitUtils$9
public ArrayDelimiters = net.sf.cglib.core.EmitUtils$ArrayDelimiters of net.sf.cglib.core.EmitUtils
private abstract ParameterTyper = net.sf.cglib.core.EmitUtils$ParameterTyper of net.sf.cglib.core.EmitUtils