class jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute extends jdk.internal.org.objectweb.asm.Attribute
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute
super_class: jdk.internal.org.objectweb.asm.Attribute
{
private final jdk.internal.module.ModuleHashes hashes;
descriptor: Ljdk/internal/module/ModuleHashes;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/internal/module/ClassFileAttributes;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.internal.module.ModuleHashes);
descriptor: (Ljdk/internal/module/ModuleHashes;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "ModuleHashes"
invokespecial jdk.internal.org.objectweb.asm.Attribute.<init>:(Ljava/lang/String;)V
1: aload 0
aload 1
putfield jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute.hashes:Ljdk/internal/module/ModuleHashes;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/module/ClassFileAttributes$ModuleHashesAttribute;
0 3 1 hashes Ljdk/internal/module/ModuleHashes;
MethodParameters:
Name Flags
hashes
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokespecial jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute.<init>:(Ljdk/internal/module/ModuleHashes;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/module/ClassFileAttributes$ModuleHashesAttribute;
protected jdk.internal.org.objectweb.asm.Attribute read(jdk.internal.org.objectweb.asm.ClassReader, int, int, char[], int, jdk.internal.org.objectweb.asm.Label[]);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassReader;II[CI[Ljdk/internal/org/objectweb/asm/Label;)Ljdk/internal/org/objectweb/asm/Attribute;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=15, 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 1
iload 2
aload 4
invokevirtual jdk.internal.org.objectweb.asm.ClassReader.readUTF8:(I[C)Ljava/lang/String;
astore 7
start local 7 1: iinc 2 2
2: aload 1
iload 2
invokevirtual jdk.internal.org.objectweb.asm.ClassReader.readUnsignedShort:(I)I
istore 8
start local 8 3: iinc 2 2
4: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 9
start local 9 5: iconst_0
istore 10
start local 10 6: goto 20
7: StackMap locals: jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute jdk.internal.org.objectweb.asm.ClassReader int int char[] int jdk.internal.org.objectweb.asm.Label[] java.lang.String int java.util.Map int
StackMap stack:
aload 1
iload 2
aload 4
invokevirtual jdk.internal.org.objectweb.asm.ClassReader.readModule:(I[C)Ljava/lang/String;
astore 11
start local 11 8: iinc 2 2
9: aload 1
iload 2
invokevirtual jdk.internal.org.objectweb.asm.ClassReader.readUnsignedShort:(I)I
istore 12
start local 12 10: iinc 2 2
11: iload 12
newarray 8
astore 13
start local 13 12: iconst_0
istore 14
start local 14 13: goto 16
14: StackMap locals: jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute jdk.internal.org.objectweb.asm.ClassReader int int char[] int jdk.internal.org.objectweb.asm.Label[] java.lang.String int java.util.Map int java.lang.String int byte[] int
StackMap stack:
aload 13
iload 14
sipush 255
aload 1
iload 2
iload 14
iadd
invokevirtual jdk.internal.org.objectweb.asm.ClassReader.readByte:(I)I
iand
i2b
bastore
15: iinc 14 1
StackMap locals:
StackMap stack:
16: iload 14
iload 12
if_icmplt 14
end local 14 17: iload 2
iload 12
iadd
istore 2
18: aload 9
aload 11
aload 13
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 13 end local 12 end local 11 19: iinc 10 1
StackMap locals: jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute jdk.internal.org.objectweb.asm.ClassReader int int char[] int jdk.internal.org.objectweb.asm.Label[] java.lang.String int java.util.Map int
StackMap stack:
20: iload 10
iload 8
if_icmplt 7
end local 10 21: new jdk.internal.module.ModuleHashes
dup
aload 7
aload 9
invokespecial jdk.internal.module.ModuleHashes.<init>:(Ljava/lang/String;Ljava/util/Map;)V
astore 10
start local 10 22: new jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute
dup
aload 10
invokespecial jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute.<init>:(Ljdk/internal/module/ModuleHashes;)V
areturn
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 23 0 this Ljdk/internal/module/ClassFileAttributes$ModuleHashesAttribute;
0 23 1 cr Ljdk/internal/org/objectweb/asm/ClassReader;
0 23 2 off I
0 23 3 len I
0 23 4 buf [C
0 23 5 codeOff I
0 23 6 labels [Ljdk/internal/org/objectweb/asm/Label;
1 23 7 algorithm Ljava/lang/String;
3 23 8 hashes_count I
5 23 9 map Ljava/util/Map<Ljava/lang/String;[B>;
6 21 10 i I
8 19 11 mn Ljava/lang/String;
10 19 12 hash_length I
12 19 13 hash [B
13 17 14 j I
22 23 10 hashes Ljdk/internal/module/ModuleHashes;
MethodParameters:
Name Flags
cr
off
len
buf
codeOff
labels
protected jdk.internal.org.objectweb.asm.ByteVector write(jdk.internal.org.objectweb.asm.ClassWriter, byte[], int, int, int);
descriptor: (Ljdk/internal/org/objectweb/asm/ClassWriter;[BIII)Ljdk/internal/org/objectweb/asm/ByteVector;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new jdk.internal.org.objectweb.asm.ByteVector
dup
invokespecial jdk.internal.org.objectweb.asm.ByteVector.<init>:()V
astore 6
start local 6 1: aload 1
aload 0
getfield jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute.hashes:Ljdk/internal/module/ModuleHashes;
invokevirtual jdk.internal.module.ModuleHashes.algorithm:()Ljava/lang/String;
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.newUTF8:(Ljava/lang/String;)I
istore 7
start local 7 2: aload 6
iload 7
invokevirtual jdk.internal.org.objectweb.asm.ByteVector.putShort:(I)Ljdk/internal/org/objectweb/asm/ByteVector;
pop
3: aload 0
getfield jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute.hashes:Ljdk/internal/module/ModuleHashes;
invokevirtual jdk.internal.module.ModuleHashes.names:()Ljava/util/Set;
astore 8
start local 8 4: aload 6
aload 8
invokeinterface java.util.Set.size:()I
invokevirtual jdk.internal.org.objectweb.asm.ByteVector.putShort:(I)Ljdk/internal/org/objectweb/asm/ByteVector;
pop
5: aload 8
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 16
StackMap locals: jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute jdk.internal.org.objectweb.asm.ClassWriter byte[] int int int jdk.internal.org.objectweb.asm.ByteVector int java.util.Set top java.util.Iterator
StackMap stack:
6: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 7: aload 0
getfield jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute.hashes:Ljdk/internal/module/ModuleHashes;
aload 9
invokevirtual jdk.internal.module.ModuleHashes.hashFor:(Ljava/lang/String;)[B
astore 11
start local 11 8: getstatic jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute.$assertionsDisabled:Z
ifne 9
aload 11
ifnonnull 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute jdk.internal.org.objectweb.asm.ClassWriter byte[] int int int jdk.internal.org.objectweb.asm.ByteVector int java.util.Set java.lang.String java.util.Iterator byte[]
StackMap stack:
aload 6
aload 1
aload 9
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.newModule:(Ljava/lang/String;)I
invokevirtual jdk.internal.org.objectweb.asm.ByteVector.putShort:(I)Ljdk/internal/org/objectweb/asm/ByteVector;
pop
10: aload 6
aload 11
arraylength
invokevirtual jdk.internal.org.objectweb.asm.ByteVector.putShort:(I)Ljdk/internal/org/objectweb/asm/ByteVector;
pop
11: aload 11
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 15
StackMap locals: jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute jdk.internal.org.objectweb.asm.ClassWriter byte[] int int int jdk.internal.org.objectweb.asm.ByteVector int java.util.Set java.lang.String java.util.Iterator byte[] top int int byte[]
StackMap stack:
12: aload 15
iload 13
baload
istore 12
start local 12 13: aload 6
iload 12
invokevirtual jdk.internal.org.objectweb.asm.ByteVector.putByte:(I)Ljdk/internal/org/objectweb/asm/ByteVector;
pop
end local 12 14: iinc 13 1
StackMap locals:
StackMap stack:
15: iload 13
iload 14
if_icmplt 12
end local 11 end local 9 16: StackMap locals: jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute jdk.internal.org.objectweb.asm.ClassWriter byte[] int int int jdk.internal.org.objectweb.asm.ByteVector int java.util.Set top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
17: aload 6
areturn
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 18 0 this Ljdk/internal/module/ClassFileAttributes$ModuleHashesAttribute;
0 18 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
0 18 2 code [B
0 18 3 len I
0 18 4 maxStack I
0 18 5 maxLocals I
1 18 6 attr Ljdk/internal/org/objectweb/asm/ByteVector;
2 18 7 index I
4 18 8 names Ljava/util/Set<Ljava/lang/String;>;
7 16 9 mn Ljava/lang/String;
8 16 11 hash [B
13 14 12 b B
MethodParameters:
Name Flags
cw
code
len
maxStack
maxLocals
}
SourceFile: "ClassFileAttributes.java"
NestHost: jdk.internal.module.ClassFileAttributes
InnerClasses:
ModuleHashesAttribute = jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute of jdk.internal.module.ClassFileAttributes