public final class jdk.internal.module.ModuleInfoWriter
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.internal.module.ModuleInfoWriter
super_class: java.lang.Object
{
private static final java.util.Map<java.lang.module.ModuleDescriptor$Modifier, java.lang.Integer> MODULE_MODS_TO_FLAGS;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/module/ModuleDescriptor$Modifier;Ljava/lang/Integer;>;
private static final java.util.Map<java.lang.module.ModuleDescriptor$Requires$Modifier, java.lang.Integer> REQUIRES_MODS_TO_FLAGS;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/module/ModuleDescriptor$Requires$Modifier;Ljava/lang/Integer;>;
private static final java.util.Map<java.lang.module.ModuleDescriptor$Exports$Modifier, java.lang.Integer> EXPORTS_MODS_TO_FLAGS;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/module/ModuleDescriptor$Exports$Modifier;Ljava/lang/Integer;>;
private static final java.util.Map<java.lang.module.ModuleDescriptor$Opens$Modifier, java.lang.Integer> OPENS_MODS_TO_FLAGS;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/module/ModuleDescriptor$Opens$Modifier;Ljava/lang/Integer;>;
private static final java.lang.String[] EMPTY_STRING_ARRAY;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=0, args_size=0
0: getstatic java.lang.module.ModuleDescriptor$Modifier.OPEN:Ljava/lang/module/ModuleDescriptor$Modifier;
bipush 32
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
1: getstatic java.lang.module.ModuleDescriptor$Modifier.SYNTHETIC:Ljava/lang/module/ModuleDescriptor$Modifier;
sipush 4096
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
2: getstatic java.lang.module.ModuleDescriptor$Modifier.MANDATED:Ljava/lang/module/ModuleDescriptor$Modifier;
ldc 32768
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
3: invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
putstatic jdk.internal.module.ModuleInfoWriter.MODULE_MODS_TO_FLAGS:Ljava/util/Map;
4: getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.TRANSITIVE:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
bipush 32
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
5: getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.STATIC:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
bipush 64
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
6: getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.SYNTHETIC:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
sipush 4096
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
7: getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.MANDATED:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
ldc 32768
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
8: invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
putstatic jdk.internal.module.ModuleInfoWriter.REQUIRES_MODS_TO_FLAGS:Ljava/util/Map;
9: getstatic java.lang.module.ModuleDescriptor$Exports$Modifier.SYNTHETIC:Ljava/lang/module/ModuleDescriptor$Exports$Modifier;
sipush 4096
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
10: getstatic java.lang.module.ModuleDescriptor$Exports$Modifier.MANDATED:Ljava/lang/module/ModuleDescriptor$Exports$Modifier;
ldc 32768
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
11: invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
putstatic jdk.internal.module.ModuleInfoWriter.EXPORTS_MODS_TO_FLAGS:Ljava/util/Map;
12: getstatic java.lang.module.ModuleDescriptor$Opens$Modifier.SYNTHETIC:Ljava/lang/module/ModuleDescriptor$Opens$Modifier;
sipush 4096
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
13: getstatic java.lang.module.ModuleDescriptor$Opens$Modifier.MANDATED:Ljava/lang/module/ModuleDescriptor$Opens$Modifier;
ldc 32768
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
14: invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
putstatic jdk.internal.module.ModuleInfoWriter.OPENS_MODS_TO_FLAGS:Ljava/util/Map;
15: iconst_0
anewarray java.lang.String
putstatic jdk.internal.module.ModuleInfoWriter.EMPTY_STRING_ARRAY:[Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/module/ModuleInfoWriter;
private static byte[] toModuleInfo(java.lang.module.ModuleDescriptor, jdk.internal.module.ModuleTarget);
descriptor: (Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=12, args_size=2
start local 0 start local 1 0: new jdk.internal.org.objectweb.asm.ClassWriter
dup
iconst_0
invokespecial jdk.internal.org.objectweb.asm.ClassWriter.<init>:(I)V
astore 2
start local 2 1: aload 2
bipush 54
ldc 32768
ldc "module-info"
aconst_null
aconst_null
aconst_null
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
2: aload 0
invokevirtual java.lang.module.ModuleDescriptor.modifiers:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
3: getstatic jdk.internal.module.ModuleInfoWriter.MODULE_MODS_TO_FLAGS:Ljava/util/Map;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Ljava/util/Map;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Map.get(Ljava/lang/Object;)Ljava/lang/Object; (9 itf)
(Ljava/lang/module/ModuleDescriptor$Modifier;)Ljava/lang/Integer;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
4: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokedynamic apply()Ljava/util/function/BinaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/module/ModuleInfoWriter.lambda$1(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer; (6)
(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
invokeinterface java.util.stream.Stream.reduce:(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
5: istore 3
start local 3 6: aload 0
invokevirtual java.lang.module.ModuleDescriptor.rawVersion:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 7: aload 2
aload 0
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
iload 3
aload 5
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitModule:(Ljava/lang/String;ILjava/lang/String;)Ljdk/internal/org/objectweb/asm/ModuleVisitor;
astore 6
start local 6 8: aload 0
invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 16
StackMap locals: java.lang.module.ModuleDescriptor jdk.internal.module.ModuleTarget jdk.internal.org.objectweb.asm.ClassWriter int top java.lang.String jdk.internal.org.objectweb.asm.ModuleVisitor top java.util.Iterator
StackMap stack:
9: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Requires
astore 7
start local 7 10: aload 7
invokevirtual java.lang.module.ModuleDescriptor$Requires.modifiers:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
11: getstatic jdk.internal.module.ModuleInfoWriter.REQUIRES_MODS_TO_FLAGS:Ljava/util/Map;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Ljava/util/Map;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Map.get(Ljava/lang/Object;)Ljava/lang/Object; (9 itf)
(Ljava/lang/module/ModuleDescriptor$Requires$Modifier;)Ljava/lang/Integer;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
12: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokedynamic apply()Ljava/util/function/BinaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/module/ModuleInfoWriter.lambda$3(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer; (6)
(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
invokeinterface java.util.stream.Stream.reduce:(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
13: istore 9
start local 9 14: aload 7
invokevirtual java.lang.module.ModuleDescriptor$Requires.rawCompiledVersion:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
15: aload 6
aload 7
invokevirtual java.lang.module.ModuleDescriptor$Requires.name:()Ljava/lang/String;
iload 9
aload 5
invokevirtual jdk.internal.org.objectweb.asm.ModuleVisitor.visitRequire:(Ljava/lang/String;ILjava/lang/String;)V
end local 9 end local 7 16: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
17: aload 0
invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 25
StackMap locals:
StackMap stack:
18: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Exports
astore 7
start local 7 19: aload 7
invokevirtual java.lang.module.ModuleDescriptor$Exports.modifiers:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
20: getstatic jdk.internal.module.ModuleInfoWriter.EXPORTS_MODS_TO_FLAGS:Ljava/util/Map;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Ljava/util/Map;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Map.get(Ljava/lang/Object;)Ljava/lang/Object; (9 itf)
(Ljava/lang/module/ModuleDescriptor$Exports$Modifier;)Ljava/lang/Integer;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
21: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokedynamic apply()Ljava/util/function/BinaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/module/ModuleInfoWriter.lambda$5(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer; (6)
(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
invokeinterface java.util.stream.Stream.reduce:(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
22: istore 9
start local 9 23: aload 7
invokevirtual java.lang.module.ModuleDescriptor$Exports.targets:()Ljava/util/Set;
getstatic jdk.internal.module.ModuleInfoWriter.EMPTY_STRING_ARRAY:[Ljava/lang/String;
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 11
start local 11 24: aload 6
aload 7
invokevirtual java.lang.module.ModuleDescriptor$Exports.source:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
iload 9
aload 11
invokevirtual jdk.internal.org.objectweb.asm.ModuleVisitor.visitExport:(Ljava/lang/String;I[Ljava/lang/String;)V
end local 11 end local 9 end local 7 25: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
26: aload 0
invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 34
StackMap locals:
StackMap stack:
27: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Opens
astore 7
start local 7 28: aload 7
invokevirtual java.lang.module.ModuleDescriptor$Opens.modifiers:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
29: getstatic jdk.internal.module.ModuleInfoWriter.OPENS_MODS_TO_FLAGS:Ljava/util/Map;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic apply(Ljava/util/Map;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/util/Map.get(Ljava/lang/Object;)Ljava/lang/Object; (9 itf)
(Ljava/lang/module/ModuleDescriptor$Opens$Modifier;)Ljava/lang/Integer;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
30: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokedynamic apply()Ljava/util/function/BinaryOperator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/module/ModuleInfoWriter.lambda$7(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer; (6)
(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
invokeinterface java.util.stream.Stream.reduce:(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
31: istore 9
start local 9 32: aload 7
invokevirtual java.lang.module.ModuleDescriptor$Opens.targets:()Ljava/util/Set;
getstatic jdk.internal.module.ModuleInfoWriter.EMPTY_STRING_ARRAY:[Ljava/lang/String;
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 11
start local 11 33: aload 6
aload 7
invokevirtual java.lang.module.ModuleDescriptor$Opens.source:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
iload 9
aload 11
invokevirtual jdk.internal.org.objectweb.asm.ModuleVisitor.visitOpen:(Ljava/lang/String;I[Ljava/lang/String;)V
end local 11 end local 9 end local 7 34: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
35: aload 0
invokevirtual java.lang.module.ModuleDescriptor.uses:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/module/ModuleInfoWriter.lambda$8(Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
aload 6
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljdk/internal/org/objectweb/asm/ModuleVisitor;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/internal/org/objectweb/asm/ModuleVisitor.visitUse(Ljava/lang/String;)V (5)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
36: aload 0
invokevirtual java.lang.module.ModuleDescriptor.provides:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 44
StackMap locals: java.lang.module.ModuleDescriptor jdk.internal.module.ModuleTarget jdk.internal.org.objectweb.asm.ClassWriter int top java.lang.String jdk.internal.org.objectweb.asm.ModuleVisitor top top java.util.Iterator
StackMap stack:
37: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Provides
astore 8
start local 8 38: aload 6
aload 8
invokevirtual java.lang.module.ModuleDescriptor$Provides.service:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
39: aload 8
invokevirtual java.lang.module.ModuleDescriptor$Provides.providers:()Ljava/util/List;
40: invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
41: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/module/ModuleInfoWriter.lambda$10(Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
42: invokedynamic apply()Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
jdk/internal/module/ModuleInfoWriter.lambda$11(I)[Ljava/lang/String; (6)
(I)[Ljava/lang/String;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast java.lang.String[]
43: invokevirtual jdk.internal.org.objectweb.asm.ModuleVisitor.visitProvide:(Ljava/lang/String;[Ljava/lang/String;)V
end local 8 44: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 37
45: aload 0
invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
46: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/lang/module/ModuleDescriptor$Exports.source()Ljava/lang/String; (5)
(Ljava/lang/module/ModuleDescriptor$Exports;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
47: astore 8
start local 8 48: aload 0
invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
49: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/lang/module/ModuleDescriptor$Opens.source()Ljava/lang/String; (5)
(Ljava/lang/module/ModuleDescriptor$Opens;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
50: astore 9
start local 9 51: aload 8
aload 9
invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.distinct:()Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.count:()J
lstore 10
start local 10 52: aload 0
invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
i2l
lload 10
lcmp
ifle 56
53: aload 0
invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
54: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/module/ModuleInfoWriter.lambda$14(Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
55: aload 6
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljdk/internal/org/objectweb/asm/ModuleVisitor;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/internal/org/objectweb/asm/ModuleVisitor.visitPackage(Ljava/lang/String;)V (5)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
56: StackMap locals: java.lang.module.ModuleDescriptor jdk.internal.module.ModuleTarget jdk.internal.org.objectweb.asm.ClassWriter int top java.lang.String jdk.internal.org.objectweb.asm.ModuleVisitor top java.util.stream.Stream java.util.stream.Stream long
StackMap stack:
aload 0
invokevirtual java.lang.module.ModuleDescriptor.mainClass:()Ljava/util/Optional;
57: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/module/ModuleInfoWriter.lambda$16(Ljava/lang/String;)Ljava/lang/String; (6)
(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
58: aload 6
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Ljdk/internal/org/objectweb/asm/ModuleVisitor;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/internal/org/objectweb/asm/ModuleVisitor.visitMainClass(Ljava/lang/String;)V (5)
(Ljava/lang/String;)V
invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
59: aload 6
invokevirtual jdk.internal.org.objectweb.asm.ModuleVisitor.visitEnd:()V
60: aload 1
ifnull 62
aload 1
invokevirtual jdk.internal.module.ModuleTarget.targetPlatform:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 62
61: aload 2
new jdk.internal.org.objectweb.asm.commons.ModuleTargetAttribute
dup
aload 1
invokevirtual jdk.internal.module.ModuleTarget.targetPlatform:()Ljava/lang/String;
invokespecial jdk.internal.org.objectweb.asm.commons.ModuleTargetAttribute.<init>:(Ljava/lang/String;)V
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitAttribute:(Ljdk/internal/org/objectweb/asm/Attribute;)V
62: StackMap locals:
StackMap stack:
aload 2
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitEnd:()V
63: aload 2
invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
areturn
end local 10 end local 9 end local 8 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 64 0 md Ljava/lang/module/ModuleDescriptor;
0 64 1 target Ljdk/internal/module/ModuleTarget;
1 64 2 cw Ljdk/internal/org/objectweb/asm/ClassWriter;
6 64 3 moduleFlags I
7 64 5 vs Ljava/lang/String;
8 64 6 mv Ljdk/internal/org/objectweb/asm/ModuleVisitor;
10 16 7 r Ljava/lang/module/ModuleDescriptor$Requires;
14 16 9 flags I
19 25 7 e Ljava/lang/module/ModuleDescriptor$Exports;
23 25 9 flags I
24 25 11 targets [Ljava/lang/String;
28 34 7 opens Ljava/lang/module/ModuleDescriptor$Opens;
32 34 9 flags I
33 34 11 targets [Ljava/lang/String;
38 44 8 p Ljava/lang/module/ModuleDescriptor$Provides;
48 64 8 exported Ljava/util/stream/Stream<Ljava/lang/String;>;
51 64 9 open Ljava/util/stream/Stream<Ljava/lang/String;>;
52 64 10 exportedOrOpen J
MethodParameters:
Name Flags
md
target
public static void write(java.lang.module.ModuleDescriptor, jdk.internal.module.ModuleTarget, java.io.OutputStream);
descriptor: (Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;Ljava/io/OutputStream;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic jdk.internal.module.ModuleInfoWriter.toModuleInfo:(Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;)[B
astore 3
start local 3 1: aload 2
aload 3
invokevirtual java.io.OutputStream.write:([B)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 descriptor Ljava/lang/module/ModuleDescriptor;
0 3 1 target Ljdk/internal/module/ModuleTarget;
0 3 2 out Ljava/io/OutputStream;
1 3 3 bytes [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
descriptor
target
out
public static void write(java.lang.module.ModuleDescriptor, java.io.OutputStream);
descriptor: (Ljava/lang/module/ModuleDescriptor;Ljava/io/OutputStream;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
aload 1
invokestatic jdk.internal.module.ModuleInfoWriter.write:(Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;Ljava/io/OutputStream;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 descriptor Ljava/lang/module/ModuleDescriptor;
0 2 1 out Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
descriptor
out
public static java.nio.ByteBuffer toByteBuffer(java.lang.module.ModuleDescriptor);
descriptor: (Ljava/lang/module/ModuleDescriptor;)Ljava/nio/ByteBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic jdk.internal.module.ModuleInfoWriter.toModuleInfo:(Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;)[B
astore 1
start local 1 1: aload 1
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 descriptor Ljava/lang/module/ModuleDescriptor;
1 2 1 bytes [B
MethodParameters:
Name Flags
descriptor
private static java.lang.Integer lambda$1(java.lang.Integer, java.lang.Integer);
descriptor: (Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Integer.intValue:()I
aload 1
invokevirtual java.lang.Integer.intValue:()I
ior
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Integer;
0 1 1 y Ljava/lang/Integer;
private static java.lang.Integer lambda$3(java.lang.Integer, java.lang.Integer);
descriptor: (Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Integer.intValue:()I
aload 1
invokevirtual java.lang.Integer.intValue:()I
ior
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Integer;
0 1 1 y Ljava/lang/Integer;
private static java.lang.Integer lambda$5(java.lang.Integer, java.lang.Integer);
descriptor: (Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Integer.intValue:()I
aload 1
invokevirtual java.lang.Integer.intValue:()I
ior
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Integer;
0 1 1 y Ljava/lang/Integer;
private static java.lang.Integer lambda$7(java.lang.Integer, java.lang.Integer);
descriptor: (Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Integer.intValue:()I
aload 1
invokevirtual java.lang.Integer.intValue:()I
ior
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x Ljava/lang/Integer;
0 1 1 y Ljava/lang/Integer;
private static java.lang.String lambda$8(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sn Ljava/lang/String;
private static java.lang.String lambda$10(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pn Ljava/lang/String;
private static java.lang.String[] lambda$11(int);
descriptor: (I)[Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: iload 0
anewarray java.lang.String
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$14(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 pn Ljava/lang/String;
private static java.lang.String lambda$16(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mc Ljava/lang/String;
}
SourceFile: "ModuleInfoWriter.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Exports = java.lang.module.ModuleDescriptor$Exports of java.lang.module.ModuleDescriptor
public final Modifier = java.lang.module.ModuleDescriptor$Exports$Modifier of java.lang.module.ModuleDescriptor$Exports
public final Modifier = java.lang.module.ModuleDescriptor$Modifier of java.lang.module.ModuleDescriptor
public final Opens = java.lang.module.ModuleDescriptor$Opens of java.lang.module.ModuleDescriptor
public final Modifier = java.lang.module.ModuleDescriptor$Opens$Modifier of java.lang.module.ModuleDescriptor$Opens
public final Provides = java.lang.module.ModuleDescriptor$Provides of java.lang.module.ModuleDescriptor
public final Requires = java.lang.module.ModuleDescriptor$Requires of java.lang.module.ModuleDescriptor
public final Modifier = java.lang.module.ModuleDescriptor$Requires$Modifier of java.lang.module.ModuleDescriptor$Requires