class sun.reflect.MethodAccessorGenerator extends sun.reflect.AccessorGenerator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.reflect.MethodAccessorGenerator
super_class: sun.reflect.AccessorGenerator
{
private static final short NUM_BASE_CPOOL_ENTRIES;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final short NUM_METHODS;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final short NUM_SERIALIZATION_CPOOL_ENTRIES;
descriptor: S
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static volatile int methodSymnum;
descriptor: I
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static volatile int constructorSymnum;
descriptor: I
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static volatile int serializationConstructorSymnum;
descriptor: I
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private java.lang.Class<?> declaringClass;
descriptor: Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/Class<*>;
private java.lang.Class<?>[] parameterTypes;
descriptor: [Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Signature: [Ljava/lang/Class<*>;
private java.lang.Class<?> returnType;
descriptor: Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/Class<*>;
private boolean isConstructor;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean forSerialization;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private short targetMethodRef;
descriptor: S
flags: (0x0002) ACC_PRIVATE
private short invokeIdx;
descriptor: S
flags: (0x0002) ACC_PRIVATE
private short invokeDescriptorIdx;
descriptor: S
flags: (0x0002) ACC_PRIVATE
private short nonPrimitiveParametersBaseIdx;
descriptor: S
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
putstatic sun.reflect.MethodAccessorGenerator.methodSymnum:I
1: iconst_0
putstatic sun.reflect.MethodAccessorGenerator.constructorSymnum:I
2: iconst_0
putstatic sun.reflect.MethodAccessorGenerator.serializationConstructorSymnum:I
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.reflect.AccessorGenerator.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/reflect/MethodAccessorGenerator;
public sun.reflect.MethodAccessor generateMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[], java.lang.Class<?>, java.lang.Class<?>[], int);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;I)Lsun/reflect/MethodAccessor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=7, 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 0
aload 1
1: aload 2
2: aload 3
3: aload 4
4: aload 5
5: iload 6
6: iconst_0
7: iconst_0
8: aconst_null
9: invokevirtual sun.reflect.MethodAccessorGenerator.generate:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;IZZLjava/lang/Class;)Lsun/reflect/MagicAccessorImpl;
checkcast sun.reflect.MethodAccessor
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/reflect/MethodAccessorGenerator;
0 10 1 declaringClass Ljava/lang/Class<*>;
0 10 2 name Ljava/lang/String;
0 10 3 parameterTypes [Ljava/lang/Class;
0 10 4 returnType Ljava/lang/Class<*>;
0 10 5 checkedExceptions [Ljava/lang/Class;
0 10 6 modifiers I
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;I)Lsun/reflect/MethodAccessor;
MethodParameters:
Name Flags
declaringClass
name
parameterTypes
returnType
checkedExceptions
modifiers
public sun.reflect.ConstructorAccessor generateConstructor(java.lang.Class<?>, java.lang.Class<?>[], java.lang.Class<?>[], int);
descriptor: (Ljava/lang/Class;[Ljava/lang/Class;[Ljava/lang/Class;I)Lsun/reflect/ConstructorAccessor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
1: ldc "<init>"
2: aload 2
3: getstatic java.lang.Void.TYPE:Ljava/lang/Class;
4: aload 3
5: iload 4
6: iconst_1
7: iconst_0
8: aconst_null
9: invokevirtual sun.reflect.MethodAccessorGenerator.generate:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;IZZLjava/lang/Class;)Lsun/reflect/MagicAccessorImpl;
checkcast sun.reflect.ConstructorAccessor
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/reflect/MethodAccessorGenerator;
0 10 1 declaringClass Ljava/lang/Class<*>;
0 10 2 parameterTypes [Ljava/lang/Class;
0 10 3 checkedExceptions [Ljava/lang/Class;
0 10 4 modifiers I
Signature: (Ljava/lang/Class<*>;[Ljava/lang/Class<*>;[Ljava/lang/Class<*>;I)Lsun/reflect/ConstructorAccessor;
MethodParameters:
Name Flags
declaringClass
parameterTypes
checkedExceptions
modifiers
public sun.reflect.SerializationConstructorAccessorImpl generateSerializationConstructor(java.lang.Class<?>, java.lang.Class<?>[], java.lang.Class<?>[], int, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;[Ljava/lang/Class;[Ljava/lang/Class;ILjava/lang/Class;)Lsun/reflect/SerializationConstructorAccessorImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
1: ldc "<init>"
2: aload 2
3: getstatic java.lang.Void.TYPE:Ljava/lang/Class;
4: aload 3
5: iload 4
6: iconst_1
7: iconst_1
8: aload 5
9: invokevirtual sun.reflect.MethodAccessorGenerator.generate:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;IZZLjava/lang/Class;)Lsun/reflect/MagicAccessorImpl;
10: checkcast sun.reflect.SerializationConstructorAccessorImpl
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/reflect/MethodAccessorGenerator;
0 11 1 declaringClass Ljava/lang/Class<*>;
0 11 2 parameterTypes [Ljava/lang/Class;
0 11 3 checkedExceptions [Ljava/lang/Class;
0 11 4 modifiers I
0 11 5 targetConstructorClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;[Ljava/lang/Class<*>;[Ljava/lang/Class<*>;ILjava/lang/Class<*>;)Lsun/reflect/SerializationConstructorAccessorImpl;
MethodParameters:
Name Flags
declaringClass
parameterTypes
checkedExceptions
modifiers
targetConstructorClass
private sun.reflect.MagicAccessorImpl generate(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[], java.lang.Class<?>, java.lang.Class<?>[], int, boolean, boolean, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;IZZLjava/lang/Class;)Lsun/reflect/MagicAccessorImpl;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=17, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: invokestatic sun.reflect.ByteVectorFactory.create:()Lsun/reflect/ByteVector;
astore 10
start local 10 1: aload 0
new sun.reflect.ClassFileAssembler
dup
aload 10
invokespecial sun.reflect.ClassFileAssembler.<init>:(Lsun/reflect/ByteVector;)V
putfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
2: aload 0
aload 1
putfield sun.reflect.MethodAccessorGenerator.declaringClass:Ljava/lang/Class;
3: aload 0
aload 3
putfield sun.reflect.MethodAccessorGenerator.parameterTypes:[Ljava/lang/Class;
4: aload 0
aload 4
putfield sun.reflect.MethodAccessorGenerator.returnType:Ljava/lang/Class;
5: aload 0
iload 6
putfield sun.reflect.MethodAccessorGenerator.modifiers:I
6: aload 0
iload 7
putfield sun.reflect.MethodAccessorGenerator.isConstructor:Z
7: aload 0
iload 8
putfield sun.reflect.MethodAccessorGenerator.forSerialization:Z
8: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.emitMagicAndVersion:()V
9: bipush 42
istore 11
start local 11 10: aload 0
invokevirtual sun.reflect.MethodAccessorGenerator.usesPrimitiveTypes:()Z
istore 12
start local 12 11: iload 12
ifeq 13
12: iload 11
bipush 72
iadd
i2s
istore 11
13: StackMap locals: sun.reflect.ByteVector int int
StackMap stack:
iload 8
ifeq 15
14: iload 11
iconst_2
iadd
i2s
istore 11
15: StackMap locals:
StackMap stack:
iload 11
iconst_2
aload 0
invokevirtual sun.reflect.MethodAccessorGenerator.numNonPrimitiveParameterTypes:()I
imul
i2s
iadd
i2s
istore 11
16: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
iload 11
iconst_1
invokestatic sun.reflect.MethodAccessorGenerator.add:(SS)S
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
17: iload 7
iload 8
invokestatic sun.reflect.MethodAccessorGenerator.generateName:(ZZ)Ljava/lang/String;
astore 13
start local 13 18: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 13
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
19: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolClass:(S)V
20: aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
putfield sun.reflect.MethodAccessorGenerator.thisClass:S
21: iload 7
ifeq 29
22: iload 8
ifeq 27
23: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
24: ldc "sun/reflect/SerializationConstructorAccessorImpl"
25: invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
26: goto 30
27: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
ldc "sun/reflect/ConstructorAccessorImpl"
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
28: goto 30
29: StackMap locals:
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
ldc "sun/reflect/MethodAccessorImpl"
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
30: StackMap locals:
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolClass:(S)V
31: aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
putfield sun.reflect.MethodAccessorGenerator.superClass:S
32: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 1
iconst_0
invokestatic sun.reflect.MethodAccessorGenerator.getClassName:(Ljava/lang/Class;Z)Ljava/lang/String;
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
33: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolClass:(S)V
34: aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
putfield sun.reflect.MethodAccessorGenerator.targetClass:S
35: iconst_0
istore 14
start local 14 36: iload 8
ifeq 40
37: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 9
iconst_0
invokestatic sun.reflect.MethodAccessorGenerator.getClassName:(Ljava/lang/Class;Z)Ljava/lang/String;
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
38: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolClass:(S)V
39: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
istore 14
40: StackMap locals: int
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 2
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
41: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 0
invokevirtual sun.reflect.MethodAccessorGenerator.buildInternalSignature:()Ljava/lang/String;
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
42: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
iconst_1
invokestatic sun.reflect.MethodAccessorGenerator.sub:(SS)S
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolNameAndType:(SS)V
43: aload 0
invokevirtual sun.reflect.MethodAccessorGenerator.isInterface:()Z
ifeq 46
44: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 0
getfield sun.reflect.MethodAccessorGenerator.targetClass:S
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolInterfaceMethodref:(SS)V
45: goto 50
46: StackMap locals:
StackMap stack:
iload 8
ifeq 49
47: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
iload 14
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolMethodref:(SS)V
48: goto 50
49: StackMap locals:
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 0
getfield sun.reflect.MethodAccessorGenerator.targetClass:S
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolMethodref:(SS)V
50: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
putfield sun.reflect.MethodAccessorGenerator.targetMethodRef:S
51: iload 7
ifeq 54
52: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
ldc "newInstance"
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
53: goto 55
54: StackMap locals:
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
ldc "invoke"
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
55: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
putfield sun.reflect.MethodAccessorGenerator.invokeIdx:S
56: iload 7
ifeq 59
57: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
ldc "([Ljava/lang/Object;)Ljava/lang/Object;"
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
58: goto 62
59: StackMap locals:
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
60: ldc "(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;"
61: invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
62: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
putfield sun.reflect.MethodAccessorGenerator.invokeDescriptorIdx:S
63: aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
iconst_2
invokestatic sun.reflect.MethodAccessorGenerator.add:(SS)S
putfield sun.reflect.MethodAccessorGenerator.nonPrimitiveParametersBaseIdx:S
64: iconst_0
istore 15
start local 15 65: goto 71
66: StackMap locals: int
StackMap stack:
aload 3
iload 15
aaload
astore 16
start local 16 67: aload 16
invokestatic sun.reflect.MethodAccessorGenerator.isPrimitive:(Ljava/lang/Class;)Z
ifne 70
68: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 16
iconst_0
invokestatic sun.reflect.MethodAccessorGenerator.getClassName:(Ljava/lang/Class;Z)Ljava/lang/String;
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolUTF8:(Ljava/lang/String;)V
69: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
invokevirtual sun.reflect.ClassFileAssembler.emitConstantPoolClass:(S)V
end local 16 70: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
71: iload 15
aload 3
arraylength
if_icmplt 66
end local 15 72: aload 0
invokevirtual sun.reflect.MethodAccessorGenerator.emitCommonConstantPoolEntries:()V
73: iload 12
ifeq 75
74: aload 0
invokevirtual sun.reflect.MethodAccessorGenerator.emitBoxingContantPoolEntries:()V
75: StackMap locals:
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
iload 11
if_icmpeq 79
76: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Adjust this code (cpi = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
invokevirtual sun.reflect.ClassFileAssembler.cpi:()S
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
77: ldc ", numCPEntries = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
78: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
79: StackMap locals:
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
iconst_1
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
80: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 0
getfield sun.reflect.MethodAccessorGenerator.thisClass:S
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
81: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
aload 0
getfield sun.reflect.MethodAccessorGenerator.superClass:S
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
82: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
iconst_0
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
83: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
iconst_0
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
84: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
iconst_2
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
85: aload 0
invokevirtual sun.reflect.MethodAccessorGenerator.emitConstructor:()V
86: aload 0
invokevirtual sun.reflect.MethodAccessorGenerator.emitInvoke:()V
87: aload 0
getfield sun.reflect.MethodAccessorGenerator.asm:Lsun/reflect/ClassFileAssembler;
iconst_0
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
88: aload 10
invokeinterface sun.reflect.ByteVector.trim:()V
89: aload 10
invokeinterface sun.reflect.ByteVector.getData:()[B
astore 15
start local 15 90: new sun.reflect.MethodAccessorGenerator$1
dup
aload 0
aload 13
aload 15
aload 1
invokespecial sun.reflect.MethodAccessorGenerator$1.<init>:(Lsun/reflect/MethodAccessorGenerator;Ljava/lang/String;[BLjava/lang/Class;)V
91: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast sun.reflect.MagicAccessorImpl
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 92 0 this Lsun/reflect/MethodAccessorGenerator;
0 92 1 declaringClass Ljava/lang/Class<*>;
0 92 2 name Ljava/lang/String;
0 92 3 parameterTypes [Ljava/lang/Class;
0 92 4 returnType Ljava/lang/Class<*>;
0 92 5 checkedExceptions [Ljava/lang/Class;
0 92 6 modifiers I
0 92 7 isConstructor Z
0 92 8 forSerialization Z
0 92 9 serializationTargetClass Ljava/lang/Class<*>;
1 92 10 vec Lsun/reflect/ByteVector;
10 92 11 numCPEntries S
11 92 12 usesPrimitives Z
18 92 13 generatedName Ljava/lang/String;
36 92 14 serializationTargetClassIdx S
65 72 15 i I
67 70 16 c Ljava/lang/Class<*>;
90 92 15 bytes [B
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;IZZLjava/lang/Class<*>;)Lsun/reflect/MagicAccessorImpl;
MethodParameters:
Name Flags
declaringClass final
name
parameterTypes
returnType
checkedExceptions
modifiers
isConstructor
forSerialization
serializationTargetClass
private void emitInvoke();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=12, args_size=1
start local 0 0: aload 0
getfield sun.reflect.MethodAccessorGenerator.parameterTypes:[Ljava/lang/Class;
arraylength
ldc 65535
if_icmple 2
1: new java.lang.InternalError
dup
ldc "Can't handle more than 65535 parameters"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new sun.reflect.ClassFileAssembler
dup
invokespecial sun.reflect.ClassFileAssembler.<init>:()V
astore 1
start local 1 3: aload 0
getfield sun.reflect.MethodAccessorGenerator.isConstructor:Z
ifeq 6
4: aload 1
iconst_2
invokevirtual sun.reflect.ClassFileAssembler.setMaxLocals:(I)V
5: goto 7
6: StackMap locals: sun.reflect.ClassFileAssembler
StackMap stack:
aload 1
iconst_3
invokevirtual sun.reflect.ClassFileAssembler.setMaxLocals:(I)V
7: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 8: aload 0
getfield sun.reflect.MethodAccessorGenerator.isConstructor:Z
ifeq 12
9: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.targetClass:S
invokevirtual sun.reflect.ClassFileAssembler.opc_new:(S)V
10: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_dup:()V
11: goto 27
12: StackMap locals: int
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.returnType:Ljava/lang/Class;
invokestatic sun.reflect.MethodAccessorGenerator.isPrimitive:(Ljava/lang/Class;)Z
ifeq 15
13: aload 1
aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.returnType:Ljava/lang/Class;
invokevirtual sun.reflect.MethodAccessorGenerator.indexForPrimitiveType:(Ljava/lang/Class;)S
invokevirtual sun.reflect.ClassFileAssembler.opc_new:(S)V
14: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_dup:()V
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.reflect.MethodAccessorGenerator.isStatic:()Z
ifne 27
16: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aload_1:()V
17: new sun.reflect.Label
dup
invokespecial sun.reflect.Label.<init>:()V
astore 3
start local 3 18: aload 1
aload 3
invokevirtual sun.reflect.ClassFileAssembler.opc_ifnonnull:(Lsun/reflect/Label;)V
19: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.nullPointerClass:S
invokevirtual sun.reflect.ClassFileAssembler.opc_new:(S)V
20: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_dup:()V
21: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.nullPointerCtorIdx:S
iconst_0
iconst_0
invokevirtual sun.reflect.ClassFileAssembler.opc_invokespecial:(SII)V
22: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_athrow:()V
23: aload 3
invokevirtual sun.reflect.Label.bind:()V
24: aload 1
invokevirtual sun.reflect.ClassFileAssembler.getLength:()S
istore 2
25: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aload_1:()V
26: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.targetClass:S
invokevirtual sun.reflect.ClassFileAssembler.opc_checkcast:(S)V
end local 3 27: StackMap locals:
StackMap stack:
new sun.reflect.Label
dup
invokespecial sun.reflect.Label.<init>:()V
astore 3
start local 3 28: aload 0
getfield sun.reflect.MethodAccessorGenerator.parameterTypes:[Ljava/lang/Class;
arraylength
ifne 34
29: aload 0
getfield sun.reflect.MethodAccessorGenerator.isConstructor:Z
ifeq 32
30: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aload_1:()V
31: goto 33
32: StackMap locals: sun.reflect.Label
StackMap stack:
aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aload_2:()V
33: StackMap locals:
StackMap stack:
aload 1
aload 3
invokevirtual sun.reflect.ClassFileAssembler.opc_ifnull:(Lsun/reflect/Label;)V
34: StackMap locals:
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.isConstructor:Z
ifeq 37
35: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aload_1:()V
36: goto 38
37: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aload_2:()V
38: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_arraylength:()V
39: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.parameterTypes:[Ljava/lang/Class;
arraylength
i2s
invokevirtual sun.reflect.ClassFileAssembler.opc_sipush:(S)V
40: aload 1
aload 3
invokevirtual sun.reflect.ClassFileAssembler.opc_if_icmpeq:(Lsun/reflect/Label;)V
41: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.illegalArgumentClass:S
invokevirtual sun.reflect.ClassFileAssembler.opc_new:(S)V
42: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_dup:()V
43: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.illegalArgumentCtorIdx:S
iconst_0
iconst_0
invokevirtual sun.reflect.ClassFileAssembler.opc_invokespecial:(SII)V
44: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_athrow:()V
45: aload 3
invokevirtual sun.reflect.Label.bind:()V
46: aload 0
getfield sun.reflect.MethodAccessorGenerator.nonPrimitiveParametersBaseIdx:S
istore 4
start local 4 47: aconst_null
astore 5
start local 5 48: iconst_1
istore 6
start local 6 49: iconst_0
istore 7
start local 7 50: goto 111
51: StackMap locals: sun.reflect.MethodAccessorGenerator sun.reflect.ClassFileAssembler int sun.reflect.Label int sun.reflect.Label int int
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.parameterTypes:[Ljava/lang/Class;
iload 7
aaload
astore 8
start local 8 52: iload 6
aload 0
aload 8
invokevirtual sun.reflect.MethodAccessorGenerator.typeSizeInStackSlots:(Ljava/lang/Class;)I
i2b
iadd
i2b
istore 6
53: aload 5
ifnull 56
54: aload 5
invokevirtual sun.reflect.Label.bind:()V
55: aconst_null
astore 5
56: StackMap locals: java.lang.Class
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.isConstructor:Z
ifeq 59
57: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aload_1:()V
58: goto 60
59: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aload_2:()V
60: StackMap locals:
StackMap stack:
aload 1
iload 7
i2s
invokevirtual sun.reflect.ClassFileAssembler.opc_sipush:(S)V
61: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aaload:()V
62: aload 8
invokestatic sun.reflect.MethodAccessorGenerator.isPrimitive:(Ljava/lang/Class;)Z
ifeq 108
63: aload 0
getfield sun.reflect.MethodAccessorGenerator.isConstructor:Z
ifeq 66
64: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_astore_2:()V
65: goto 67
66: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_astore_3:()V
67: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 68: new sun.reflect.Label
dup
invokespecial sun.reflect.Label.<init>:()V
astore 5
69: iconst_0
istore 10
start local 10 70: goto 97
71: StackMap locals: sun.reflect.Label int
StackMap stack:
getstatic sun.reflect.MethodAccessorGenerator.primitiveTypes:[Ljava/lang/Class;
iload 10
aaload
astore 11
start local 11 72: aload 11
aload 8
invokestatic sun.reflect.MethodAccessorGenerator.canWidenTo:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 96
73: aload 9
ifnull 75
74: aload 9
invokevirtual sun.reflect.Label.bind:()V
75: StackMap locals: java.lang.Class
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.isConstructor:Z
ifeq 78
76: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aload_2:()V
77: goto 79
78: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aload_3:()V
79: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 11
invokevirtual sun.reflect.MethodAccessorGenerator.indexForPrimitiveType:(Ljava/lang/Class;)S
invokevirtual sun.reflect.ClassFileAssembler.opc_instanceof:(S)V
80: new sun.reflect.Label
dup
invokespecial sun.reflect.Label.<init>:()V
astore 9
81: aload 1
aload 9
invokevirtual sun.reflect.ClassFileAssembler.opc_ifeq:(Lsun/reflect/Label;)V
82: aload 0
getfield sun.reflect.MethodAccessorGenerator.isConstructor:Z
ifeq 85
83: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aload_2:()V
84: goto 86
85: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aload_3:()V
86: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 11
invokevirtual sun.reflect.MethodAccessorGenerator.indexForPrimitiveType:(Ljava/lang/Class;)S
invokevirtual sun.reflect.ClassFileAssembler.opc_checkcast:(S)V
87: aload 1
aload 0
aload 11
invokevirtual sun.reflect.MethodAccessorGenerator.unboxingMethodForPrimitiveType:(Ljava/lang/Class;)S
88: iconst_0
89: aload 0
aload 11
invokevirtual sun.reflect.MethodAccessorGenerator.typeSizeInStackSlots:(Ljava/lang/Class;)I
90: invokevirtual sun.reflect.ClassFileAssembler.opc_invokevirtual:(SII)V
91: aload 1
92: aload 11
93: aload 8
94: invokestatic sun.reflect.MethodAccessorGenerator.emitWideningBytecodeForPrimitiveConversion:(Lsun/reflect/ClassFileAssembler;Ljava/lang/Class;Ljava/lang/Class;)V
95: aload 1
aload 5
invokevirtual sun.reflect.ClassFileAssembler.opc_goto:(Lsun/reflect/Label;)V
end local 11 96: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
97: iload 10
getstatic sun.reflect.MethodAccessorGenerator.primitiveTypes:[Ljava/lang/Class;
arraylength
if_icmplt 71
end local 10 98: aload 9
ifnonnull 102
99: new java.lang.InternalError
dup
100: ldc "Must have found at least identity conversion"
101: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
102: StackMap locals:
StackMap stack:
aload 9
invokevirtual sun.reflect.Label.bind:()V
103: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.illegalArgumentClass:S
invokevirtual sun.reflect.ClassFileAssembler.opc_new:(S)V
104: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_dup:()V
105: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.illegalArgumentCtorIdx:S
iconst_0
iconst_0
invokevirtual sun.reflect.ClassFileAssembler.opc_invokespecial:(SII)V
106: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_athrow:()V
end local 9 107: goto 110
108: StackMap locals:
StackMap stack:
aload 1
iload 4
invokevirtual sun.reflect.ClassFileAssembler.opc_checkcast:(S)V
109: iload 4
iconst_2
invokestatic sun.reflect.MethodAccessorGenerator.add:(SS)S
istore 4
end local 8 110: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
111: iload 7
aload 0
getfield sun.reflect.MethodAccessorGenerator.parameterTypes:[Ljava/lang/Class;
arraylength
if_icmplt 51
end local 7 112: aload 5
ifnull 114
113: aload 5
invokevirtual sun.reflect.Label.bind:()V
114: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.reflect.ClassFileAssembler.getLength:()S
istore 7
start local 7 115: aload 0
getfield sun.reflect.MethodAccessorGenerator.isConstructor:Z
ifeq 118
116: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.targetMethodRef:S
iload 6
iconst_0
invokevirtual sun.reflect.ClassFileAssembler.opc_invokespecial:(SII)V
117: goto 135
118: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.reflect.MethodAccessorGenerator.isStatic:()Z
ifeq 124
119: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.targetMethodRef:S
120: iload 6
121: aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.returnType:Ljava/lang/Class;
invokevirtual sun.reflect.MethodAccessorGenerator.typeSizeInStackSlots:(Ljava/lang/Class;)I
122: invokevirtual sun.reflect.ClassFileAssembler.opc_invokestatic:(SII)V
123: goto 135
124: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.reflect.MethodAccessorGenerator.isInterface:()Z
ifeq 131
125: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.targetMethodRef:S
126: iload 6
127: iload 6
128: aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.returnType:Ljava/lang/Class;
invokevirtual sun.reflect.MethodAccessorGenerator.typeSizeInStackSlots:(Ljava/lang/Class;)I
129: invokevirtual sun.reflect.ClassFileAssembler.opc_invokeinterface:(SIBI)V
130: goto 135
131: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.targetMethodRef:S
132: iload 6
133: aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.returnType:Ljava/lang/Class;
invokevirtual sun.reflect.MethodAccessorGenerator.typeSizeInStackSlots:(Ljava/lang/Class;)I
134: invokevirtual sun.reflect.ClassFileAssembler.opc_invokevirtual:(SII)V
135: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.reflect.ClassFileAssembler.getLength:()S
istore 8
start local 8 136: aload 0
getfield sun.reflect.MethodAccessorGenerator.isConstructor:Z
ifne 145
137: aload 0
getfield sun.reflect.MethodAccessorGenerator.returnType:Ljava/lang/Class;
invokestatic sun.reflect.MethodAccessorGenerator.isPrimitive:(Ljava/lang/Class;)Z
ifeq 143
138: aload 1
aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.returnType:Ljava/lang/Class;
invokevirtual sun.reflect.MethodAccessorGenerator.ctorIndexForPrimitiveType:(Ljava/lang/Class;)S
139: aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.returnType:Ljava/lang/Class;
invokevirtual sun.reflect.MethodAccessorGenerator.typeSizeInStackSlots:(Ljava/lang/Class;)I
140: iconst_0
141: invokevirtual sun.reflect.ClassFileAssembler.opc_invokespecial:(SII)V
142: goto 145
StackMap locals: int
StackMap stack:
143: aload 0
getfield sun.reflect.MethodAccessorGenerator.returnType:Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 145
144: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_aconst_null:()V
145: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_areturn:()V
146: aload 1
invokevirtual sun.reflect.ClassFileAssembler.getLength:()S
istore 9
start local 9 147: aload 1
iconst_1
invokevirtual sun.reflect.ClassFileAssembler.setStack:(I)V
148: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.toStringIdx:S
iconst_0
iconst_1
invokevirtual sun.reflect.ClassFileAssembler.opc_invokespecial:(SII)V
149: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.illegalArgumentClass:S
invokevirtual sun.reflect.ClassFileAssembler.opc_new:(S)V
150: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_dup_x1:()V
151: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_swap:()V
152: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.illegalArgumentStringCtorIdx:S
iconst_1
iconst_0
invokevirtual sun.reflect.ClassFileAssembler.opc_invokespecial:(SII)V
153: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_athrow:()V
154: aload 1
invokevirtual sun.reflect.ClassFileAssembler.getLength:()S
istore 10
start local 10 155: aload 1
iconst_1
invokevirtual sun.reflect.ClassFileAssembler.setStack:(I)V
156: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.invocationTargetClass:S
invokevirtual sun.reflect.ClassFileAssembler.opc_new:(S)V
157: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_dup_x1:()V
158: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_swap:()V
159: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.invocationTargetCtorIdx:S
iconst_1
iconst_0
invokevirtual sun.reflect.ClassFileAssembler.opc_invokespecial:(SII)V
160: aload 1
invokevirtual sun.reflect.ClassFileAssembler.opc_athrow:()V
161: new sun.reflect.ClassFileAssembler
dup
invokespecial sun.reflect.ClassFileAssembler.<init>:()V
astore 11
start local 11 162: aload 11
iload 2
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
163: aload 11
iload 7
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
164: aload 11
iload 9
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
165: aload 11
aload 0
getfield sun.reflect.MethodAccessorGenerator.classCastClass:S
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
166: aload 11
iload 2
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
167: aload 11
iload 7
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
168: aload 11
iload 9
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
169: aload 11
aload 0
getfield sun.reflect.MethodAccessorGenerator.nullPointerClass:S
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
170: aload 11
iload 7
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
171: aload 11
iload 8
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
172: aload 11
iload 10
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
173: aload 11
aload 0
getfield sun.reflect.MethodAccessorGenerator.throwableClass:S
invokevirtual sun.reflect.ClassFileAssembler.emitShort:(S)V
174: aload 0
aload 0
getfield sun.reflect.MethodAccessorGenerator.invokeIdx:S
aload 1
invokevirtual sun.reflect.ClassFileAssembler.getMaxLocals:()S
aload 1
aload 11
175: iconst_1
newarray 9
dup
iconst_0
aload 0
getfield sun.reflect.MethodAccessorGenerator.invocationTargetClass:S
sastore
176: invokevirtual sun.reflect.MethodAccessorGenerator.emitMethod:(SILsun/reflect/ClassFileAssembler;Lsun/reflect/ClassFileAssembler;[S)V
177: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 178 0 this Lsun/reflect/MethodAccessorGenerator;
3 178 1 cb Lsun/reflect/ClassFileAssembler;
8 178 2 illegalArgStartPC S
18 27 3 l Lsun/reflect/Label;
28 178 3 successLabel Lsun/reflect/Label;
47 178 4 paramTypeCPIdx S
48 178 5 nextParamLabel Lsun/reflect/Label;
49 178 6 count B
50 112 7 i I
52 110 8 paramType Ljava/lang/Class<*>;
68 107 9 l Lsun/reflect/Label;
70 98 10 j I
72 96 11 c Ljava/lang/Class<*>;
115 178 7 invokeStartPC S
136 178 8 invokeEndPC S
147 178 9 classCastHandler S
155 178 10 invocationTargetHandler S
162 178 11 exc Lsun/reflect/ClassFileAssembler;
private boolean usesPrimitiveTypes();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.reflect.MethodAccessorGenerator.returnType:Ljava/lang/Class;
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: goto 7
4: StackMap locals: int
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.parameterTypes:[Ljava/lang/Class;
iload 1
aaload
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
7: iload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.parameterTypes:[Ljava/lang/Class;
arraylength
if_icmplt 4
end local 1 8: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/reflect/MethodAccessorGenerator;
3 8 1 i I
private int numNonPrimitiveParameterTypes();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.reflect.MethodAccessorGenerator.parameterTypes:[Ljava/lang/Class;
iload 2
aaload
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 5
4: iinc 1 1
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield sun.reflect.MethodAccessorGenerator.parameterTypes:[Ljava/lang/Class;
arraylength
if_icmplt 3
end local 2 7: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/reflect/MethodAccessorGenerator;
1 8 1 num I
2 7 2 i I
private boolean isInterface();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.reflect.MethodAccessorGenerator.declaringClass:Ljava/lang/Class;
invokevirtual java.lang.Class.isInterface:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/reflect/MethodAccessorGenerator;
private java.lang.String buildInternalSignature();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: aload 1
ldc "("
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.parameterTypes:[Ljava/lang/Class;
iload 2
aaload
iconst_1
invokestatic sun.reflect.MethodAccessorGenerator.getClassName:(Ljava/lang/Class;Z)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield sun.reflect.MethodAccessorGenerator.parameterTypes:[Ljava/lang/Class;
arraylength
if_icmplt 4
end local 2 7: aload 1
ldc ")"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
8: aload 1
aload 0
getfield sun.reflect.MethodAccessorGenerator.returnType:Ljava/lang/Class;
iconst_1
invokestatic sun.reflect.MethodAccessorGenerator.getClassName:(Ljava/lang/Class;Z)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
9: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/reflect/MethodAccessorGenerator;
1 10 1 buf Ljava/lang/StringBuffer;
3 7 2 i I
private static synchronized java.lang.String generateName(boolean, boolean);
descriptor: (ZZ)Ljava/lang/String;
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 0
ifeq 6
1: iload 1
ifeq 4
2: getstatic sun.reflect.MethodAccessorGenerator.serializationConstructorSymnum:I
iconst_1
iadd
dup
putstatic sun.reflect.MethodAccessorGenerator.serializationConstructorSymnum:I
istore 2
start local 2 3: new java.lang.StringBuilder
dup
ldc "sun/reflect/GeneratedSerializationConstructorAccessor"
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;
areturn
end local 2 4: StackMap locals:
StackMap stack:
getstatic sun.reflect.MethodAccessorGenerator.constructorSymnum:I
iconst_1
iadd
dup
putstatic sun.reflect.MethodAccessorGenerator.constructorSymnum:I
istore 2
start local 2 5: new java.lang.StringBuilder
dup
ldc "sun/reflect/GeneratedConstructorAccessor"
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;
areturn
end local 2 6: StackMap locals:
StackMap stack:
getstatic sun.reflect.MethodAccessorGenerator.methodSymnum:I
iconst_1
iadd
dup
putstatic sun.reflect.MethodAccessorGenerator.methodSymnum:I
istore 2
start local 2 7: new java.lang.StringBuilder
dup
ldc "sun/reflect/GeneratedMethodAccessor"
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;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 isConstructor Z
0 8 1 forSerialization Z
3 4 2 num I
5 6 2 num I
7 8 2 num I
MethodParameters:
Name Flags
isConstructor
forSerialization
}
SourceFile: "MethodAccessorGenerator.java"
NestMembers:
sun.reflect.MethodAccessorGenerator$1
InnerClasses:
sun.reflect.MethodAccessorGenerator$1