final class jdk.tools.jlink.internal.ImageResourcesTree$Tree
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.tools.jlink.internal.ImageResourcesTree$Tree
super_class: java.lang.Object
{
private final java.util.Map<java.lang.String, jdk.tools.jlink.internal.ImageResourcesTree$Node> directAccess;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/tools/jlink/internal/ImageResourcesTree$Node;>;
private final java.util.List<java.lang.String> paths;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
private final jdk.tools.jlink.internal.ImageResourcesTree$Node root;
descriptor: Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private jdk.tools.jlink.internal.ImageResourcesTree$Node modules;
descriptor: Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
flags: (0x0002) ACC_PRIVATE
private jdk.tools.jlink.internal.ImageResourcesTree$Node packages;
descriptor: Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
flags: (0x0002) ACC_PRIVATE
private void <init>(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.directAccess:Ljava/util/Map;
2: aload 0
aload 1
putfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.paths:Ljava/util/List;
3: aload 0
new jdk.tools.jlink.internal.ImageResourcesTree$Node
dup
ldc ""
aconst_null
invokespecial jdk.tools.jlink.internal.ImageResourcesTree$Node.<init>:(Ljava/lang/String;Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)V
putfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.root:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
4: aload 0
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Tree.buildTree:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/tools/jlink/internal/ImageResourcesTree$Tree;
0 6 1 paths Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
paths
private void buildTree();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=1
start local 0 0: aload 0
new jdk.tools.jlink.internal.ImageResourcesTree$Node
dup
ldc "modules"
aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.root:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
invokespecial jdk.tools.jlink.internal.ImageResourcesTree$Node.<init>:(Ljava/lang/String;Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)V
putfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.modules:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
1: aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.directAccess:Ljava/util/Map;
aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.modules:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Node.getPath:()Ljava/lang/String;
aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.modules:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 1
start local 1 3: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 2
start local 2 4: aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.paths:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 51
StackMap locals: jdk.tools.jlink.internal.ImageResourcesTree$Tree java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 6: aload 3
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 8
7: goto 51
8: StackMap locals: jdk.tools.jlink.internal.ImageResourcesTree$Tree java.util.Map java.util.Map java.lang.String java.util.Iterator
StackMap stack:
aload 3
ldc "/"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 9: aload 5
arraylength
iconst_3
if_icmpge 14
10: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Resources tree, invalid data structure, skipping "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: goto 51
14: StackMap locals: java.lang.String[]
StackMap stack:
aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.modules:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
astore 6
start local 6 15: aconst_null
astore 7
start local 7 16: iconst_0
istore 8
start local 8 17: goto 50
18: StackMap locals: jdk.tools.jlink.internal.ImageResourcesTree$Node java.lang.String int
StackMap stack:
aload 6
instanceof jdk.tools.jlink.internal.ImageResourcesTree$ResourceNode
ifeq 23
19: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Resources tree, invalid data structure, skipping "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
22: goto 49
23: StackMap locals:
StackMap stack:
aload 5
iload 8
aaload
astore 9
start local 9 24: aload 9
invokevirtual java.lang.String.isEmpty:()Z
ifne 49
25: aload 7
ifnonnull 27
26: aload 9
astore 7
27: StackMap locals: java.lang.String
StackMap stack:
aload 6
getfield jdk.tools.jlink.internal.ImageResourcesTree$Node.children:Ljava/util/Map;
aload 9
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.ImageResourcesTree$Node
astore 10
start local 10 28: aload 10
ifnonnull 48
29: iload 8
aload 5
arraylength
iconst_1
isub
if_icmpne 39
30: new jdk.tools.jlink.internal.ImageResourcesTree$ResourceNode
dup
aload 9
aload 6
invokespecial jdk.tools.jlink.internal.ImageResourcesTree$ResourceNode.<init>:(Ljava/lang/String;Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)V
astore 10
31: aload 0
aload 10
getfield jdk.tools.jlink.internal.ImageResourcesTree$Node.parent:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Tree.toPackageName:(Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)Ljava/lang/String;
astore 11
start local 11 32: aload 11
ifnull 48
aload 11
ldc "META-INF"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 48
33: aload 1
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 12
start local 12 34: aload 12
ifnonnull 37
35: new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
astore 12
36: aload 1
aload 7
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
37: StackMap locals: jdk.tools.jlink.internal.ImageResourcesTree$Node java.lang.String java.util.Set
StackMap stack:
aload 12
aload 11
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 11 38: goto 48
39: StackMap locals:
StackMap stack:
new jdk.tools.jlink.internal.ImageResourcesTree$Node
dup
aload 9
aload 6
invokespecial jdk.tools.jlink.internal.ImageResourcesTree$Node.<init>:(Ljava/lang/String;Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)V
astore 10
40: aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.directAccess:Ljava/util/Map;
aload 10
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Node.getPath:()Ljava/lang/String;
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
41: aload 0
aload 10
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Tree.toPackageName:(Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)Ljava/lang/String;
astore 11
start local 11 42: aload 11
ifnull 48
aload 11
ldc "META-INF"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 48
43: aload 2
aload 11
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 12
start local 12 44: aload 12
ifnonnull 47
45: new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
astore 12
46: aload 2
aload 11
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
47: StackMap locals: java.lang.String java.util.Set
StackMap stack:
aload 12
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 11 48: StackMap locals:
StackMap stack:
aload 10
astore 6
end local 10 end local 9 49: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
50: iload 8
aload 5
arraylength
if_icmplt 18
end local 8 end local 7 end local 6 end local 5 end local 3 51: StackMap locals: jdk.tools.jlink.internal.ImageResourcesTree$Tree java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
52: aload 0
new jdk.tools.jlink.internal.ImageResourcesTree$Node
dup
ldc "packages"
aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.root:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
invokespecial jdk.tools.jlink.internal.ImageResourcesTree$Node.<init>:(Ljava/lang/String;Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)V
putfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.packages:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
53: aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.directAccess:Ljava/util/Map;
aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.packages:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Node.getPath:()Ljava/lang/String;
aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.packages:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
54: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 62
StackMap locals:
StackMap stack:
55: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 56: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Set
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 61
StackMap locals: jdk.tools.jlink.internal.ImageResourcesTree$Tree java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator top java.util.Iterator
StackMap stack:
57: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 58: new jdk.tools.jlink.internal.ImageResourcesTree$PackageNode
dup
aload 5
aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.packages:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
invokespecial jdk.tools.jlink.internal.ImageResourcesTree$PackageNode.<init>:(Ljava/lang/String;Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)V
astore 7
start local 7 59: aload 7
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
iconst_0
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$PackageNode.addReference:(Ljava/lang/String;Z)V
60: aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.directAccess:Ljava/util/Map;
aload 7
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$PackageNode.getPath:()Ljava/lang/String;
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 5 61: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 57
end local 3 62: StackMap locals: jdk.tools.jlink.internal.ImageResourcesTree$Tree java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 55
63: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 73
StackMap locals:
StackMap stack:
64: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 65: aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.packages:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Node.getChildren:(Ljava/lang/String;)Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
checkcast jdk.tools.jlink.internal.ImageResourcesTree$PackageNode
astore 5
start local 5 66: aload 5
ifnonnull 68
67: new jdk.tools.jlink.internal.ImageResourcesTree$PackageNode
dup
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.packages:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
invokespecial jdk.tools.jlink.internal.ImageResourcesTree$PackageNode.<init>:(Ljava/lang/String;Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)V
astore 5
68: StackMap locals: jdk.tools.jlink.internal.ImageResourcesTree$Tree java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator jdk.tools.jlink.internal.ImageResourcesTree$PackageNode
StackMap stack:
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Set
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 71
StackMap locals: jdk.tools.jlink.internal.ImageResourcesTree$Tree java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator jdk.tools.jlink.internal.ImageResourcesTree$PackageNode top java.util.Iterator
StackMap stack:
69: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 70: aload 5
aload 6
iconst_1
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$PackageNode.addReference:(Ljava/lang/String;Z)V
end local 6 71: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 69
72: aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.directAccess:Ljava/util/Map;
aload 5
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$PackageNode.getPath:()Ljava/lang/String;
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 end local 3 73: StackMap locals: jdk.tools.jlink.internal.ImageResourcesTree$Tree java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 64
74: aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.packages:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
getfield jdk.tools.jlink.internal.ImageResourcesTree$Node.children:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 77
StackMap locals:
StackMap stack:
75: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.tools.jlink.internal.ImageResourcesTree$Node
astore 3
start local 3 76: aload 3
checkcast jdk.tools.jlink.internal.ImageResourcesTree$PackageNode
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$PackageNode.validate:()V
end local 3 77: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 75
78: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 79 0 this Ljdk/tools/jlink/internal/ImageResourcesTree$Tree;
3 79 1 moduleToPackage Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
4 79 2 packageToModule Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
6 51 3 p Ljava/lang/String;
9 51 5 split [Ljava/lang/String;
15 51 6 current Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
16 51 7 module Ljava/lang/String;
17 51 8 i I
24 49 9 s Ljava/lang/String;
28 49 10 n Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
32 38 11 pkg Ljava/lang/String;
34 38 12 pkgs Ljava/util/Set<Ljava/lang/String;>;
42 48 11 pkg Ljava/lang/String;
44 48 12 mods Ljava/util/Set<Ljava/lang/String;>;
56 62 3 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
58 61 5 pkg Ljava/lang/String;
59 61 7 pkgNode Ljdk/tools/jlink/internal/ImageResourcesTree$PackageNode;
65 73 3 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
66 73 5 pkgNode Ljdk/tools/jlink/internal/ImageResourcesTree$PackageNode;
70 71 6 module Ljava/lang/String;
76 77 3 n Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
public java.lang.String toResourceName(jdk.tools.jlink.internal.ImageResourcesTree$Node);
descriptor: (Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.tools.jlink.internal.ImageResourcesTree$Node.children:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifne 2
1: new java.lang.RuntimeException
dup
ldc "Node is not a resource"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Tree.removeRadical:(Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jlink/internal/ImageResourcesTree$Tree;
0 3 1 node Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
MethodParameters:
Name Flags
node
public java.lang.String getModule(jdk.tools.jlink.internal.ImageResourcesTree$Node);
descriptor: (Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.tools.jlink.internal.ImageResourcesTree$Node.parent:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
ifnull 2
aload 1
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Node.getName:()Ljava/lang/String;
ldc "modules"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
1: aload 1
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Node.getName:()Ljava/lang/String;
ldc "packages"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: StackMap locals:
StackMap stack:
aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Tree.removeRadical:(Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)Ljava/lang/String;
astore 2
start local 2 4: aload 2
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
5: aload 2
ldc "/"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 3
start local 3 6: iload 3
iconst_m1
if_icmpne 8
7: aload 2
areturn
8: StackMap locals: java.lang.String int
StackMap stack:
aload 2
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/tools/jlink/internal/ImageResourcesTree$Tree;
0 9 1 node Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
4 9 2 path Ljava/lang/String;
6 9 3 i I
MethodParameters:
Name Flags
node
public java.lang.String toPackageName(jdk.tools.jlink.internal.ImageResourcesTree$Node);
descriptor: (Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield jdk.tools.jlink.internal.ImageResourcesTree$Node.parent:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Node.getPath:()Ljava/lang/String;
ldc "/modules/"
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Tree.removeRadical:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 3: aload 0
aload 1
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Tree.getModule:(Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)Ljava/lang/String;
astore 3
start local 3 4: aload 2
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aconst_null
areturn
6: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
aload 2
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Tree.removeRadical:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 7: aload 4
ldc "/"
ldc "."
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/tools/jlink/internal/ImageResourcesTree$Tree;
0 8 1 node Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
3 8 2 path Ljava/lang/String;
4 8 3 module Ljava/lang/String;
7 8 4 pkg Ljava/lang/String;
MethodParameters:
Name Flags
node
public java.lang.String removeRadical(jdk.tools.jlink.internal.ImageResourcesTree$Node);
descriptor: (Ljdk/tools/jlink/internal/ImageResourcesTree$Node;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Node.getPath:()Ljava/lang/String;
ldc "/modules"
invokevirtual jdk.tools.jlink.internal.ImageResourcesTree$Tree.removeRadical:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/ImageResourcesTree$Tree;
0 1 1 node Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
MethodParameters:
Name Flags
node
private java.lang.String removeRadical(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.length:()I
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 2
1: aload 1
aload 2
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jlink/internal/ImageResourcesTree$Tree;
0 3 1 path Ljava/lang/String;
0 3 2 str Ljava/lang/String;
MethodParameters:
Name Flags
path
str
public jdk.tools.jlink.internal.ImageResourcesTree$Node getRoot();
descriptor: ()Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.root:Ljdk/tools/jlink/internal/ImageResourcesTree$Node;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/ImageResourcesTree$Tree;
public java.util.Map<java.lang.String, jdk.tools.jlink.internal.ImageResourcesTree$Node> getMap();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.tools.jlink.internal.ImageResourcesTree$Tree.directAccess:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/tools/jlink/internal/ImageResourcesTree$Tree;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljdk/tools/jlink/internal/ImageResourcesTree$Node;>;
}
SourceFile: "ImageResourcesTree.java"
NestHost: jdk.tools.jlink.internal.ImageResourcesTree
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
private Node = jdk.tools.jlink.internal.ImageResourcesTree$Node of jdk.tools.jlink.internal.ImageResourcesTree
private PackageNode = jdk.tools.jlink.internal.ImageResourcesTree$PackageNode of jdk.tools.jlink.internal.ImageResourcesTree
private final ResourceNode = jdk.tools.jlink.internal.ImageResourcesTree$ResourceNode of jdk.tools.jlink.internal.ImageResourcesTree
private final Tree = jdk.tools.jlink.internal.ImageResourcesTree$Tree of jdk.tools.jlink.internal.ImageResourcesTree