public class jdk.internal.module.ModuleHashesBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.module.ModuleHashesBuilder
super_class: java.lang.Object
{
private final java.lang.module.Configuration configuration;
descriptor: Ljava/lang/module/Configuration;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<java.lang.String> hashModuleCandidates;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
public void <init>(java.lang.module.Configuration, java.util.Set<java.lang.String>);
descriptor: (Ljava/lang/module/Configuration;Ljava/util/Set;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.internal.module.ModuleHashesBuilder.configuration:Ljava/lang/module/Configuration;
2: aload 0
aload 2
putfield jdk.internal.module.ModuleHashesBuilder.hashModuleCandidates:Ljava/util/Set;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/module/ModuleHashesBuilder;
0 4 1 config Ljava/lang/module/Configuration;
0 4 2 modules Ljava/util/Set<Ljava/lang/String;>;
Signature: (Ljava/lang/module/Configuration;Ljava/util/Set<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
config
modules
public java.util.Map<java.lang.String, jdk.internal.module.ModuleHashes> computeHashes(java.util.Set<java.lang.String>);
descriptor: (Ljava/util/Set;)Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: new jdk.internal.module.ModuleHashesBuilder$Graph$Builder
dup
invokespecial jdk.internal.module.ModuleHashesBuilder$Graph$Builder.<init>:()V
astore 2
start local 2 1: new java.util.ArrayDeque
dup
aload 0
getfield jdk.internal.module.ModuleHashesBuilder.configuration:Ljava/lang/module/Configuration;
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
invokespecial java.util.ArrayDeque.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 3: goto 12
start local 5 4: StackMap locals: jdk.internal.module.ModuleHashesBuilder java.util.Set jdk.internal.module.ModuleHashesBuilder$Graph$Builder java.util.Deque java.util.Set java.lang.module.ResolvedModule
StackMap stack:
aload 4
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 12
5: aload 2
aload 5
invokevirtual java.lang.module.ResolvedModule.name:()Ljava/lang/String;
invokevirtual jdk.internal.module.ModuleHashesBuilder$Graph$Builder.addNode:(Ljava/lang/Object;)V
6: aload 5
invokevirtual java.lang.module.ResolvedModule.reads:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: jdk.internal.module.ModuleHashesBuilder java.util.Set jdk.internal.module.ModuleHashesBuilder$Graph$Builder java.util.Deque java.util.Set java.lang.module.ResolvedModule top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
astore 6
start local 6 8: aload 4
aload 6
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 10
9: aload 3
aload 6
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
10: StackMap locals: jdk.internal.module.ModuleHashesBuilder java.util.Set jdk.internal.module.ModuleHashesBuilder$Graph$Builder java.util.Deque java.util.Set java.lang.module.ResolvedModule java.lang.module.ResolvedModule java.util.Iterator
StackMap stack:
aload 2
aload 5
invokevirtual java.lang.module.ResolvedModule.name:()Ljava/lang/String;
aload 6
invokevirtual java.lang.module.ResolvedModule.name:()Ljava/lang/String;
invokevirtual jdk.internal.module.ModuleHashesBuilder$Graph$Builder.addEdge:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 11: StackMap locals: jdk.internal.module.ModuleHashesBuilder java.util.Set jdk.internal.module.ModuleHashesBuilder$Graph$Builder java.util.Deque java.util.Set java.lang.module.ResolvedModule top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 5 12: StackMap locals: jdk.internal.module.ModuleHashesBuilder java.util.Set jdk.internal.module.ModuleHashesBuilder$Graph$Builder java.util.Deque java.util.Set
StackMap stack:
aload 3
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
dup
astore 5
start local 5 13: ifnonnull 4
14: aload 2
invokevirtual jdk.internal.module.ModuleHashesBuilder$Graph$Builder.build:()Ljdk/internal/module/ModuleHashesBuilder$Graph;
invokevirtual jdk.internal.module.ModuleHashesBuilder$Graph.transpose:()Ljdk/internal/module/ModuleHashesBuilder$Graph;
astore 6
start local 6 15: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 7
start local 7 16: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 8
start local 8 17: aload 2
invokevirtual jdk.internal.module.ModuleHashesBuilder$Graph$Builder.build:()Ljdk/internal/module/ModuleHashesBuilder$Graph;
18: invokevirtual jdk.internal.module.ModuleHashesBuilder$Graph.orderedNodes:()Ljava/util/stream/Stream;
19: aload 1
aload 7
invokedynamic test(Ljava/util/Set;Ljava/util/Set;)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
jdk/internal/module/ModuleHashesBuilder.lambda$0(Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
20: aload 0
aload 6
aload 7
aload 8
invokedynamic accept(Ljdk/internal/module/ModuleHashesBuilder;Ljdk/internal/module/ModuleHashesBuilder$Graph;Ljava/util/Set;Ljava/util/Map;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/internal/module/ModuleHashesBuilder.lambda$1(Ljdk/internal/module/ModuleHashesBuilder$Graph;Ljava/util/Set;Ljava/util/Map;Ljava/lang/String;)V (7)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
21: aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljdk/internal/module/ModuleHashesBuilder;
0 22 1 roots Ljava/util/Set<Ljava/lang/String;>;
1 22 2 builder Ljdk/internal/module/ModuleHashesBuilder$Graph$Builder<Ljava/lang/String;>;
2 22 3 todo Ljava/util/Deque<Ljava/lang/module/ResolvedModule;>;
3 22 4 visited Ljava/util/Set<Ljava/lang/module/ResolvedModule;>;
4 12 5 rm Ljava/lang/module/ResolvedModule;
13 22 5 rm Ljava/lang/module/ResolvedModule;
8 11 6 dm Ljava/lang/module/ResolvedModule;
15 22 6 transposedGraph Ljdk/internal/module/ModuleHashesBuilder$Graph<Ljava/lang/String;>;
16 22 7 mods Ljava/util/Set<Ljava/lang/String;>;
17 22 8 hashes Ljava/util/Map<Ljava/lang/String;Ljdk/internal/module/ModuleHashes;>;
Signature: (Ljava/util/Set<Ljava/lang/String;>;)Ljava/util/Map<Ljava/lang/String;Ljdk/internal/module/ModuleHashes;>;
MethodParameters:
Name Flags
roots
private static boolean lambda$0(java.util.Set, java.util.Set, java.lang.String);
descriptor: (Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)Z
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.contains:(Ljava/lang/Object;)Z
ifeq 1
aload 1
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 3 2 mn Ljava/lang/String;
private void lambda$1(jdk.internal.module.ModuleHashesBuilder$Graph, java.util.Set, java.util.Map, java.lang.String);
descriptor: (Ljdk/internal/module/ModuleHashesBuilder$Graph;Ljava/util/Set;Ljava/util/Map;Ljava/lang/String;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 4 0: aload 1
aload 4
invokevirtual jdk.internal.module.ModuleHashesBuilder$Graph.dfs:(Ljava/lang/Object;)Ljava/util/Set;
1: invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
2: aload 0
aload 4
invokedynamic test(Ljdk/internal/module/ModuleHashesBuilder;Ljava/lang/String;)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
jdk/internal/module/ModuleHashesBuilder.lambda$2(Ljava/lang/String;Ljava/lang/String;)Z (7)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
3: 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
4: astore 5
start local 5 5: aload 2
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: aload 2
aload 5
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
7: aload 5
invokeinterface java.util.Set.isEmpty:()Z
ifne 14
8: aload 5
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
9: aload 0
invokedynamic apply(Ljdk/internal/module/ModuleHashesBuilder;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/module/ModuleHashesBuilder.lambda$3(Ljava/lang/String;)Ljava/lang/module/ResolvedModule; (7)
(Ljava/lang/String;)Ljava/lang/module/ResolvedModule;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
10: 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/ResolvedModule.reference()Ljava/lang/module/ModuleReference; (5)
(Ljava/lang/module/ResolvedModule;)Ljava/lang/module/ModuleReference;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
11: 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
12: astore 6
start local 6 13: aload 3
aload 4
aload 6
ldc "SHA-256"
invokestatic jdk.internal.module.ModuleHashes.generate:(Ljava/util/Set;Ljava/lang/String;)Ljdk/internal/module/ModuleHashes;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 end local 5 14: StackMap locals:
StackMap stack:
return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/internal/module/ModuleHashesBuilder;
0 15 4 mn Ljava/lang/String;
5 14 5 ns Ljava/util/Set<Ljava/lang/String;>;
13 14 6 mrefs Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
private boolean lambda$2(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 2
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
aload 0
getfield jdk.internal.module.ModuleHashesBuilder.hashModuleCandidates:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/module/ModuleHashesBuilder;
0 3 2 n Ljava/lang/String;
private java.lang.module.ResolvedModule lambda$3(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/module/ResolvedModule;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.module.ModuleHashesBuilder.configuration:Ljava/lang/module/Configuration;
aload 1
invokevirtual java.lang.module.Configuration.findModule:(Ljava/lang/String;)Ljava/util/Optional;
1: 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/lang/InternalError.<init>()V (8)
()Ljava/lang/InternalError;
invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/module/ModuleHashesBuilder;
0 2 1 name Ljava/lang/String;
}
SourceFile: "ModuleHashesBuilder.java"
NestMembers:
jdk.internal.module.ModuleHashesBuilder$Graph jdk.internal.module.ModuleHashesBuilder$Graph$Builder jdk.internal.module.ModuleHashesBuilder$TopoSorter
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
Graph = jdk.internal.module.ModuleHashesBuilder$Graph of jdk.internal.module.ModuleHashesBuilder
Builder = jdk.internal.module.ModuleHashesBuilder$Graph$Builder of jdk.internal.module.ModuleHashesBuilder$Graph
private TopoSorter = jdk.internal.module.ModuleHashesBuilder$TopoSorter of jdk.internal.module.ModuleHashesBuilder