class sun.misc.ProxyGenerator$MethodInfo
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.misc.ProxyGenerator$MethodInfo
super_class: java.lang.Object
{
public int accessFlags;
descriptor: I
flags: (0x0001) ACC_PUBLIC
public java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
public java.lang.String descriptor;
descriptor: Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
public short maxStack;
descriptor: S
flags: (0x0001) ACC_PUBLIC
public short maxLocals;
descriptor: S
flags: (0x0001) ACC_PUBLIC
public java.io.ByteArrayOutputStream code;
descriptor: Ljava/io/ByteArrayOutputStream;
flags: (0x0001) ACC_PUBLIC
public java.util.List<sun.misc.ProxyGenerator$ExceptionTableEntry> exceptionTable;
descriptor: Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Signature: Ljava/util/List<Lsun/misc/ProxyGenerator$ExceptionTableEntry;>;
public short[] declaredExceptions;
descriptor: [S
flags: (0x0001) ACC_PUBLIC
final sun.misc.ProxyGenerator this$0;
descriptor: Lsun/misc/ProxyGenerator;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(sun.misc.ProxyGenerator, java.lang.String, java.lang.String, int);
descriptor: (Lsun/misc/ProxyGenerator;Ljava/lang/String;Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 // sun.misc.ProxyGenerator$MethodInfo this
start local 2 // java.lang.String name
start local 3 // java.lang.String descriptor
start local 4 // int accessFlags
0: .line 779
aload 0 /* this */
aload 1
putfield sun.misc.ProxyGenerator$MethodInfo.this$0:Lsun/misc/ProxyGenerator;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 774
aload 0 /* this */
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putfield sun.misc.ProxyGenerator$MethodInfo.code:Ljava/io/ByteArrayOutputStream;
2: .line 775
aload 0 /* this */
3: .line 776
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.misc.ProxyGenerator$MethodInfo.exceptionTable:Ljava/util/List;
4: .line 780
aload 0 /* this */
aload 2 /* name */
putfield sun.misc.ProxyGenerator$MethodInfo.name:Ljava/lang/String;
5: .line 781
aload 0 /* this */
aload 3 /* descriptor */
putfield sun.misc.ProxyGenerator$MethodInfo.descriptor:Ljava/lang/String;
6: .line 782
aload 0 /* this */
iload 4 /* accessFlags */
putfield sun.misc.ProxyGenerator$MethodInfo.accessFlags:I
7: .line 788
aload 1
getfield sun.misc.ProxyGenerator.cp:Lsun/misc/ProxyGenerator$ConstantPool;
aload 2 /* name */
invokevirtual sun.misc.ProxyGenerator$ConstantPool.getUtf8:(Ljava/lang/String;)S
pop
8: .line 789
aload 1
getfield sun.misc.ProxyGenerator.cp:Lsun/misc/ProxyGenerator$ConstantPool;
aload 3 /* descriptor */
invokevirtual sun.misc.ProxyGenerator$ConstantPool.getUtf8:(Ljava/lang/String;)S
pop
9: .line 790
aload 1
getfield sun.misc.ProxyGenerator.cp:Lsun/misc/ProxyGenerator$ConstantPool;
ldc "Code"
invokevirtual sun.misc.ProxyGenerator$ConstantPool.getUtf8:(Ljava/lang/String;)S
pop
10: .line 791
aload 1
getfield sun.misc.ProxyGenerator.cp:Lsun/misc/ProxyGenerator$ConstantPool;
ldc "Exceptions"
invokevirtual sun.misc.ProxyGenerator$ConstantPool.getUtf8:(Ljava/lang/String;)S
pop
11: .line 792
return
end local 4 // int accessFlags
end local 3 // java.lang.String descriptor
end local 2 // java.lang.String name
end local 0 // sun.misc.ProxyGenerator$MethodInfo this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/misc/ProxyGenerator$MethodInfo;
0 12 2 name Ljava/lang/String;
0 12 3 descriptor Ljava/lang/String;
0 12 4 accessFlags I
MethodParameters:
Name Flags
this$0 final
name
descriptor
accessFlags
public void write(java.io.DataOutputStream);
descriptor: (Ljava/io/DataOutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 // sun.misc.ProxyGenerator$MethodInfo this
start local 1 // java.io.DataOutputStream out
0: .line 800
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.accessFlags:I
invokevirtual java.io.DataOutputStream.writeShort:(I)V
1: .line 802
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.this$0:Lsun/misc/ProxyGenerator;
getfield sun.misc.ProxyGenerator.cp:Lsun/misc/ProxyGenerator$ConstantPool;
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.name:Ljava/lang/String;
invokevirtual sun.misc.ProxyGenerator$ConstantPool.getUtf8:(Ljava/lang/String;)S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
2: .line 804
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.this$0:Lsun/misc/ProxyGenerator;
getfield sun.misc.ProxyGenerator.cp:Lsun/misc/ProxyGenerator$ConstantPool;
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.descriptor:Ljava/lang/String;
invokevirtual sun.misc.ProxyGenerator$ConstantPool.getUtf8:(Ljava/lang/String;)S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
3: .line 806
aload 1 /* out */
iconst_2
invokevirtual java.io.DataOutputStream.writeShort:(I)V
4: .line 811
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.this$0:Lsun/misc/ProxyGenerator;
getfield sun.misc.ProxyGenerator.cp:Lsun/misc/ProxyGenerator$ConstantPool;
ldc "Code"
invokevirtual sun.misc.ProxyGenerator$ConstantPool.getUtf8:(Ljava/lang/String;)S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
5: .line 813
aload 1 /* out */
bipush 12
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.code:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.size:()I
iadd
bipush 8
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.exceptionTable:Ljava/util/List;
invokeinterface java.util.List.size:()I
imul
iadd
invokevirtual java.io.DataOutputStream.writeInt:(I)V
6: .line 815
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.maxStack:S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
7: .line 817
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.maxLocals:S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
8: .line 819
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.code:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.size:()I
invokevirtual java.io.DataOutputStream.writeInt:(I)V
9: .line 821
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.code:Ljava/io/ByteArrayOutputStream;
aload 1 /* out */
invokevirtual java.io.ByteArrayOutputStream.writeTo:(Ljava/io/OutputStream;)V
10: .line 823
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.exceptionTable:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokevirtual java.io.DataOutputStream.writeShort:(I)V
11: .line 824
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.exceptionTable:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 17
StackMap locals: sun.misc.ProxyGenerator$MethodInfo java.io.DataOutputStream top java.util.Iterator
StackMap stack:
12: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.misc.ProxyGenerator$ExceptionTableEntry
astore 2 /* e */
start local 2 // sun.misc.ProxyGenerator$ExceptionTableEntry e
13: .line 826
aload 1 /* out */
aload 2 /* e */
getfield sun.misc.ProxyGenerator$ExceptionTableEntry.startPc:S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
14: .line 828
aload 1 /* out */
aload 2 /* e */
getfield sun.misc.ProxyGenerator$ExceptionTableEntry.endPc:S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
15: .line 830
aload 1 /* out */
aload 2 /* e */
getfield sun.misc.ProxyGenerator$ExceptionTableEntry.handlerPc:S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
16: .line 832
aload 1 /* out */
aload 2 /* e */
getfield sun.misc.ProxyGenerator$ExceptionTableEntry.catchType:S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
end local 2 // sun.misc.ProxyGenerator$ExceptionTableEntry e
17: .line 824
StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
18: .line 835
aload 1 /* out */
iconst_0
invokevirtual java.io.DataOutputStream.writeShort:(I)V
19: .line 840
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.this$0:Lsun/misc/ProxyGenerator;
getfield sun.misc.ProxyGenerator.cp:Lsun/misc/ProxyGenerator$ConstantPool;
ldc "Exceptions"
invokevirtual sun.misc.ProxyGenerator$ConstantPool.getUtf8:(Ljava/lang/String;)S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
20: .line 842
aload 1 /* out */
iconst_2
iconst_2
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.declaredExceptions:[S
arraylength
imul
iadd
invokevirtual java.io.DataOutputStream.writeInt:(I)V
21: .line 844
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.declaredExceptions:[S
arraylength
invokevirtual java.io.DataOutputStream.writeShort:(I)V
22: .line 846
iconst_0
istore 2 /* i */
start local 2 // int i
23: goto 26
24: .line 847
StackMap locals: sun.misc.ProxyGenerator$MethodInfo java.io.DataOutputStream int
StackMap stack:
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.declaredExceptions:[S
iload 2 /* i */
saload
invokevirtual java.io.DataOutputStream.writeShort:(I)V
25: .line 846
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
26: iload 2 /* i */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.declaredExceptions:[S
arraylength
if_icmplt 24
end local 2 // int i
27: .line 849
return
end local 1 // java.io.DataOutputStream out
end local 0 // sun.misc.ProxyGenerator$MethodInfo this
LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/misc/ProxyGenerator$MethodInfo;
0 28 1 out Ljava/io/DataOutputStream;
13 17 2 e Lsun/misc/ProxyGenerator$ExceptionTableEntry;
23 27 2 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
}
SourceFile: "ProxyGenerator.java"
NestHost: sun.misc.ProxyGenerator
InnerClasses:
private ConstantPool = sun.misc.ProxyGenerator$ConstantPool of sun.misc.ProxyGenerator
private ExceptionTableEntry = sun.misc.ProxyGenerator$ExceptionTableEntry of sun.misc.ProxyGenerator
private MethodInfo = sun.misc.ProxyGenerator$MethodInfo of sun.misc.ProxyGenerator