public final class sun.tools.java.BinaryAttribute implements sun.tools.java.Constants
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.tools.java.BinaryAttribute
super_class: java.lang.Object
{
sun.tools.java.Identifier name;
descriptor: Lsun/tools/java/Identifier;
flags: (0x0000)
byte[] data;
descriptor: [B
flags: (0x0000)
sun.tools.java.BinaryAttribute next;
descriptor: Lsun/tools/java/BinaryAttribute;
flags: (0x0000)
void <init>(sun.tools.java.Identifier, byte[], sun.tools.java.BinaryAttribute);
descriptor: (Lsun/tools/java/Identifier;[BLsun/tools/java/BinaryAttribute;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.tools.java.BinaryAttribute.name:Lsun/tools/java/Identifier;
2: aload 0
aload 2
putfield sun.tools.java.BinaryAttribute.data:[B
3: aload 0
aload 3
putfield sun.tools.java.BinaryAttribute.next:Lsun/tools/java/BinaryAttribute;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/tools/java/BinaryAttribute;
0 5 1 name Lsun/tools/java/Identifier;
0 5 2 data [B
0 5 3 next Lsun/tools/java/BinaryAttribute;
MethodParameters:
Name Flags
name
data
next
public static sun.tools.java.BinaryAttribute load(java.io.DataInputStream, sun.tools.java.BinaryConstantPool, int);
descriptor: (Ljava/io/DataInputStream;Lsun/tools/java/BinaryConstantPool;I)Lsun/tools/java/BinaryAttribute;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 13
4: StackMap locals: sun.tools.java.BinaryAttribute int int
StackMap stack:
aload 1
aload 0
invokevirtual java.io.DataInputStream.readUnsignedShort:()I
invokevirtual sun.tools.java.BinaryConstantPool.getIdentifier:(I)Lsun/tools/java/Identifier;
astore 6
start local 6 5: aload 0
invokevirtual java.io.DataInputStream.readInt:()I
istore 7
start local 7 6: aload 6
getstatic sun.tools.java.BinaryAttribute.idCode:Lsun/tools/java/Identifier;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 9
iload 2
iconst_2
iand
ifne 9
7: aload 0
iload 7
invokevirtual java.io.DataInputStream.skipBytes:(I)I
pop
8: goto 12
9: StackMap locals: sun.tools.java.Identifier int
StackMap stack:
iload 7
newarray 8
astore 8
start local 8 10: aload 0
aload 8
invokevirtual java.io.DataInputStream.readFully:([B)V
11: new sun.tools.java.BinaryAttribute
dup
aload 6
aload 8
aload 3
invokespecial sun.tools.java.BinaryAttribute.<init>:(Lsun/tools/java/Identifier;[BLsun/tools/java/BinaryAttribute;)V
astore 3
end local 8 end local 7 end local 6 12: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 4
if_icmplt 4
end local 5 14: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 in Ljava/io/DataInputStream;
0 15 1 cpool Lsun/tools/java/BinaryConstantPool;
0 15 2 mask I
1 15 3 atts Lsun/tools/java/BinaryAttribute;
2 15 4 natt I
3 14 5 i I
5 12 6 id Lsun/tools/java/Identifier;
6 12 7 len I
10 12 8 data [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
cpool
mask
static void write(sun.tools.java.BinaryAttribute, java.io.DataOutputStream, sun.tools.java.BinaryConstantPool, sun.tools.java.Environment);
descriptor: (Lsun/tools/java/BinaryAttribute;Ljava/io/DataOutputStream;Lsun/tools/java/BinaryConstantPool;Lsun/tools/java/Environment;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 0
astore 5
start local 5 2: goto 5
3: StackMap locals: int sun.tools.java.BinaryAttribute
StackMap stack:
iinc 4 1
4: aload 5
getfield sun.tools.java.BinaryAttribute.next:Lsun/tools/java/BinaryAttribute;
astore 5
StackMap locals:
StackMap stack:
5: aload 5
ifnonnull 3
end local 5 6: aload 1
iload 4
invokevirtual java.io.DataOutputStream.writeShort:(I)V
7: aload 0
astore 5
start local 5 8: goto 15
9: StackMap locals:
StackMap stack:
aload 5
getfield sun.tools.java.BinaryAttribute.name:Lsun/tools/java/Identifier;
astore 6
start local 6 10: aload 5
getfield sun.tools.java.BinaryAttribute.data:[B
astore 7
start local 7 11: aload 1
aload 2
aload 6
invokevirtual sun.tools.java.Identifier.toString:()Ljava/lang/String;
aload 3
invokevirtual sun.tools.java.BinaryConstantPool.indexString:(Ljava/lang/String;Lsun/tools/java/Environment;)I
invokevirtual java.io.DataOutputStream.writeShort:(I)V
12: aload 1
aload 7
arraylength
invokevirtual java.io.DataOutputStream.writeInt:(I)V
13: aload 1
aload 7
iconst_0
aload 7
arraylength
invokevirtual java.io.DataOutputStream.write:([BII)V
end local 7 end local 6 14: aload 5
getfield sun.tools.java.BinaryAttribute.next:Lsun/tools/java/BinaryAttribute;
astore 5
StackMap locals:
StackMap stack:
15: aload 5
ifnonnull 9
end local 5 16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 attributes Lsun/tools/java/BinaryAttribute;
0 17 1 out Ljava/io/DataOutputStream;
0 17 2 cpool Lsun/tools/java/BinaryConstantPool;
0 17 3 env Lsun/tools/java/Environment;
1 17 4 attributeCount I
2 6 5 att Lsun/tools/java/BinaryAttribute;
8 16 5 att Lsun/tools/java/BinaryAttribute;
10 14 6 name Lsun/tools/java/Identifier;
11 14 7 data [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
attributes
out
cpool
env
public sun.tools.java.Identifier getName();
descriptor: ()Lsun/tools/java/Identifier;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.java.BinaryAttribute.name:Lsun/tools/java/Identifier;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/BinaryAttribute;
public byte[] getData();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.java.BinaryAttribute.data:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/BinaryAttribute;
public sun.tools.java.BinaryAttribute getNextAttribute();
descriptor: ()Lsun/tools/java/BinaryAttribute;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.java.BinaryAttribute.next:Lsun/tools/java/BinaryAttribute;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/tools/java/BinaryAttribute;
}
SourceFile: "BinaryAttribute.java"