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 793
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 788
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 789
aload 0 /* this */
3: .line 790
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.misc.ProxyGenerator$MethodInfo.exceptionTable:Ljava/util/List;
4: .line 794
aload 0 /* this */
aload 2 /* name */
putfield sun.misc.ProxyGenerator$MethodInfo.name:Ljava/lang/String;
5: .line 795
aload 0 /* this */
aload 3 /* descriptor */
putfield sun.misc.ProxyGenerator$MethodInfo.descriptor:Ljava/lang/String;
6: .line 796
aload 0 /* this */
iload 4 /* accessFlags */
putfield sun.misc.ProxyGenerator$MethodInfo.accessFlags:I
7: .line 802
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 803
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 804
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 805
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 806
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=6, args_size=2
start local 0 // sun.misc.ProxyGenerator$MethodInfo this
start local 1 // java.io.DataOutputStream out
0: .line 814
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.accessFlags:I
invokevirtual java.io.DataOutputStream.writeShort:(I)V
1: .line 816
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 818
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 820
aload 1 /* out */
iconst_2
invokevirtual java.io.DataOutputStream.writeShort:(I)V
4: .line 825
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 827
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 829
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.maxStack:S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
7: .line 831
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.maxLocals:S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
8: .line 833
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 835
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 837
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 838
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 840
aload 1 /* out */
aload 2 /* e */
getfield sun.misc.ProxyGenerator$ExceptionTableEntry.startPc:S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
14: .line 842
aload 1 /* out */
aload 2 /* e */
getfield sun.misc.ProxyGenerator$ExceptionTableEntry.endPc:S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
15: .line 844
aload 1 /* out */
aload 2 /* e */
getfield sun.misc.ProxyGenerator$ExceptionTableEntry.handlerPc:S
invokevirtual java.io.DataOutputStream.writeShort:(I)V
16: .line 846
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 838
StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
18: .line 849
aload 1 /* out */
iconst_0
invokevirtual java.io.DataOutputStream.writeShort:(I)V
19: .line 854
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 856
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 858
aload 1 /* out */
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.declaredExceptions:[S
arraylength
invokevirtual java.io.DataOutputStream.writeShort:(I)V
22: .line 860
aload 0 /* this */
getfield sun.misc.ProxyGenerator$MethodInfo.declaredExceptions:[S
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 26
StackMap locals: sun.misc.ProxyGenerator$MethodInfo java.io.DataOutputStream top int int short[]
StackMap stack:
23: aload 5
iload 3
saload
istore 2 /* value */
start local 2 // short value
24: .line 861
aload 1 /* out */
iload 2 /* value */
invokevirtual java.io.DataOutputStream.writeShort:(I)V
end local 2 // short value
25: .line 860
iinc 3 1
StackMap locals:
StackMap stack:
26: iload 3
iload 4
if_icmplt 23
27: .line 863
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;
24 25 2 value S
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