public final class jdk.internal.module.ModuleInfoExtender
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.internal.module.ModuleInfoExtender
super_class: java.lang.Object
{
private final java.io.InputStream in;
descriptor: Ljava/io/InputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.Set<java.lang.String> packages;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljava/lang/String;>;
private java.lang.module.ModuleDescriptor$Version version;
descriptor: Ljava/lang/module/ModuleDescriptor$Version;
flags: (0x0002) ACC_PRIVATE
private java.lang.String mainClass;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String targetPlatform;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private jdk.internal.module.ModuleHashes hashes;
descriptor: Ljdk/internal/module/ModuleHashes;
flags: (0x0002) ACC_PRIVATE
private jdk.internal.module.ModuleResolution moduleResolution;
descriptor: Ljdk/internal/module/ModuleResolution;
flags: (0x0002) ACC_PRIVATE
private void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.internal.module.ModuleInfoExtender.in:Ljava/io/InputStream;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/module/ModuleInfoExtender;
0 3 1 in Ljava/io/InputStream;
MethodParameters:
Name Flags
in
public jdk.internal.module.ModuleInfoExtender packages(java.util.Set<java.lang.String>);
descriptor: (Ljava/util/Set;)Ljdk/internal/module/ModuleInfoExtender;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
putfield jdk.internal.module.ModuleInfoExtender.packages:Ljava/util/Set;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/module/ModuleInfoExtender;
0 2 1 packages Ljava/util/Set<Ljava/lang/String;>;
Signature: (Ljava/util/Set<Ljava/lang/String;>;)Ljdk/internal/module/ModuleInfoExtender;
MethodParameters:
Name Flags
packages
public jdk.internal.module.ModuleInfoExtender version(java.lang.module.ModuleDescriptor$Version);
descriptor: (Ljava/lang/module/ModuleDescriptor$Version;)Ljdk/internal/module/ModuleInfoExtender;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.internal.module.ModuleInfoExtender.version:Ljava/lang/module/ModuleDescriptor$Version;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/module/ModuleInfoExtender;
0 2 1 version Ljava/lang/module/ModuleDescriptor$Version;
MethodParameters:
Name Flags
version
public jdk.internal.module.ModuleInfoExtender mainClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/internal/module/ModuleInfoExtender;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.internal.module.ModuleInfoExtender.mainClass:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/module/ModuleInfoExtender;
0 2 1 mainClass Ljava/lang/String;
MethodParameters:
Name Flags
mainClass
public jdk.internal.module.ModuleInfoExtender targetPlatform(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/internal/module/ModuleInfoExtender;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.internal.module.ModuleInfoExtender.targetPlatform:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/module/ModuleInfoExtender;
0 2 1 targetPlatform Ljava/lang/String;
MethodParameters:
Name Flags
targetPlatform
public jdk.internal.module.ModuleInfoExtender hashes(jdk.internal.module.ModuleHashes);
descriptor: (Ljdk/internal/module/ModuleHashes;)Ljdk/internal/module/ModuleInfoExtender;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.internal.module.ModuleInfoExtender.hashes:Ljdk/internal/module/ModuleHashes;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/module/ModuleInfoExtender;
0 2 1 hashes Ljdk/internal/module/ModuleHashes;
MethodParameters:
Name Flags
hashes
public jdk.internal.module.ModuleInfoExtender moduleResolution(jdk.internal.module.ModuleResolution);
descriptor: (Ljdk/internal/module/ModuleResolution;)Ljdk/internal/module/ModuleInfoExtender;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.internal.module.ModuleInfoExtender.moduleResolution:Ljdk/internal/module/ModuleResolution;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/module/ModuleInfoExtender;
0 2 1 mres Ljdk/internal/module/ModuleResolution;
MethodParameters:
Name Flags
mres
public void write(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual jdk.internal.module.ModuleInfoExtender.toByteArray:()[B
invokevirtual java.io.OutputStream.write:([B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/module/ModuleInfoExtender;
0 2 1 out Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
public byte[] toByteArray();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: new jdk.internal.org.objectweb.asm.ClassWriter
dup
iconst_3
invokespecial jdk.internal.org.objectweb.asm.ClassWriter.<init>:(I)V
1: astore 1
start local 1 2: new jdk.internal.module.ModuleInfoExtender$AttributeAddingClassVisitor
dup
ldc 327680
aload 1
invokespecial jdk.internal.module.ModuleInfoExtender$AttributeAddingClassVisitor.<init>:(ILjdk/internal/org/objectweb/asm/ClassVisitor;)V
3: astore 2
start local 2 4: new jdk.internal.org.objectweb.asm.ClassReader
dup
aload 0
getfield jdk.internal.module.ModuleInfoExtender.in:Ljava/io/InputStream;
invokespecial jdk.internal.org.objectweb.asm.ClassReader.<init>:(Ljava/io/InputStream;)V
astore 3
start local 3 5: aload 0
getfield jdk.internal.module.ModuleInfoExtender.packages:Ljava/util/Set;
ifnull 7
6: aload 2
new jdk.internal.module.ClassFileAttributes$ModulePackagesAttribute
dup
aload 0
getfield jdk.internal.module.ModuleInfoExtender.packages:Ljava/util/Set;
invokespecial jdk.internal.module.ClassFileAttributes$ModulePackagesAttribute.<init>:(Ljava/util/Set;)V
invokevirtual jdk.internal.module.ModuleInfoExtender$AttributeAddingClassVisitor.addAttribute:(Ljdk/internal/org/objectweb/asm/Attribute;)V
7: StackMap locals: jdk.internal.org.objectweb.asm.ClassWriter jdk.internal.module.ModuleInfoExtender$AttributeAddingClassVisitor jdk.internal.org.objectweb.asm.ClassReader
StackMap stack:
aload 0
getfield jdk.internal.module.ModuleInfoExtender.mainClass:Ljava/lang/String;
ifnull 9
8: aload 2
new jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute
dup
aload 0
getfield jdk.internal.module.ModuleInfoExtender.mainClass:Ljava/lang/String;
invokespecial jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute.<init>:(Ljava/lang/String;)V
invokevirtual jdk.internal.module.ModuleInfoExtender$AttributeAddingClassVisitor.addAttribute:(Ljdk/internal/org/objectweb/asm/Attribute;)V
9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.module.ModuleInfoExtender.targetPlatform:Ljava/lang/String;
ifnull 11
10: aload 2
new jdk.internal.module.ClassFileAttributes$ModuleTargetAttribute
dup
aload 0
getfield jdk.internal.module.ModuleInfoExtender.targetPlatform:Ljava/lang/String;
invokespecial jdk.internal.module.ClassFileAttributes$ModuleTargetAttribute.<init>:(Ljava/lang/String;)V
invokevirtual jdk.internal.module.ModuleInfoExtender$AttributeAddingClassVisitor.addAttribute:(Ljdk/internal/org/objectweb/asm/Attribute;)V
11: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.module.ModuleInfoExtender.hashes:Ljdk/internal/module/ModuleHashes;
ifnull 13
12: aload 2
new jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute
dup
aload 0
getfield jdk.internal.module.ModuleInfoExtender.hashes:Ljdk/internal/module/ModuleHashes;
invokespecial jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute.<init>:(Ljdk/internal/module/ModuleHashes;)V
invokevirtual jdk.internal.module.ModuleInfoExtender$AttributeAddingClassVisitor.addAttribute:(Ljdk/internal/org/objectweb/asm/Attribute;)V
13: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.module.ModuleInfoExtender.moduleResolution:Ljdk/internal/module/ModuleResolution;
ifnull 15
14: aload 2
new jdk.internal.module.ClassFileAttributes$ModuleResolutionAttribute
dup
aload 0
getfield jdk.internal.module.ModuleInfoExtender.moduleResolution:Ljdk/internal/module/ModuleResolution;
invokevirtual jdk.internal.module.ModuleResolution.value:()I
invokespecial jdk.internal.module.ClassFileAttributes$ModuleResolutionAttribute.<init>:(I)V
invokevirtual jdk.internal.module.ModuleInfoExtender$AttributeAddingClassVisitor.addAttribute:(Ljdk/internal/org/objectweb/asm/Attribute;)V
15: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 16: aload 4
new jdk.internal.module.ClassFileAttributes$ModuleAttribute
dup
aload 0
getfield jdk.internal.module.ModuleInfoExtender.version:Ljava/lang/module/ModuleDescriptor$Version;
invokespecial jdk.internal.module.ClassFileAttributes$ModuleAttribute.<init>:(Ljava/lang/module/ModuleDescriptor$Version;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: aload 4
new jdk.internal.module.ClassFileAttributes$ModulePackagesAttribute
dup
invokespecial jdk.internal.module.ClassFileAttributes$ModulePackagesAttribute.<init>:()V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: aload 4
new jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute
dup
invokespecial jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute.<init>:()V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: aload 4
new jdk.internal.module.ClassFileAttributes$ModuleTargetAttribute
dup
invokespecial jdk.internal.module.ClassFileAttributes$ModuleTargetAttribute.<init>:()V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: aload 4
new jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute
dup
invokespecial jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute.<init>:()V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
21: aload 3
aload 2
aload 4
iconst_0
anewarray jdk.internal.org.objectweb.asm.Attribute
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast jdk.internal.org.objectweb.asm.Attribute[]
iconst_0
invokevirtual jdk.internal.org.objectweb.asm.ClassReader.accept:(Ljdk/internal/org/objectweb/asm/ClassVisitor;[Ljdk/internal/org/objectweb/asm/Attribute;I)V
22: aload 2
invokevirtual jdk.internal.module.ModuleInfoExtender$AttributeAddingClassVisitor.finish:()V
23: aload 1
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljdk/internal/module/ModuleInfoExtender;
2 24 1 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
4 24 2 cv Ljdk/internal/module/ModuleInfoExtender$AttributeAddingClassVisitor;
5 24 3 cr Ljdk/internal/org/objectweb/asm/ClassReader;
16 24 4 attrs Ljava/util/List<Ljdk/internal/org/objectweb/asm/Attribute;>;
Exceptions:
throws java.io.IOException
public static jdk.internal.module.ModuleInfoExtender newExtender(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljdk/internal/module/ModuleInfoExtender;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new jdk.internal.module.ModuleInfoExtender
dup
aload 0
invokespecial jdk.internal.module.ModuleInfoExtender.<init>:(Ljava/io/InputStream;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 in Ljava/io/InputStream;
MethodParameters:
Name Flags
in
}
SourceFile: "ModuleInfoExtender.java"
NestMembers:
jdk.internal.module.ModuleInfoExtender$AttributeAddingClassVisitor
InnerClasses:
public final Version = java.lang.module.ModuleDescriptor$Version of java.lang.module.ModuleDescriptor
public ModuleAttribute = jdk.internal.module.ClassFileAttributes$ModuleAttribute of jdk.internal.module.ClassFileAttributes
ModuleHashesAttribute = jdk.internal.module.ClassFileAttributes$ModuleHashesAttribute of jdk.internal.module.ClassFileAttributes
public ModuleMainClassAttribute = jdk.internal.module.ClassFileAttributes$ModuleMainClassAttribute of jdk.internal.module.ClassFileAttributes
public ModulePackagesAttribute = jdk.internal.module.ClassFileAttributes$ModulePackagesAttribute of jdk.internal.module.ClassFileAttributes
ModuleResolutionAttribute = jdk.internal.module.ClassFileAttributes$ModuleResolutionAttribute of jdk.internal.module.ClassFileAttributes
public ModuleTargetAttribute = jdk.internal.module.ClassFileAttributes$ModuleTargetAttribute of jdk.internal.module.ClassFileAttributes
private AttributeAddingClassVisitor = jdk.internal.module.ModuleInfoExtender$AttributeAddingClassVisitor of jdk.internal.module.ModuleInfoExtender