class net.sf.cglib.util.ParallelSorterEmitter extends net.sf.cglib.core.ClassEmitter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: net.sf.cglib.util.ParallelSorterEmitter
super_class: net.sf.cglib.core.ClassEmitter
{
private static final org.objectweb.asm.Type PARALLEL_SORTER;
descriptor: Lorg/objectweb/asm/Type;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature CSTRUCT_OBJECT_ARRAY;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature NEW_INSTANCE;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final net.sf.cglib.core.Signature SWAP;
descriptor: Lnet/sf/cglib/core/Signature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=0, args_size=0
0: ldc "net.sf.cglib.util.ParallelSorter"
invokestatic net.sf.cglib.core.TypeUtils.parseType:(Ljava/lang/String;)Lorg/objectweb/asm/Type;
1: putstatic net.sf.cglib.util.ParallelSorterEmitter.PARALLEL_SORTER:Lorg/objectweb/asm/Type;
2: ldc "Object[]"
invokestatic net.sf.cglib.core.TypeUtils.parseConstructor:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
3: putstatic net.sf.cglib.util.ParallelSorterEmitter.CSTRUCT_OBJECT_ARRAY:Lnet/sf/cglib/core/Signature;
4: new net.sf.cglib.core.Signature
dup
ldc "newInstance"
getstatic net.sf.cglib.util.ParallelSorterEmitter.PARALLEL_SORTER:Lorg/objectweb/asm/Type;
iconst_1
anewarray org.objectweb.asm.Type
dup
iconst_0
getstatic net.sf.cglib.core.Constants.TYPE_OBJECT_ARRAY:Lorg/objectweb/asm/Type;
aastore
invokespecial net.sf.cglib.core.Signature.<init>:(Ljava/lang/String;Lorg/objectweb/asm/Type;[Lorg/objectweb/asm/Type;)V
5: putstatic net.sf.cglib.util.ParallelSorterEmitter.NEW_INSTANCE:Lnet/sf/cglib/core/Signature;
6: ldc "void swap(int, int)"
invokestatic net.sf.cglib.core.TypeUtils.parseSignature:(Ljava/lang/String;)Lnet/sf/cglib/core/Signature;
7: putstatic net.sf.cglib.util.ParallelSorterEmitter.SWAP:Lnet/sf/cglib/core/Signature;
8: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.objectweb.asm.ClassVisitor, java.lang.String, java.lang.Object[]);
descriptor: (Lorg/objectweb/asm/ClassVisitor;Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial net.sf.cglib.core.ClassEmitter.<init>:(Lorg/objectweb/asm/ClassVisitor;)V
1: aload 0
bipush 52
iconst_1
aload 2
getstatic net.sf.cglib.util.ParallelSorterEmitter.PARALLEL_SORTER:Lorg/objectweb/asm/Type;
aconst_null
ldc "<generated>"
invokevirtual net.sf.cglib.util.ParallelSorterEmitter.begin_class:(IILjava/lang/String;Lorg/objectweb/asm/Type;[Lorg/objectweb/asm/Type;Ljava/lang/String;)V
2: aload 0
invokestatic net.sf.cglib.core.EmitUtils.null_constructor:(Lnet/sf/cglib/core/ClassEmitter;)V
3: aload 0
getstatic net.sf.cglib.util.ParallelSorterEmitter.NEW_INSTANCE:Lnet/sf/cglib/core/Signature;
invokestatic net.sf.cglib.core.EmitUtils.factory_method:(Lnet/sf/cglib/core/ClassEmitter;Lnet/sf/cglib/core/Signature;)V
4: aload 0
aload 3
invokevirtual net.sf.cglib.util.ParallelSorterEmitter.generateConstructor:([Ljava/lang/Object;)V
5: aload 0
aload 3
invokevirtual net.sf.cglib.util.ParallelSorterEmitter.generateSwap:([Ljava/lang/Object;)V
6: aload 0
invokevirtual net.sf.cglib.util.ParallelSorterEmitter.end_class:()V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lnet/sf/cglib/util/ParallelSorterEmitter;
0 8 1 v Lorg/objectweb/asm/ClassVisitor;
0 8 2 className Ljava/lang/String;
0 8 3 arrays [Ljava/lang/Object;
MethodParameters:
Name Flags
v
className
arrays
private java.lang.String getFieldName(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "FIELD_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/util/ParallelSorterEmitter;
0 1 1 index I
MethodParameters:
Name Flags
index
private void generateConstructor(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
getstatic net.sf.cglib.util.ParallelSorterEmitter.CSTRUCT_OBJECT_ARRAY:Lnet/sf/cglib/core/Signature;
aconst_null
invokevirtual net.sf.cglib.util.ParallelSorterEmitter.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.load_this:()V
2: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.super_invoke_constructor:()V
3: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.load_this:()V
4: aload 2
iconst_0
invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
5: aload 2
ldc "a"
getstatic net.sf.cglib.core.Constants.TYPE_OBJECT_ARRAY:Lorg/objectweb/asm/Type;
invokevirtual net.sf.cglib.core.CodeEmitter.super_putfield:(Ljava/lang/String;Lorg/objectweb/asm/Type;)V
6: iconst_0
istore 3
start local 3 7: goto 17
8: StackMap locals: net.sf.cglib.core.CodeEmitter int
StackMap stack:
aload 1
iload 3
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Lorg/objectweb/asm/Type;
astore 4
start local 4 9: aload 0
iconst_2
aload 0
iload 3
invokevirtual net.sf.cglib.util.ParallelSorterEmitter.getFieldName:(I)Ljava/lang/String;
aload 4
aconst_null
invokevirtual net.sf.cglib.util.ParallelSorterEmitter.declare_field:(ILjava/lang/String;Lorg/objectweb/asm/Type;Ljava/lang/Object;)V
10: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.load_this:()V
11: aload 2
iconst_0
invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
12: aload 2
iload 3
invokevirtual net.sf.cglib.core.CodeEmitter.push:(I)V
13: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.aaload:()V
14: aload 2
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.checkcast:(Lorg/objectweb/asm/Type;)V
15: aload 2
aload 0
iload 3
invokevirtual net.sf.cglib.util.ParallelSorterEmitter.getFieldName:(I)Ljava/lang/String;
invokevirtual net.sf.cglib.core.CodeEmitter.putfield:(Ljava/lang/String;)V
end local 4 16: iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
aload 1
arraylength
if_icmplt 8
end local 3 18: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.return_value:()V
19: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.end_method:()V
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lnet/sf/cglib/util/ParallelSorterEmitter;
0 21 1 arrays [Ljava/lang/Object;
1 21 2 e Lnet/sf/cglib/core/CodeEmitter;
7 18 3 i I
9 16 4 type Lorg/objectweb/asm/Type;
MethodParameters:
Name Flags
arrays
private void generateSwap(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
getstatic net.sf.cglib.util.ParallelSorterEmitter.SWAP:Lnet/sf/cglib/core/Signature;
aconst_null
invokevirtual net.sf.cglib.util.ParallelSorterEmitter.begin_method:(ILnet/sf/cglib/core/Signature;[Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/CodeEmitter;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 22
3: StackMap locals: net.sf.cglib.core.CodeEmitter int
StackMap stack:
aload 1
iload 3
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Lorg/objectweb/asm/Type;
astore 4
start local 4 4: aload 4
invokestatic net.sf.cglib.core.TypeUtils.getComponentType:(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/Type;
astore 5
start local 5 5: aload 2
aload 4
invokevirtual net.sf.cglib.core.CodeEmitter.make_local:(Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/Local;
astore 6
start local 6 6: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.load_this:()V
7: aload 2
aload 0
iload 3
invokevirtual net.sf.cglib.util.ParallelSorterEmitter.getFieldName:(I)Ljava/lang/String;
invokevirtual net.sf.cglib.core.CodeEmitter.getfield:(Ljava/lang/String;)V
8: aload 2
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.store_local:(Lnet/sf/cglib/core/Local;)V
9: aload 2
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
10: aload 2
iconst_0
invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
11: aload 2
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
12: aload 2
iconst_1
invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
13: aload 2
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.array_load:(Lorg/objectweb/asm/Type;)V
14: aload 2
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
15: aload 2
iconst_1
invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
16: aload 2
aload 6
invokevirtual net.sf.cglib.core.CodeEmitter.load_local:(Lnet/sf/cglib/core/Local;)V
17: aload 2
iconst_0
invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
18: aload 2
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.array_load:(Lorg/objectweb/asm/Type;)V
19: aload 2
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.array_store:(Lorg/objectweb/asm/Type;)V
20: aload 2
aload 5
invokevirtual net.sf.cglib.core.CodeEmitter.array_store:(Lorg/objectweb/asm/Type;)V
end local 6 end local 5 end local 4 21: iinc 3 1
StackMap locals:
StackMap stack:
22: iload 3
aload 1
arraylength
if_icmplt 3
end local 3 23: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.return_value:()V
24: aload 2
invokevirtual net.sf.cglib.core.CodeEmitter.end_method:()V
25: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lnet/sf/cglib/util/ParallelSorterEmitter;
0 26 1 arrays [Ljava/lang/Object;
1 26 2 e Lnet/sf/cglib/core/CodeEmitter;
2 23 3 i I
4 21 4 type Lorg/objectweb/asm/Type;
5 21 5 component Lorg/objectweb/asm/Type;
6 21 6 T Lnet/sf/cglib/core/Local;
MethodParameters:
Name Flags
arrays final
}
SourceFile: "ParallelSorterEmitter.java"