final class java.lang.module.Resolver
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.lang.module.Resolver
super_class: java.lang.Object
{
private final java.lang.module.ModuleFinder beforeFinder;
descriptor: Ljava/lang/module/ModuleFinder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<java.lang.module.Configuration> parents;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/module/Configuration;>;
private final java.lang.module.ModuleFinder afterFinder;
descriptor: Ljava/lang/module/ModuleFinder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.PrintStream traceOutput;
descriptor: Ljava/io/PrintStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, java.lang.module.ModuleReference> nameToReference;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/module/ModuleReference;>;
private boolean haveAllAutomaticModules;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String targetPlatform;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<java.lang.module.ModuleDescriptor> visited;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljava/lang/module/ModuleDescriptor;>;
private java.util.Set<java.lang.module.ModuleDescriptor> visitPath;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljava/lang/module/ModuleDescriptor;>;
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 Ljava/lang/module/Resolver;
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 java.lang.module.Resolver.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
java.lang.String targetPlatform();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.module.Resolver.targetPlatform:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/module/Resolver;
void <init>(java.lang.module.ModuleFinder, java.util.List<java.lang.module.Configuration>, java.lang.module.ModuleFinder, java.io.PrintStream);
descriptor: (Ljava/lang/module/ModuleFinder;Ljava/util/List;Ljava/lang/module/ModuleFinder;Ljava/io/PrintStream;)V
flags: (0x0000)
Code:
stack=3, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
2: aload 0
aload 1
putfield java.lang.module.Resolver.beforeFinder:Ljava/lang/module/ModuleFinder;
3: aload 0
aload 2
putfield java.lang.module.Resolver.parents:Ljava/util/List;
4: aload 0
aload 3
putfield java.lang.module.Resolver.afterFinder:Ljava/lang/module/ModuleFinder;
5: aload 0
aload 4
putfield java.lang.module.Resolver.traceOutput:Ljava/io/PrintStream;
6: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 18
StackMap locals: java.lang.module.Resolver java.lang.module.ModuleFinder java.util.List java.lang.module.ModuleFinder java.io.PrintStream top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.Configuration
astore 5
start local 5 8: aload 5
invokevirtual java.lang.module.Configuration.targetPlatform:()Ljava/lang/String;
astore 7
start local 7 9: aload 7
ifnull 18
10: aload 0
getfield java.lang.module.Resolver.targetPlatform:Ljava/lang/String;
ifnonnull 13
11: aload 0
aload 7
putfield java.lang.module.Resolver.targetPlatform:Ljava/lang/String;
12: goto 18
13: StackMap locals: java.lang.module.Resolver java.lang.module.ModuleFinder java.util.List java.lang.module.ModuleFinder java.io.PrintStream java.lang.module.Configuration java.util.Iterator java.lang.String
StackMap stack:
aload 7
aload 0
getfield java.lang.module.Resolver.targetPlatform:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
14: new java.lang.StringBuilder
dup
ldc "Parents have conflicting constraints on target platform: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: aload 0
getfield java.lang.module.Resolver.targetPlatform:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
start local 8 17: new java.lang.IllegalArgumentException
dup
aload 8
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 end local 5 18: StackMap locals: java.lang.module.Resolver java.lang.module.ModuleFinder java.util.List java.lang.module.ModuleFinder java.io.PrintStream top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
19: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/lang/module/Resolver;
0 20 1 beforeFinder Ljava/lang/module/ModuleFinder;
0 20 2 parents Ljava/util/List<Ljava/lang/module/Configuration;>;
0 20 3 afterFinder Ljava/lang/module/ModuleFinder;
0 20 4 traceOutput Ljava/io/PrintStream;
8 18 5 parent Ljava/lang/module/Configuration;
9 18 7 value Ljava/lang/String;
17 18 8 msg Ljava/lang/String;
Signature: (Ljava/lang/module/ModuleFinder;Ljava/util/List<Ljava/lang/module/Configuration;>;Ljava/lang/module/ModuleFinder;Ljava/io/PrintStream;)V
MethodParameters:
Name Flags
beforeFinder
parents
afterFinder
traceOutput
java.lang.module.Resolver resolve(java.util.Collection<java.lang.String>);
descriptor: (Ljava/util/Collection;)Ljava/lang/module/Resolver;
flags: (0x0000)
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 14
StackMap locals: java.lang.module.Resolver java.util.Collection java.util.Deque top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aload 0
aload 3
invokevirtual java.lang.module.Resolver.findWithBeforeFinder:(Ljava/lang/String;)Ljava/lang/module/ModuleReference;
astore 5
start local 5 4: aload 5
ifnonnull 10
5: aload 0
aload 3
invokevirtual java.lang.module.Resolver.findInParent:(Ljava/lang/String;)Ljava/lang/module/ResolvedModule;
ifnull 7
6: goto 14
7: StackMap locals: java.lang.module.Resolver java.util.Collection java.util.Deque java.lang.String java.util.Iterator java.lang.module.ModuleReference
StackMap stack:
aload 0
aload 3
invokevirtual java.lang.module.Resolver.findWithAfterFinder:(Ljava/lang/String;)Ljava/lang/module/ModuleReference;
astore 5
8: aload 5
ifnonnull 10
9: ldc "Module %s not found"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic java.lang.module.Resolver.findFail:(Ljava/lang/String;[Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.module.Resolver.isTracing:()Z
ifeq 12
11: aload 0
ldc "root %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 5
invokevirtual java.lang.module.Resolver.nameAndInfo:(Ljava/lang/module/ModuleReference;)Ljava/lang/String;
aastore
invokevirtual java.lang.module.Resolver.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual java.lang.module.Resolver.addFoundModule:(Ljava/lang/module/ModuleReference;)V
13: aload 2
aload 5
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
end local 5 end local 3 14: StackMap locals: java.lang.module.Resolver java.util.Collection java.util.Deque top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
15: aload 0
aload 2
invokevirtual java.lang.module.Resolver.resolve:(Ljava/util/Deque;)Ljava/util/Set;
pop
16: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/lang/module/Resolver;
0 17 1 roots Ljava/util/Collection<Ljava/lang/String;>;
1 17 2 q Ljava/util/Deque<Ljava/lang/module/ModuleDescriptor;>;
3 14 3 root Ljava/lang/String;
4 14 5 mref Ljava/lang/module/ModuleReference;
Signature: (Ljava/util/Collection<Ljava/lang/String;>;)Ljava/lang/module/Resolver;
MethodParameters:
Name Flags
roots
private java.util.Set<java.lang.module.ModuleDescriptor> resolve(java.util.Deque<java.lang.module.ModuleDescriptor>);
descriptor: (Ljava/util/Deque;)Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 1: goto 28
2: StackMap locals: java.util.Set
StackMap stack:
aload 1
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor
astore 3
start local 3 3: getstatic java.lang.module.Resolver.$assertionsDisabled:Z
ifne 4
aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
aload 3
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: java.lang.module.ModuleDescriptor
StackMap stack:
aload 3
invokevirtual java.lang.module.ModuleDescriptor.isAutomatic:()Z
ifeq 7
aload 0
getfield java.lang.module.Resolver.haveAllAutomaticModules:Z
ifne 7
5: aload 0
invokevirtual java.lang.module.Resolver.addFoundAutomaticModules:()Ljava/util/Set;
aload 0
aload 1
aload 3
invokedynamic accept(Ljava/lang/module/Resolver;Ljava/util/Deque;Ljava/lang/module/ModuleDescriptor;)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
java/lang/module/Resolver.lambda$0(Ljava/util/Deque;Ljava/lang/module/ModuleDescriptor;Ljava/lang/module/ModuleReference;)V (7)
(Ljava/lang/module/ModuleReference;)V
invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
6: aload 0
iconst_1
putfield java.lang.module.Resolver.haveAllAutomaticModules:Z
7: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 26
StackMap locals: java.lang.module.Resolver java.util.Deque java.util.Set java.lang.module.ModuleDescriptor top java.util.Iterator
StackMap stack:
8: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Requires
astore 4
start local 4 9: aload 4
invokevirtual java.lang.module.ModuleDescriptor$Requires.modifiers:()Ljava/util/Set;
getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.STATIC:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 11
10: goto 26
11: StackMap locals: java.lang.module.Resolver java.util.Deque java.util.Set java.lang.module.ModuleDescriptor java.lang.module.ModuleDescriptor$Requires java.util.Iterator
StackMap stack:
aload 4
invokevirtual java.lang.module.ModuleDescriptor$Requires.name:()Ljava/lang/String;
astore 6
start local 6 12: aload 0
aload 6
invokevirtual java.lang.module.Resolver.findWithBeforeFinder:(Ljava/lang/String;)Ljava/lang/module/ModuleReference;
astore 7
start local 7 13: aload 7
ifnonnull 21
14: aload 0
aload 6
invokevirtual java.lang.module.Resolver.findInParent:(Ljava/lang/String;)Ljava/lang/module/ResolvedModule;
ifnull 16
15: goto 26
16: StackMap locals: java.lang.String java.lang.module.ModuleReference
StackMap stack:
aload 0
aload 6
invokevirtual java.lang.module.Resolver.findWithAfterFinder:(Ljava/lang/String;)Ljava/lang/module/ModuleReference;
astore 7
17: aload 7
ifnonnull 21
18: ldc "Module %s not found, required by %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
19: aload 6
aastore
dup
iconst_1
aload 3
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
20: invokestatic java.lang.module.Resolver.findFail:(Ljava/lang/String;[Ljava/lang/Object;)V
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.module.Resolver.isTracing:()Z
ifeq 23
aload 6
ldc "java.base"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 23
22: aload 0
ldc "%s requires %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
aload 7
invokevirtual java.lang.module.Resolver.nameAndInfo:(Ljava/lang/module/ModuleReference;)Ljava/lang/String;
aastore
invokevirtual java.lang.module.Resolver.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
23: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
aload 6
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 26
24: aload 0
aload 7
invokevirtual java.lang.module.Resolver.addFoundModule:(Ljava/lang/module/ModuleReference;)V
25: aload 1
aload 7
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokeinterface java.util.Deque.offer:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 4 26: StackMap locals: java.lang.module.Resolver java.util.Deque java.util.Set java.lang.module.ModuleDescriptor top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
27: aload 2
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 28: StackMap locals: java.lang.module.Resolver java.util.Deque java.util.Set
StackMap stack:
aload 1
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 2
29: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Ljava/lang/module/Resolver;
0 30 1 q Ljava/util/Deque<Ljava/lang/module/ModuleDescriptor;>;
1 30 2 resolved Ljava/util/Set<Ljava/lang/module/ModuleDescriptor;>;
3 28 3 descriptor Ljava/lang/module/ModuleDescriptor;
9 26 4 requires Ljava/lang/module/ModuleDescriptor$Requires;
12 26 6 dn Ljava/lang/String;
13 26 7 mref Ljava/lang/module/ModuleReference;
Signature: (Ljava/util/Deque<Ljava/lang/module/ModuleDescriptor;>;)Ljava/util/Set<Ljava/lang/module/ModuleDescriptor;>;
MethodParameters:
Name Flags
q
java.lang.module.Resolver bind();
descriptor: ()Ljava/lang/module/Resolver;
flags: (0x0000)
Code:
stack=7, locals=15, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual java.lang.module.Resolver.findAll:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 14
StackMap locals: java.lang.module.Resolver java.util.Map top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 2
start local 2 3: aload 2
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 4
start local 4 4: aload 4
invokevirtual java.lang.module.ModuleDescriptor.provides:()Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifne 14
5: aload 4
invokevirtual java.lang.module.ModuleDescriptor.provides:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 13
StackMap locals: java.lang.module.Resolver java.util.Map java.lang.module.ModuleReference java.util.Iterator java.lang.module.ModuleDescriptor top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Provides
astore 5
start local 5 7: aload 5
invokevirtual java.lang.module.ModuleDescriptor$Provides.service:()Ljava/lang/String;
astore 7
start local 7 8: aload 1
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 8
start local 8 9: aload 8
ifnonnull 12
10: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 8
11: aload 1
aload 7
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: StackMap locals: java.lang.module.Resolver java.util.Map java.lang.module.ModuleReference java.util.Iterator java.lang.module.ModuleDescriptor java.lang.module.ModuleDescriptor$Provides java.util.Iterator java.lang.String java.util.Set
StackMap stack:
aload 8
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 5 13: StackMap locals: java.lang.module.Resolver java.util.Map java.lang.module.ModuleReference java.util.Iterator java.lang.module.ModuleDescriptor top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 4 end local 2 14: StackMap locals: java.lang.module.Resolver java.util.Map top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
15: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 2
start local 2 16: invokestatic java.lang.ModuleLayer.boot:()Ljava/lang/ModuleLayer;
ifnonnull 19
17: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 18: goto 25
end local 3 19: StackMap locals: java.lang.module.Resolver java.util.Map java.util.Deque
StackMap stack:
aload 0
getfield java.lang.module.Resolver.parents:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
20: 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/Configuration.configurations()Ljava/util/stream/Stream; (5)
(Ljava/lang/module/Configuration;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
21: invokeinterface java.util.stream.Stream.distinct:()Ljava/util/stream/Stream;
22: 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/Resolver.lambda$2(Ljava/lang/module/Configuration;)Ljava/util/stream/Stream; (6)
(Ljava/lang/module/Configuration;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
23: invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Set
24: astore 3
start local 3 25: StackMap locals: java.util.Set
StackMap stack:
aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 28
StackMap locals: java.lang.module.Resolver java.util.Map java.util.Deque java.util.Set top java.util.Iterator
StackMap stack:
26: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 4
start local 4 27: aload 3
aload 4
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 4 28: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
29: aload 3
astore 4
start local 4 30: StackMap locals: java.lang.module.Resolver java.util.Map java.util.Deque java.util.Set java.util.Set
StackMap stack:
aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 54
StackMap locals: java.lang.module.Resolver java.util.Map java.util.Deque java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
31: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor
astore 5
start local 5 32: aload 5
invokevirtual java.lang.module.ModuleDescriptor.uses:()Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifne 54
33: aconst_null
astore 7
start local 7 34: aload 0
invokevirtual java.lang.module.Resolver.isTracing:()Z
ifeq 36
35: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 7
36: StackMap locals: java.lang.module.Resolver java.util.Map java.util.Deque java.util.Set java.util.Set java.lang.module.ModuleDescriptor java.util.Iterator java.util.Set
StackMap stack:
aload 5
invokevirtual java.lang.module.ModuleDescriptor.uses:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 53
StackMap locals: java.lang.module.Resolver java.util.Map java.util.Deque java.util.Set java.util.Set java.lang.module.ModuleDescriptor java.util.Iterator java.util.Set top java.util.Iterator
StackMap stack:
37: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 38: aload 1
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 10
start local 10 39: aload 10
ifnull 53
40: aload 10
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 52
StackMap locals: java.lang.module.Resolver java.util.Map java.util.Deque java.util.Set java.util.Set java.lang.module.ModuleDescriptor java.util.Iterator java.util.Set java.lang.String java.util.Iterator java.util.Set top java.util.Iterator
StackMap stack:
41: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 11
start local 11 42: aload 11
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 13
start local 13 43: aload 13
aload 5
invokevirtual java.lang.module.ModuleDescriptor.equals:(Ljava/lang/Object;)Z
ifne 52
44: aload 0
invokevirtual java.lang.module.Resolver.isTracing:()Z
ifeq 48
aload 7
aload 13
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 48
45: aload 0
ldc "%s binds %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 5
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
dup
iconst_1
46: aload 0
aload 11
invokevirtual java.lang.module.Resolver.nameAndInfo:(Ljava/lang/module/ModuleReference;)Ljava/lang/String;
aastore
47: invokevirtual java.lang.module.Resolver.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
48: StackMap locals: java.lang.module.Resolver java.util.Map java.util.Deque java.util.Set java.util.Set java.lang.module.ModuleDescriptor java.util.Iterator java.util.Set java.lang.String java.util.Iterator java.util.Set java.lang.module.ModuleReference java.util.Iterator java.lang.module.ModuleDescriptor
StackMap stack:
aload 13
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 14
start local 14 49: aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
aload 14
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 52
50: aload 0
aload 11
invokevirtual java.lang.module.Resolver.addFoundModule:(Ljava/lang/module/ModuleReference;)V
51: aload 2
aload 13
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
end local 14 end local 13 end local 11 52: StackMap locals: java.lang.module.Resolver java.util.Map java.util.Deque java.util.Set java.util.Set java.lang.module.ModuleDescriptor java.util.Iterator java.util.Set java.lang.String java.util.Iterator java.util.Set top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 41
end local 10 end local 8 53: StackMap locals: java.lang.module.Resolver java.util.Map java.util.Deque java.util.Set java.util.Set java.lang.module.ModuleDescriptor java.util.Iterator java.util.Set top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 37
end local 7 end local 5 54: StackMap locals: java.lang.module.Resolver java.util.Map java.util.Deque java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
55: aload 0
aload 2
invokevirtual java.lang.module.Resolver.resolve:(Ljava/util/Deque;)Ljava/util/Set;
astore 4
56: aload 4
invokeinterface java.util.Set.isEmpty:()Z
ifeq 30
57: aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Ljava/lang/module/Resolver;
1 58 1 availableProviders Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/module/ModuleReference;>;>;
3 14 2 mref Ljava/lang/module/ModuleReference;
4 14 4 descriptor Ljava/lang/module/ModuleDescriptor;
7 13 5 provides Ljava/lang/module/ModuleDescriptor$Provides;
8 13 7 sn Ljava/lang/String;
9 13 8 providers Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
16 58 2 q Ljava/util/Deque<Ljava/lang/module/ModuleDescriptor;>;
18 19 3 initialConsumers Ljava/util/Set<Ljava/lang/module/ModuleDescriptor;>;
25 58 3 initialConsumers Ljava/util/Set<Ljava/lang/module/ModuleDescriptor;>;
27 28 4 mref Ljava/lang/module/ModuleReference;
30 58 4 candidateConsumers Ljava/util/Set<Ljava/lang/module/ModuleDescriptor;>;
32 54 5 descriptor Ljava/lang/module/ModuleDescriptor;
34 54 7 modulesToBind Ljava/util/Set<Ljava/lang/module/ModuleDescriptor;>;
38 53 8 service Ljava/lang/String;
39 53 10 mrefs Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
42 52 11 mref Ljava/lang/module/ModuleReference;
43 52 13 provider Ljava/lang/module/ModuleDescriptor;
49 52 14 pn Ljava/lang/String;
private java.util.Set<java.lang.module.ModuleReference> addFoundAutomaticModules();
descriptor: ()Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual java.lang.module.Resolver.findAll:()Ljava/util/Set;
aload 0
aload 1
invokedynamic accept(Ljava/lang/module/Resolver;Ljava/util/Set;)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
java/lang/module/Resolver.lambda$3(Ljava/util/Set;Ljava/lang/module/ModuleReference;)V (7)
(Ljava/lang/module/ModuleReference;)V
invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/module/Resolver;
1 3 1 result Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
Signature: ()Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
private void addFoundModule(java.lang.module.ModuleReference);
descriptor: (Ljava/lang/module/ModuleReference;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
instanceof jdk.internal.module.ModuleReferenceImpl
ifeq 5
2: aload 1
checkcast jdk.internal.module.ModuleReferenceImpl
invokevirtual jdk.internal.module.ModuleReferenceImpl.moduleTarget:()Ljdk/internal/module/ModuleTarget;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 0
aload 2
aload 3
invokevirtual java.lang.module.Resolver.checkTargetPlatform:(Ljava/lang/String;Ljdk/internal/module/ModuleTarget;)V
end local 3 5: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
aload 2
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/module/Resolver;
0 7 1 mref Ljava/lang/module/ModuleReference;
1 7 2 mn Ljava/lang/String;
3 5 3 target Ljdk/internal/module/ModuleTarget;
MethodParameters:
Name Flags
mref
private void checkTargetPlatform(java.lang.String, jdk.internal.module.ModuleTarget);
descriptor: (Ljava/lang/String;Ljdk/internal/module/ModuleTarget;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual jdk.internal.module.ModuleTarget.targetPlatform:()Ljava/lang/String;
astore 3
start local 3 1: aload 3
ifnull 10
2: aload 0
getfield java.lang.module.Resolver.targetPlatform:Ljava/lang/String;
ifnonnull 5
3: aload 0
aload 3
putfield java.lang.module.Resolver.targetPlatform:Ljava/lang/String;
4: goto 10
5: StackMap locals: java.lang.String
StackMap stack:
aload 3
aload 0
getfield java.lang.module.Resolver.targetPlatform:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
6: ldc "Module %s has constraints on target platform (%s) that conflict with other modules: %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
7: aload 1
aastore
dup
iconst_1
8: aload 3
aastore
dup
iconst_2
aload 0
getfield java.lang.module.Resolver.targetPlatform:Ljava/lang/String;
aastore
9: invokestatic java.lang.module.Resolver.findFail:(Ljava/lang/String;[Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/lang/module/Resolver;
0 11 1 mn Ljava/lang/String;
0 11 2 target Ljdk/internal/module/ModuleTarget;
1 11 3 value Ljava/lang/String;
MethodParameters:
Name Flags
mn
target
java.util.Map<java.lang.module.ResolvedModule, java.util.Set<java.lang.module.ResolvedModule>> finish(java.lang.module.Configuration);
descriptor: (Ljava/lang/module/Configuration;)Ljava/util/Map;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.module.Resolver.detectCycles:()V
1: aload 0
invokevirtual java.lang.module.Resolver.checkHashes:()V
2: aload 0
aload 1
invokevirtual java.lang.module.Resolver.makeGraph:(Ljava/lang/module/Configuration;)Ljava/util/Map;
astore 2
start local 2 3: aload 0
aload 2
invokevirtual java.lang.module.Resolver.checkExportSuppliers:(Ljava/util/Map;)V
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/module/Resolver;
0 5 1 cf Ljava/lang/module/Configuration;
3 5 2 graph Ljava/util/Map<Ljava/lang/module/ResolvedModule;Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;>;
Signature: (Ljava/lang/module/Configuration;)Ljava/util/Map<Ljava/lang/module/ResolvedModule;Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;>;
MethodParameters:
Name Flags
cf
private void detectCycles();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield java.lang.module.Resolver.visited:Ljava/util/Set;
1: aload 0
new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
putfield java.lang.module.Resolver.visitPath:Ljava/util/Set;
2: aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: java.lang.module.Resolver top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 1
start local 1 4: aload 0
aload 1
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.Resolver.visit:(Ljava/lang/module/ModuleDescriptor;)V
end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 0
getfield java.lang.module.Resolver.visited:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/module/Resolver;
4 5 1 mref Ljava/lang/module/ModuleReference;
private void visit(java.lang.module.ModuleDescriptor);
descriptor: (Ljava/lang/module/ModuleDescriptor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.module.Resolver.visited:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 15
1: aload 0
getfield java.lang.module.Resolver.visitPath:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
istore 2
start local 2 2: iload 2
ifne 4
3: ldc "Cycle detected: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 1
invokevirtual java.lang.module.Resolver.cycleAsString:(Ljava/lang/module/ModuleDescriptor;)Ljava/lang/String;
aastore
invokestatic java.lang.module.Resolver.resolveFail:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: java.lang.module.Resolver java.lang.module.ModuleDescriptor int top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Requires
astore 3
start local 3 6: aload 3
invokevirtual java.lang.module.ModuleDescriptor$Requires.name:()Ljava/lang/String;
astore 5
start local 5 7: aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 6
start local 6 8: aload 6
ifnull 12
9: aload 6
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 7
start local 7 10: aload 7
aload 1
if_acmpeq 12
11: aload 0
aload 7
invokevirtual java.lang.module.Resolver.visit:(Ljava/lang/module/ModuleDescriptor;)V
end local 7 end local 6 end local 5 end local 3 12: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: aload 0
getfield java.lang.module.Resolver.visitPath:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
14: aload 0
getfield java.lang.module.Resolver.visited:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 2 15: StackMap locals: java.lang.module.Resolver java.lang.module.ModuleDescriptor
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/lang/module/Resolver;
0 16 1 descriptor Ljava/lang/module/ModuleDescriptor;
2 15 2 added Z
6 12 3 requires Ljava/lang/module/ModuleDescriptor$Requires;
7 12 5 dn Ljava/lang/String;
8 12 6 mref Ljava/lang/module/ModuleReference;
10 12 7 other Ljava/lang/module/ModuleDescriptor;
MethodParameters:
Name Flags
descriptor
private java.lang.String cycleAsString(java.lang.module.ModuleDescriptor);
descriptor: (Ljava/lang/module/ModuleDescriptor;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 0
getfield java.lang.module.Resolver.visitPath:Ljava/util/Set;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 1: aload 2
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 2
aload 1
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 3
start local 3 3: aload 2
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
4: iload 3
i2l
invokeinterface java.util.stream.Stream.skip:(J)Ljava/util/stream/Stream;
5: 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.name()Ljava/lang/String; (5)
(Ljava/lang/module/ModuleDescriptor;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
6: ldc " -> "
invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.lang.String
7: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/module/Resolver;
0 8 1 descriptor Ljava/lang/module/ModuleDescriptor;
1 8 2 list Ljava/util/List<Ljava/lang/module/ModuleDescriptor;>;
3 8 3 index I
MethodParameters:
Name Flags
descriptor
private void checkHashes();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=1
start local 0 0: aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 32
StackMap locals: java.lang.module.Resolver top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 1
start local 1 2: aload 1
instanceof jdk.internal.module.ModuleReferenceImpl
ifne 4
3: goto 32
4: StackMap locals: java.lang.module.Resolver java.lang.module.ModuleReference java.util.Iterator
StackMap stack:
aload 1
checkcast jdk.internal.module.ModuleReferenceImpl
invokevirtual jdk.internal.module.ModuleReferenceImpl.recordedHashes:()Ljdk/internal/module/ModuleHashes;
astore 3
start local 3 5: aload 3
ifnonnull 7
6: goto 32
7: StackMap locals: jdk.internal.module.ModuleHashes
StackMap stack:
aload 1
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 4
start local 4 8: aload 3
invokevirtual jdk.internal.module.ModuleHashes.algorithm:()Ljava/lang/String;
astore 5
start local 5 9: aload 3
invokevirtual jdk.internal.module.ModuleHashes.names:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 31
StackMap locals: java.lang.module.Resolver java.lang.module.ModuleReference java.util.Iterator jdk.internal.module.ModuleHashes java.lang.module.ModuleDescriptor java.lang.String top java.util.Iterator
StackMap stack:
10: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 11: aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 8
start local 8 12: aload 8
ifnonnull 16
13: aload 0
aload 6
invokevirtual java.lang.module.Resolver.findInParent:(Ljava/lang/String;)Ljava/lang/module/ResolvedModule;
astore 9
start local 9 14: aload 9
ifnull 16
15: aload 9
invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
astore 8
end local 9 16: StackMap locals: java.lang.module.Resolver java.lang.module.ModuleReference java.util.Iterator jdk.internal.module.ModuleHashes java.lang.module.ModuleDescriptor java.lang.String java.lang.String java.util.Iterator java.lang.module.ModuleReference
StackMap stack:
aload 8
ifnonnull 18
17: goto 31
18: StackMap locals:
StackMap stack:
aload 8
instanceof jdk.internal.module.ModuleReferenceImpl
ifne 20
19: ldc "Unable to compute the hash of module %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
invokestatic java.lang.module.Resolver.findFail:(Ljava/lang/String;[Ljava/lang/Object;)V
20: StackMap locals:
StackMap stack:
aload 8
checkcast jdk.internal.module.ModuleReferenceImpl
astore 9
start local 9 21: aload 9
ifnull 31
22: aload 3
aload 6
invokevirtual jdk.internal.module.ModuleHashes.hashFor:(Ljava/lang/String;)[B
astore 10
start local 10 23: aload 9
aload 5
invokevirtual jdk.internal.module.ModuleReferenceImpl.computeHash:(Ljava/lang/String;)[B
astore 11
start local 11 24: aload 11
ifnonnull 26
25: ldc "Unable to compute the hash of module %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
invokestatic java.lang.module.Resolver.findFail:(Ljava/lang/String;[Ljava/lang/Object;)V
26: StackMap locals: jdk.internal.module.ModuleReferenceImpl byte[] byte[]
StackMap stack:
aload 10
aload 11
invokestatic java.util.Arrays.equals:([B[B)Z
ifne 31
27: ldc "Hash of %s (%s) differs to expected hash (%s) recorded in %s"
iconst_4
anewarray java.lang.Object
dup
iconst_0
28: aload 6
aastore
dup
iconst_1
aload 11
invokestatic java.lang.module.Resolver.toHexString:([B)Ljava/lang/String;
aastore
dup
iconst_2
29: aload 10
invokestatic java.lang.module.Resolver.toHexString:([B)Ljava/lang/String;
aastore
dup
iconst_3
aload 4
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
30: invokestatic java.lang.module.Resolver.findFail:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 11 end local 10 end local 9 end local 8 end local 6 31: StackMap locals: java.lang.module.Resolver java.lang.module.ModuleReference java.util.Iterator jdk.internal.module.ModuleHashes java.lang.module.ModuleDescriptor java.lang.String top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 5 end local 4 end local 3 end local 1 32: StackMap locals: java.lang.module.Resolver top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
33: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Ljava/lang/module/Resolver;
2 32 1 mref Ljava/lang/module/ModuleReference;
5 32 3 hashes Ljdk/internal/module/ModuleHashes;
8 32 4 descriptor Ljava/lang/module/ModuleDescriptor;
9 32 5 algorithm Ljava/lang/String;
11 31 6 dn Ljava/lang/String;
12 31 8 mref2 Ljava/lang/module/ModuleReference;
14 16 9 resolvedModule Ljava/lang/module/ResolvedModule;
21 31 9 other Ljdk/internal/module/ModuleReferenceImpl;
23 31 10 recordedHash [B
24 31 11 actualHash [B
private static java.lang.String toHexString(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=6, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
arraylength
iconst_2
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 1: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: byte[] java.lang.StringBuilder top int int byte[]
StackMap stack:
2: aload 5
iload 3
baload
istore 2
start local 2 3: aload 1
ldc "%02x"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 2
sipush 255
iand
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 ba [B
1 7 1 sb Ljava/lang/StringBuilder;
3 4 2 b B
MethodParameters:
Name Flags
ba
private java.util.Map<java.lang.module.ResolvedModule, java.util.Set<java.lang.module.ResolvedModule>> makeGraph(java.lang.module.Configuration);
descriptor: (Ljava/lang/module/Configuration;)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=18, args_size=2
start local 0 start local 1 0: iconst_1
iconst_4
aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
imul
iconst_3
idiv
iadd
istore 2
start local 2 1: new java.util.HashMap
dup
iload 2
invokespecial java.util.HashMap.<init>:(I)V
astore 3
start local 3 2: invokestatic java.lang.ModuleLayer.boot:()Ljava/lang/ModuleLayer;
ifnonnull 5
3: new java.util.HashMap
dup
iload 2
invokespecial java.util.HashMap.<init>:(I)V
astore 4
start local 4 4: goto 14
end local 4 5: StackMap locals: int java.util.Map
StackMap stack:
aload 0
getfield java.lang.module.Resolver.parents:Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
6: 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/Configuration.configurations()Ljava/util/stream/Stream; (5)
(Ljava/lang/module/Configuration;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
7: invokeinterface java.util.stream.Stream.distinct:()Ljava/util/stream/Stream;
8: 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/Resolver.lambda$6(Ljava/lang/module/Configuration;)Ljava/util/stream/Stream; (6)
(Ljava/lang/module/Configuration;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
9: 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/util/Map$Entry.getKey()Ljava/lang/Object; (9 itf)
(Ljava/util/Map$Entry;)Ljava/lang/module/ResolvedModule;
10: invokedynamic get()Ljava/util/function/Supplier;
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;
java/util/HashMap.<init>()V (8)
()Ljava/util/HashMap;
11: 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/util/Map$Entry.getValue()Ljava/lang/Object; (9 itf)
(Ljava/util/Map$Entry;)Ljava/lang/module/ResolvedModule;
invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
invokestatic java.util.stream.Collectors.mapping:(Ljava/util/function/Function;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;
12: invokestatic java.util.stream.Collectors.groupingBy:(Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Map
13: astore 4
start local 4 14: StackMap locals: java.util.Map
StackMap stack:
new java.util.HashMap
dup
iload 2
invokespecial java.util.HashMap.<init>:(I)V
astore 5
start local 5 15: aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 58
StackMap locals: java.lang.module.Resolver java.lang.module.Configuration int java.util.Map java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
16: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 6
start local 6 17: aload 6
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 8
start local 8 18: aload 8
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 9
start local 9 19: aload 0
aload 5
aload 9
aload 1
aload 6
invokevirtual java.lang.module.Resolver.computeIfAbsent:(Ljava/util/Map;Ljava/lang/String;Ljava/lang/module/Configuration;Ljava/lang/module/ModuleReference;)Ljava/lang/module/ResolvedModule;
astore 10
start local 10 20: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 11
start local 11 21: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 12
start local 12 22: aload 8
invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 14
goto 36
StackMap locals: java.lang.module.Resolver java.lang.module.Configuration int java.util.Map java.util.Map java.util.Map java.lang.module.ModuleReference java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.lang.module.ResolvedModule java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
23: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Requires
astore 13
start local 13 24: aload 13
invokevirtual java.lang.module.ModuleDescriptor$Requires.name:()Ljava/lang/String;
astore 15
start local 15 25: aconst_null
astore 16
start local 16 26: aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
aload 15
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 17
start local 17 27: aload 17
ifnull 30
28: aload 0
aload 5
aload 15
aload 1
aload 17
invokevirtual java.lang.module.Resolver.computeIfAbsent:(Ljava/util/Map;Ljava/lang/String;Ljava/lang/module/Configuration;Ljava/lang/module/ModuleReference;)Ljava/lang/module/ResolvedModule;
astore 16
29: goto 33
30: StackMap locals: java.lang.module.Resolver java.lang.module.Configuration int java.util.Map java.util.Map java.util.Map java.lang.module.ModuleReference java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.lang.module.ResolvedModule java.util.Set java.util.Set java.lang.module.ModuleDescriptor$Requires java.util.Iterator java.lang.String java.lang.module.ResolvedModule java.lang.module.ModuleReference
StackMap stack:
aload 0
aload 15
invokevirtual java.lang.module.Resolver.findInParent:(Ljava/lang/String;)Ljava/lang/module/ResolvedModule;
astore 16
31: aload 16
ifnonnull 33
32: getstatic java.lang.module.Resolver.$assertionsDisabled:Z
ifne 36
aload 13
invokevirtual java.lang.module.ModuleDescriptor$Requires.modifiers:()Ljava/util/Set;
getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.STATIC:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 36
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals:
StackMap stack:
aload 11
aload 16
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
34: aload 13
invokevirtual java.lang.module.ModuleDescriptor$Requires.modifiers:()Ljava/util/Set;
getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.TRANSITIVE:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 36
35: aload 12
aload 16
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 17 end local 16 end local 15 end local 13 36: StackMap locals: java.lang.module.Resolver java.lang.module.Configuration int java.util.Map java.util.Map java.util.Map java.lang.module.ModuleReference java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.lang.module.ResolvedModule java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
37: aload 8
invokevirtual java.lang.module.ModuleDescriptor.isAutomatic:()Z
ifeq 56
38: aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 14
goto 48
StackMap locals:
StackMap stack:
39: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 13
start local 13 40: aload 13
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 15
start local 15 41: aload 15
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 16
start local 16 42: aload 9
aload 16
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 48
43: aload 0
aload 5
aload 16
aload 1
aload 13
invokevirtual java.lang.module.Resolver.computeIfAbsent:(Ljava/util/Map;Ljava/lang/String;Ljava/lang/module/Configuration;Ljava/lang/module/ModuleReference;)Ljava/lang/module/ResolvedModule;
44: astore 17
start local 17 45: aload 11
aload 17
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
46: aload 15
invokevirtual java.lang.module.ModuleDescriptor.isAutomatic:()Z
ifeq 48
47: aload 12
aload 17
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 17 end local 16 end local 15 end local 13 48: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 39
49: aload 0
getfield java.lang.module.Resolver.parents:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 55
StackMap locals:
StackMap stack:
50: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.Configuration
astore 13
start local 13 51: aload 13
invokevirtual java.lang.module.Configuration.configurations:()Ljava/util/stream/Stream;
52: 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/Configuration.modules()Ljava/util/Set; (5)
(Ljava/lang/module/Configuration;)Ljava/util/Set;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
53: 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/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
(Ljava/util/Set;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
54: aload 11
aload 12
invokedynamic accept(Ljava/util/Set;Ljava/util/Set;)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
java/lang/module/Resolver.lambda$16(Ljava/util/Set;Ljava/util/Set;Ljava/lang/module/ResolvedModule;)V (6)
(Ljava/lang/module/ResolvedModule;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
end local 13 55: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 50
56: StackMap locals: java.lang.module.Resolver java.lang.module.Configuration int java.util.Map java.util.Map java.util.Map java.lang.module.ModuleReference java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.lang.module.ResolvedModule java.util.Set java.util.Set
StackMap stack:
aload 3
aload 10
aload 11
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
57: aload 4
aload 10
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 12 end local 11 end local 10 end local 9 end local 8 end local 6 58: StackMap locals: java.lang.module.Resolver java.lang.module.Configuration int java.util.Map java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
59: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 60: StackMap locals: java.lang.module.Resolver java.lang.module.Configuration int java.util.Map java.util.Map java.util.Map top java.util.List
StackMap stack:
iconst_0
istore 6
start local 6 61: aload 3
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 77
StackMap locals: java.lang.module.Resolver java.lang.module.Configuration int java.util.Map java.util.Map java.util.Map int java.util.List top java.util.Iterator
StackMap stack:
62: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Set
astore 8
start local 8 63: aload 8
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 72
StackMap locals: java.lang.module.Resolver java.lang.module.Configuration int java.util.Map java.util.Map java.util.Map int java.util.List java.util.Set java.util.Iterator top java.util.Iterator
StackMap stack:
64: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
astore 10
start local 10 65: aload 4
aload 10
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 12
start local 12 66: aload 12
ifnull 72
67: aload 12
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 14
goto 71
StackMap locals: java.lang.module.Resolver java.lang.module.Configuration int java.util.Map java.util.Map java.util.Map int java.util.List java.util.Set java.util.Iterator java.lang.module.ResolvedModule java.util.Iterator java.util.Set top java.util.Iterator
StackMap stack:
68: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
astore 13
start local 13 69: aload 8
aload 13
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 71
70: aload 7
aload 13
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 13 71: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 68
end local 12 end local 10 72: StackMap locals: java.lang.module.Resolver java.lang.module.Configuration int java.util.Map java.util.Map java.util.Map int java.util.List java.util.Set java.util.Iterator top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 64
73: aload 7
invokeinterface java.util.List.isEmpty:()Z
ifne 77
74: aload 8
aload 7
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
75: aload 7
invokeinterface java.util.List.clear:()V
76: iconst_1
istore 6
end local 8 77: StackMap locals: java.lang.module.Resolver java.lang.module.Configuration int java.util.Map java.util.Map java.util.Map int java.util.List top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 62
78: iload 6
ifne 60
79: aload 3
areturn
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 80 0 this Ljava/lang/module/Resolver;
0 80 1 cf Ljava/lang/module/Configuration;
1 80 2 capacity I
2 80 3 g1 Ljava/util/Map<Ljava/lang/module/ResolvedModule;Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;>;
4 5 4 g2 Ljava/util/Map<Ljava/lang/module/ResolvedModule;Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;>;
14 80 4 g2 Ljava/util/Map<Ljava/lang/module/ResolvedModule;Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;>;
15 80 5 nameToResolved Ljava/util/Map<Ljava/lang/String;Ljava/lang/module/ResolvedModule;>;
17 58 6 mref Ljava/lang/module/ModuleReference;
18 58 8 descriptor Ljava/lang/module/ModuleDescriptor;
19 58 9 name Ljava/lang/String;
20 58 10 m1 Ljava/lang/module/ResolvedModule;
21 58 11 reads Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;
22 58 12 requiresTransitive Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;
24 36 13 requires Ljava/lang/module/ModuleDescriptor$Requires;
25 36 15 dn Ljava/lang/String;
26 36 16 m2 Ljava/lang/module/ResolvedModule;
27 36 17 mref2 Ljava/lang/module/ModuleReference;
40 48 13 mref2 Ljava/lang/module/ModuleReference;
41 48 15 descriptor2 Ljava/lang/module/ModuleDescriptor;
42 48 16 name2 Ljava/lang/String;
45 48 17 m2 Ljava/lang/module/ResolvedModule;
51 55 13 parent Ljava/lang/module/Configuration;
61 80 6 changed Z
60 80 7 toAdd Ljava/util/List<Ljava/lang/module/ResolvedModule;>;
63 77 8 m1Reads Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;
65 72 10 m2 Ljava/lang/module/ResolvedModule;
66 72 12 m2RequiresTransitive Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;
69 71 13 m3 Ljava/lang/module/ResolvedModule;
Signature: (Ljava/lang/module/Configuration;)Ljava/util/Map<Ljava/lang/module/ResolvedModule;Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;>;
MethodParameters:
Name Flags
cf
private java.lang.module.ResolvedModule computeIfAbsent(java.util.Map<java.lang.String, java.lang.module.ResolvedModule>, java.lang.String, java.lang.module.Configuration, java.lang.module.ModuleReference);
descriptor: (Ljava/util/Map;Ljava/lang/String;Ljava/lang/module/Configuration;Ljava/lang/module/ModuleReference;)Ljava/lang/module/ResolvedModule;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
astore 5
start local 5 1: aload 5
ifnonnull 4
2: new java.lang.module.ResolvedModule
dup
aload 3
aload 4
invokespecial java.lang.module.ResolvedModule.<init>:(Ljava/lang/module/Configuration;Ljava/lang/module/ModuleReference;)V
astore 5
3: aload 1
aload 2
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: java.lang.module.ResolvedModule
StackMap stack:
aload 5
areturn
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 5 0 this Ljava/lang/module/Resolver;
0 5 1 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/module/ResolvedModule;>;
0 5 2 name Ljava/lang/String;
0 5 3 cf Ljava/lang/module/Configuration;
0 5 4 mref Ljava/lang/module/ModuleReference;
1 5 5 m Ljava/lang/module/ResolvedModule;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/module/ResolvedModule;>;Ljava/lang/String;Ljava/lang/module/Configuration;Ljava/lang/module/ModuleReference;)Ljava/lang/module/ResolvedModule;
MethodParameters:
Name Flags
map
name
cf
mref
private void checkExportSuppliers(java.util.Map<java.lang.module.ResolvedModule, java.util.Set<java.lang.module.ResolvedModule>>);
descriptor: (Ljava/util/Map;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=18, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 65
StackMap locals: java.lang.module.Resolver java.util.Map top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 2: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
invokevirtual java.lang.module.ResolvedModule.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 4
start local 4 3: aload 4
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 5
start local 5 4: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 6
start local 6 5: aload 6
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 7
start local 7 7: aload 4
invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
astore 8
start local 8 8: aload 8
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 11
StackMap locals: java.lang.module.Resolver java.util.Map java.util.Map$Entry java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.util.Set java.util.Map java.util.Set top java.util.Iterator
StackMap stack:
9: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 10: aload 7
aload 9
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 11: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Set
astore 9
start local 9 13: aload 9
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 47
StackMap locals: java.lang.module.Resolver java.util.Map java.util.Map$Entry java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.util.Set java.util.Map java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
14: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
astore 10
start local 10 15: aload 10
invokevirtual java.lang.module.ResolvedModule.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 12
start local 12 16: aload 12
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 13
start local 13 17: aload 12
aload 4
if_acmpeq 26
aload 6
aload 13
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifne 26
18: aload 13
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
19: ldc "Module %s reads another module named %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
20: aload 5
aastore
dup
iconst_1
aload 5
aastore
21: invokestatic java.lang.module.Resolver.resolveFail:(Ljava/lang/String;[Ljava/lang/Object;)V
22: goto 26
23: StackMap locals: java.lang.module.Resolver java.util.Map java.util.Map$Entry java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.util.Set java.util.Map java.util.Set java.util.Set java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String
StackMap stack:
ldc "Module %s reads more than one module named %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
24: aload 5
aastore
dup
iconst_1
aload 13
aastore
25: invokestatic java.lang.module.Resolver.resolveFail:(Ljava/lang/String;[Ljava/lang/Object;)V
26: StackMap locals:
StackMap stack:
aload 12
invokevirtual java.lang.module.ModuleDescriptor.isAutomatic:()Z
ifeq 36
27: aload 12
aload 4
if_acmpeq 47
28: aload 12
invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 15
goto 34
StackMap locals: java.lang.module.Resolver java.util.Map java.util.Map$Entry java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.util.Set java.util.Map java.util.Set java.util.Set java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String top java.util.Iterator
StackMap stack:
29: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 14
start local 14 30: aload 7
aload 14
aload 12
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor
31: astore 16
start local 16 32: aload 16
ifnull 34
33: aload 0
aload 4
aload 14
aload 12
aload 16
invokevirtual java.lang.module.Resolver.failTwoSuppliers:(Ljava/lang/module/ModuleDescriptor;Ljava/lang/String;Ljava/lang/module/ModuleDescriptor;Ljava/lang/module/ModuleDescriptor;)V
end local 16 end local 14 34: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
35: goto 47
36: StackMap locals: java.lang.module.Resolver java.util.Map java.util.Map$Entry java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.util.Set java.util.Map java.util.Set java.util.Set java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String
StackMap stack:
aload 12
invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 15
goto 46
StackMap locals: java.lang.module.Resolver java.util.Map java.util.Map$Entry java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.util.Set java.util.Map java.util.Set java.util.Set java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String top java.util.Iterator
StackMap stack:
37: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Exports
astore 14
start local 14 38: aload 14
invokevirtual java.lang.module.ModuleDescriptor$Exports.isQualified:()Z
ifeq 41
39: aload 14
invokevirtual java.lang.module.ModuleDescriptor$Exports.targets:()Ljava/util/Set;
aload 4
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 41
40: goto 46
41: StackMap locals: java.lang.module.Resolver java.util.Map java.util.Map$Entry java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.util.Set java.util.Map java.util.Set java.util.Set java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.lang.module.ModuleDescriptor$Exports java.util.Iterator
StackMap stack:
aload 14
invokevirtual java.lang.module.ModuleDescriptor$Exports.source:()Ljava/lang/String;
astore 16
start local 16 42: aload 7
aload 16
aload 12
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor
43: astore 17
start local 17 44: aload 17
ifnull 46
45: aload 0
aload 4
aload 16
aload 12
aload 17
invokevirtual java.lang.module.Resolver.failTwoSuppliers:(Ljava/lang/module/ModuleDescriptor;Ljava/lang/String;Ljava/lang/module/ModuleDescriptor;Ljava/lang/module/ModuleDescriptor;)V
end local 17 end local 16 end local 14 46: StackMap locals: java.lang.module.Resolver java.util.Map java.util.Map$Entry java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.util.Set java.util.Map java.util.Set java.util.Set java.lang.module.ResolvedModule java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String top java.util.Iterator
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 37
end local 13 end local 12 end local 10 47: StackMap locals: java.lang.module.Resolver java.util.Map java.util.Map$Entry java.util.Iterator java.lang.module.ModuleDescriptor java.lang.String java.util.Set java.util.Map java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
48: aload 4
invokevirtual java.lang.module.ModuleDescriptor.isAutomatic:()Z
ifne 65
49: aload 4
invokevirtual java.lang.module.ModuleDescriptor.uses:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 56
StackMap locals:
StackMap stack:
50: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 51: aload 10
invokestatic java.lang.module.Resolver.packageName:(Ljava/lang/String;)Ljava/lang/String;
astore 12
start local 12 52: aload 7
aload 12
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 56
53: ldc "Module %s does not read a module that exports %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
54: aload 4
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
dup
iconst_1
aload 12
aastore
55: invokestatic java.lang.module.Resolver.resolveFail:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 12 end local 10 56: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 50
57: aload 4
invokevirtual java.lang.module.ModuleDescriptor.provides:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 64
StackMap locals:
StackMap stack:
58: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleDescriptor$Provides
astore 10
start local 10 59: aload 10
invokevirtual java.lang.module.ModuleDescriptor$Provides.service:()Ljava/lang/String;
invokestatic java.lang.module.Resolver.packageName:(Ljava/lang/String;)Ljava/lang/String;
astore 12
start local 12 60: aload 7
aload 12
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 64
61: ldc "Module %s does not read a module that exports %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
62: aload 4
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
dup
iconst_1
aload 12
aastore
63: invokestatic java.lang.module.Resolver.resolveFail:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 12 end local 10 64: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 58
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 65: StackMap locals: java.lang.module.Resolver java.util.Map top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
66: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Ljava/lang/module/Resolver;
0 67 1 graph Ljava/util/Map<Ljava/lang/module/ResolvedModule;Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;>;
2 65 2 e Ljava/util/Map$Entry<Ljava/lang/module/ResolvedModule;Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;>;
3 65 4 descriptor1 Ljava/lang/module/ModuleDescriptor;
4 65 5 name1 Ljava/lang/String;
5 65 6 names Ljava/util/Set<Ljava/lang/String;>;
7 65 7 packageToExporter Ljava/util/Map<Ljava/lang/String;Ljava/lang/module/ModuleDescriptor;>;
8 65 8 packages Ljava/util/Set<Ljava/lang/String;>;
10 11 9 pn Ljava/lang/String;
13 65 9 reads Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;
15 47 10 endpoint Ljava/lang/module/ResolvedModule;
16 47 12 descriptor2 Ljava/lang/module/ModuleDescriptor;
17 47 13 name2 Ljava/lang/String;
30 34 14 source Ljava/lang/String;
32 34 16 supplier Ljava/lang/module/ModuleDescriptor;
38 46 14 export Ljava/lang/module/ModuleDescriptor$Exports;
42 46 16 source Ljava/lang/String;
44 46 17 supplier Ljava/lang/module/ModuleDescriptor;
51 56 10 service Ljava/lang/String;
52 56 12 pn Ljava/lang/String;
59 64 10 provides Ljava/lang/module/ModuleDescriptor$Provides;
60 64 12 pn Ljava/lang/String;
Signature: (Ljava/util/Map<Ljava/lang/module/ResolvedModule;Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;>;)V
MethodParameters:
Name Flags
graph
private void failTwoSuppliers(java.lang.module.ModuleDescriptor, java.lang.String, java.lang.module.ModuleDescriptor, java.lang.module.ModuleDescriptor);
descriptor: (Ljava/lang/module/ModuleDescriptor;Ljava/lang/String;Ljava/lang/module/ModuleDescriptor;Ljava/lang/module/ModuleDescriptor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
aload 1
if_acmpne 4
1: aload 3
astore 5
start local 5 2: aload 4
astore 3
3: aload 5
astore 4
end local 5 4: StackMap locals:
StackMap stack:
aload 3
aload 1
if_acmpne 13
5: ldc "Module %s contains package %s, module %s exports package %s to %s"
iconst_5
anewarray java.lang.Object
dup
iconst_0
6: aload 1
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
dup
iconst_1
7: aload 2
aastore
dup
iconst_2
8: aload 4
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
dup
iconst_3
9: aload 2
aastore
dup
iconst_4
10: aload 1
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
11: invokestatic java.lang.module.Resolver.resolveFail:(Ljava/lang/String;[Ljava/lang/Object;)V
12: goto 19
13: StackMap locals:
StackMap stack:
ldc "Modules %s and %s export package %s to module %s"
iconst_4
anewarray java.lang.Object
dup
iconst_0
14: aload 3
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
dup
iconst_1
15: aload 4
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
dup
iconst_2
16: aload 2
aastore
dup
iconst_3
17: aload 1
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
18: invokestatic java.lang.module.Resolver.resolveFail:(Ljava/lang/String;[Ljava/lang/Object;)V
19: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/lang/module/Resolver;
0 20 1 descriptor Ljava/lang/module/ModuleDescriptor;
0 20 2 source Ljava/lang/String;
0 20 3 supplier1 Ljava/lang/module/ModuleDescriptor;
0 20 4 supplier2 Ljava/lang/module/ModuleDescriptor;
2 4 5 tmp Ljava/lang/module/ModuleDescriptor;
MethodParameters:
Name Flags
descriptor
source
supplier1
supplier2
private java.lang.module.ResolvedModule findInParent(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/module/ResolvedModule;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.module.Resolver.parents:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: java.lang.module.Resolver java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.Configuration
astore 2
start local 2 2: aload 2
aload 1
invokevirtual java.lang.module.Configuration.findModule:(Ljava/lang/String;)Ljava/util/Optional;
astore 4
start local 4 3: aload 4
invokevirtual java.util.Optional.isPresent:()Z
ifeq 5
4: aload 4
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
areturn
end local 4 end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/module/Resolver;
0 7 1 mn Ljava/lang/String;
2 5 2 parent Ljava/lang/module/Configuration;
3 5 4 om Ljava/util/Optional<Ljava/lang/module/ResolvedModule;>;
MethodParameters:
Name Flags
mn
private java.lang.module.ModuleReference findWithBeforeFinder(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/module/ModuleReference;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.module.Resolver.beforeFinder:Ljava/lang/module/ModuleFinder;
aload 1
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/module/Resolver;
0 1 1 mn Ljava/lang/String;
MethodParameters:
Name Flags
mn
private java.lang.module.ModuleReference findWithAfterFinder(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/module/ModuleReference;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.module.Resolver.afterFinder:Ljava/lang/module/ModuleFinder;
aload 1
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/module/Resolver;
0 1 1 mn Ljava/lang/String;
MethodParameters:
Name Flags
mn
private java.util.Set<java.lang.module.ModuleReference> findAll();
descriptor: ()Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield java.lang.module.Resolver.beforeFinder:Ljava/lang/module/ModuleFinder;
invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
astore 1
start local 1 1: aload 0
getfield java.lang.module.Resolver.afterFinder:Ljava/lang/module/ModuleFinder;
invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
astore 2
start local 2 2: aload 2
invokeinterface java.util.Set.isEmpty:()Z
ifeq 4
3: aload 1
areturn
4: StackMap locals: java.util.Set java.util.Set
StackMap stack:
aload 1
invokeinterface java.util.Set.isEmpty:()Z
ifeq 8
5: aload 0
getfield java.lang.module.Resolver.parents:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 8
6: aload 0
getfield java.lang.module.Resolver.parents:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokestatic java.lang.module.Configuration.empty:()Ljava/lang/module/Configuration;
if_acmpne 8
7: aload 2
areturn
8: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
aload 1
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 9: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 15
StackMap locals: java.lang.module.Resolver java.util.Set java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
10: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ModuleReference
astore 4
start local 4 11: aload 4
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 6
start local 6 12: aload 0
getfield java.lang.module.Resolver.beforeFinder:Ljava/lang/module/ModuleFinder;
aload 6
invokeinterface java.lang.module.ModuleFinder.find:(Ljava/lang/String;)Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifne 15
13: aload 0
aload 6
invokevirtual java.lang.module.Resolver.findInParent:(Ljava/lang/String;)Ljava/lang/module/ResolvedModule;
ifnonnull 15
14: aload 3
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 4 15: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
16: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/lang/module/Resolver;
1 17 1 beforeModules Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
2 17 2 afterModules Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
9 17 3 result Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
11 15 4 mref Ljava/lang/module/ModuleReference;
12 15 6 name Ljava/lang/String;
Signature: ()Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
private static java.lang.String packageName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "."
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 2
ldc ""
goto 3
StackMap locals: int
StackMap stack:
2: aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cn Ljava/lang/String;
1 4 1 index I
MethodParameters:
Name Flags
cn
private static void findFail(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: new java.lang.module.FindException
dup
aload 2
invokespecial java.lang.module.FindException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 fmt Ljava/lang/String;
0 2 1 args [Ljava/lang/Object;
1 2 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
fmt
args
private static void resolveFail(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: new java.lang.module.ResolutionException
dup
aload 2
invokespecial java.lang.module.ResolutionException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 fmt Ljava/lang/String;
0 2 1 args [Ljava/lang/Object;
1 2 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
fmt
args
private boolean isTracing();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.module.Resolver.traceOutput:Ljava/io/PrintStream;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/module/Resolver;
private void trace(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.lang.module.Resolver.traceOutput:Ljava/io/PrintStream;
ifnull 3
1: aload 0
getfield java.lang.module.Resolver.traceOutput:Ljava/io/PrintStream;
aload 1
aload 2
invokevirtual java.io.PrintStream.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
2: aload 0
getfield java.lang.module.Resolver.traceOutput:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/module/Resolver;
0 4 1 fmt Ljava/lang/String;
0 4 2 args [Ljava/lang/Object;
MethodParameters:
Name Flags
fmt
args
private java.lang.String nameAndInfo(java.lang.module.ModuleReference);
descriptor: (Ljava/lang/module/ModuleReference;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 2
start local 2 1: new java.lang.StringBuilder
dup
aload 2
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 3
start local 3 2: aload 1
invokevirtual java.lang.module.ModuleReference.location:()Ljava/util/Optional;
aload 3
invokedynamic accept(Ljava/lang/StringBuilder;)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
java/lang/module/Resolver.lambda$17(Ljava/lang/StringBuilder;Ljava/net/URI;)V (6)
(Ljava/net/URI;)V
invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
3: aload 2
invokevirtual java.lang.module.ModuleDescriptor.isAutomatic:()Z
ifeq 5
4: aload 3
ldc " automatic"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals: java.lang.module.ModuleDescriptor java.lang.StringBuilder
StackMap stack:
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/module/Resolver;
0 6 1 mref Ljava/lang/module/ModuleReference;
1 6 2 descriptor Ljava/lang/module/ModuleDescriptor;
2 6 3 sb Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
mref
private void lambda$0(java.util.Deque, java.lang.module.ModuleDescriptor, java.lang.module.ModuleReference);
descriptor: (Ljava/util/Deque;Ljava/lang/module/ModuleDescriptor;Ljava/lang/module/ModuleReference;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 3 0: aload 3
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
astore 4
start local 4 1: aload 1
aload 4
invokeinterface java.util.Deque.offer:(Ljava/lang/Object;)Z
pop
2: aload 0
invokevirtual java.lang.module.Resolver.isTracing:()Z
ifeq 4
3: aload 0
ldc "%s requires %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
aload 3
invokevirtual java.lang.module.Resolver.nameAndInfo:(Ljava/lang/module/ModuleReference;)Ljava/lang/String;
aastore
invokevirtual java.lang.module.Resolver.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 4 4: StackMap locals:
StackMap stack:
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/module/Resolver;
0 5 3 mref Ljava/lang/module/ModuleReference;
1 4 4 other Ljava/lang/module/ModuleDescriptor;
private static java.util.stream.Stream lambda$2(java.lang.module.Configuration);
descriptor: (Ljava/lang/module/Configuration;)Ljava/util/stream/Stream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.module.Configuration.descriptors:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c Ljava/lang/module/Configuration;
private void lambda$3(java.util.Set, java.lang.module.ModuleReference);
descriptor: (Ljava/util/Set;Ljava/lang/module/ModuleReference;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 2 0: aload 2
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 3
start local 3 1: aload 2
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.isAutomatic:()Z
ifeq 4
aload 0
getfield java.lang.module.Resolver.nameToReference:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 4
2: aload 0
aload 2
invokevirtual java.lang.module.Resolver.addFoundModule:(Ljava/lang/module/ModuleReference;)V
3: aload 1
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/module/Resolver;
0 5 2 mref Ljava/lang/module/ModuleReference;
1 4 3 mn Ljava/lang/String;
private static java.util.stream.Stream lambda$6(java.lang.module.Configuration);
descriptor: (Ljava/lang/module/Configuration;)Ljava/util/stream/Stream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
aload 0
invokedynamic apply(Ljava/lang/module/Configuration;)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/Resolver.lambda$7(Ljava/lang/module/Configuration;Ljava/lang/module/ResolvedModule;)Ljava/util/stream/Stream; (6)
(Ljava/lang/module/ResolvedModule;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
1: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c Ljava/lang/module/Configuration;
private static void lambda$16(java.util.Set, java.util.Set, java.lang.module.ResolvedModule);
descriptor: (Ljava/util/Set;Ljava/util/Set;Ljava/lang/module/ResolvedModule;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 2 0: aload 0
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: aload 2
invokevirtual java.lang.module.ResolvedModule.reference:()Ljava/lang/module/ModuleReference;
invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.isAutomatic:()Z
ifeq 3
2: aload 1
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: StackMap locals:
StackMap stack:
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 4 2 m Ljava/lang/module/ResolvedModule;
private static void lambda$17(java.lang.StringBuilder, java.net.URI);
descriptor: (Ljava/lang/StringBuilder;Ljava/net/URI;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 1 0: aload 0
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 uri Ljava/net/URI;
private static java.util.stream.Stream lambda$7(java.lang.module.Configuration, java.lang.module.ResolvedModule);
descriptor: (Ljava/lang/module/Configuration;Ljava/lang/module/ResolvedModule;)Ljava/util/stream/Stream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokevirtual java.lang.module.ResolvedModule.descriptor:()Ljava/lang/module/ModuleDescriptor;
invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
1: invokedynamic test()Ljava/util/function/Predicate;
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;)Z
java/lang/module/Resolver.lambda$8(Ljava/lang/module/ModuleDescriptor$Requires;)Z (6)
(Ljava/lang/module/ModuleDescriptor$Requires;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: aload 0
invokedynamic apply(Ljava/lang/module/Configuration;)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/Resolver.lambda$9(Ljava/lang/module/Configuration;Ljava/lang/module/ModuleDescriptor$Requires;)Ljava/util/stream/Stream; (6)
(Ljava/lang/module/ModuleDescriptor$Requires;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: aload 1
invokedynamic apply(Ljava/lang/module/ResolvedModule;)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/Resolver.lambda$10(Ljava/lang/module/ResolvedModule;Ljava/lang/module/ResolvedModule;)Ljava/util/Map$Entry; (6)
(Ljava/lang/module/ResolvedModule;)Ljava/util/Map$Entry;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 m1 Ljava/lang/module/ResolvedModule;
private static boolean lambda$8(java.lang.module.ModuleDescriptor$Requires);
descriptor: (Ljava/lang/module/ModuleDescriptor$Requires;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.module.ModuleDescriptor$Requires.modifiers:()Ljava/util/Set;
getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.TRANSITIVE:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 r Ljava/lang/module/ModuleDescriptor$Requires;
private static java.util.stream.Stream lambda$9(java.lang.module.Configuration, java.lang.module.ModuleDescriptor$Requires);
descriptor: (Ljava/lang/module/Configuration;Ljava/lang/module/ModuleDescriptor$Requires;)Ljava/util/stream/Stream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 1 0: aload 0
aload 1
invokevirtual java.lang.module.ModuleDescriptor$Requires.name:()Ljava/lang/String;
invokevirtual java.lang.module.Configuration.findModule:(Ljava/lang/String;)Ljava/util/Optional;
astore 2
start local 2 1: getstatic java.lang.module.Resolver.$assertionsDisabled:Z
ifne 3
aload 2
invokevirtual java.util.Optional.isPresent:()Z
ifne 3
2: aload 1
invokevirtual java.lang.module.ModuleDescriptor$Requires.modifiers:()Ljava/util/Set;
getstatic java.lang.module.ModuleDescriptor$Requires$Modifier.STATIC:Ljava/lang/module/ModuleDescriptor$Requires$Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: java.util.Optional
StackMap stack:
aload 2
invokevirtual java.util.Optional.stream:()Ljava/util/stream/Stream;
areturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 r Ljava/lang/module/ModuleDescriptor$Requires;
1 4 2 m2 Ljava/util/Optional<Ljava/lang/module/ResolvedModule;>;
private static java.util.Map$Entry lambda$10(java.lang.module.ResolvedModule, java.lang.module.ResolvedModule);
descriptor: (Ljava/lang/module/ResolvedModule;Ljava/lang/module/ResolvedModule;)Ljava/util/Map$Entry;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 m2 Ljava/lang/module/ResolvedModule;
}
SourceFile: "Resolver.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 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
public abstract Entry = java.util.Map$Entry of java.util.Map