class com.oracle.objectfile.macho.ExportTrieElement$TrieNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.objectfile.macho.ExportTrieElement$TrieNode
super_class: java.lang.Object
{
com.oracle.objectfile.macho.ExportTrieElement$TrieTerminal terminal;
descriptor: Lcom/oracle/objectfile/macho/ExportTrieElement$TrieTerminal;
flags: (0x0000)
java.lang.String suffix;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.util.List<com.oracle.objectfile.macho.ExportTrieElement$TrieNode> children;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;>;
com.oracle.objectfile.macho.ExportTrieElement$TrieNode parent;
descriptor: Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
flags: (0x0000)
final com.oracle.objectfile.macho.ExportTrieElement this$0;
descriptor: Lcom/oracle/objectfile/macho/ExportTrieElement;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
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 Lcom/oracle/objectfile/macho/ExportTrieElement;
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 com.oracle.objectfile.macho.ExportTrieElement$TrieNode.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
private int encodedTerminalSize();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.terminal:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieTerminal;
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
aload 0
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.terminal:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieTerminal;
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieTerminal.address:J
invokestatic com.oracle.objectfile.macho.MachOObjectFile.encodedLengthLEB128:(J)I
iadd
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
private int worstCaseChildRecordSize(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.children:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.objectfile.macho.ExportTrieElement$TrieNode
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.suffix:Ljava/lang/String;
astore 2
start local 2 1: iconst_1
istore 3
start local 3 2: aload 2
ifnonnull 3
iconst_0
goto 4
StackMap locals: java.lang.String int
StackMap stack:
3: aload 2
invokevirtual java.lang.String.length:()I
StackMap locals:
StackMap stack: int
4: iload 3
iadd
bipush 10
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
0 5 1 childNum I
1 5 2 childSuffix Ljava/lang/String;
2 5 3 nullTerminatorSize I
MethodParameters:
Name Flags
childNum
private int worstCaseNodeRecordSize();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: int int
StackMap stack:
iload 1
aload 0
iload 2
invokevirtual com.oracle.objectfile.macho.ExportTrieElement$TrieNode.worstCaseChildRecordSize:(I)I
iadd
istore 1
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.children:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 2 6: iconst_1
aload 0
invokevirtual com.oracle.objectfile.macho.ExportTrieElement$TrieNode.encodedTerminalSize:()I
iadd
iconst_1
iadd
iload 1
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
1 7 1 childRecords I
2 6 2 i I
void writeRoot(com.oracle.objectfile.io.OutputAssembler);
descriptor: (Lcom/oracle/objectfile/io/OutputAssembler;)V
flags: (0x0000)
Code:
stack=3, locals=17, args_size=2
start local 0 start local 1 0: getstatic com.oracle.objectfile.macho.ExportTrieElement$TrieNode.$assertionsDisabled:Z
ifne 1
aload 0
aload 0
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.this$0:Lcom/oracle/objectfile/macho/ExportTrieElement;
getfield com.oracle.objectfile.macho.ExportTrieElement.root:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 2
start local 2 2: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 3
start local 3 3: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 4: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 5
start local 5 5: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 6
start local 6 6: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 7
start local 7 7: aload 2
aload 0
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.this$0:Lcom/oracle/objectfile/macho/ExportTrieElement;
getfield com.oracle.objectfile.macho.ExportTrieElement.root:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
invokeinterface java.util.Deque.addLast:(Ljava/lang/Object;)V
8: aload 3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Deque.addLast:(Ljava/lang/Object;)V
9: aload 4
aload 0
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.this$0:Lcom/oracle/objectfile/macho/ExportTrieElement;
getfield com.oracle.objectfile.macho.ExportTrieElement.root:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: goto 55
11: StackMap locals: com.oracle.objectfile.macho.ExportTrieElement$TrieNode com.oracle.objectfile.io.OutputAssembler java.util.Deque java.util.Deque java.util.Map java.util.Map java.util.Map java.util.Map
StackMap stack:
aload 2
invokeinterface java.util.Deque.removeFirst:()Ljava/lang/Object;
checkcast com.oracle.objectfile.macho.ExportTrieElement$TrieNode
astore 8
start local 8 12: aload 3
invokeinterface java.util.Deque.removeFirst:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 9
start local 9 13: aload 4
aload 8
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 1
invokeinterface com.oracle.objectfile.io.OutputAssembler.pos:()I
istore 10
start local 10 15: getstatic com.oracle.objectfile.macho.ExportTrieElement$TrieNode.$assertionsDisabled:Z
ifne 16
iload 9
iload 10
if_icmpge 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals: com.oracle.objectfile.macho.ExportTrieElement$TrieNode int int
StackMap stack:
aload 1
iconst_1
invokeinterface com.oracle.objectfile.io.OutputAssembler.skip:(I)V
17: aload 1
invokeinterface com.oracle.objectfile.io.OutputAssembler.pos:()I
istore 11
start local 11 18: aload 8
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.terminal:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieTerminal;
ifnull 20
19: aload 8
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.terminal:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieTerminal;
aload 1
invokevirtual com.oracle.objectfile.macho.ExportTrieElement$TrieTerminal.write:(Lcom/oracle/objectfile/io/OutputAssembler;)V
20: StackMap locals: int
StackMap stack:
aload 1
invokeinterface com.oracle.objectfile.io.OutputAssembler.pos:()I
iload 11
isub
istore 12
start local 12 21: aload 1
iload 10
i2l
invokeinterface com.oracle.objectfile.io.OutputAssembler.pushSeek:(J)V
22: aload 1
iload 12
i2b
invokeinterface com.oracle.objectfile.io.OutputAssembler.writeByte:(B)V
23: aload 1
invokeinterface com.oracle.objectfile.io.OutputAssembler.pop:()V
24: aload 5
aload 8
iload 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
25: getstatic com.oracle.objectfile.macho.ExportTrieElement$TrieNode.$assertionsDisabled:Z
ifne 26
aload 8
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.children:Ljava/util/List;
invokeinterface java.util.List.size:()I
sipush 255
if_icmple 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals: int
StackMap stack:
aload 1
aload 8
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.children:Ljava/util/List;
invokeinterface java.util.List.size:()I
i2b
invokeinterface com.oracle.objectfile.io.OutputAssembler.writeByte:(B)V
27: aload 8
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.children:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 36
StackMap locals: com.oracle.objectfile.macho.ExportTrieElement$TrieNode com.oracle.objectfile.io.OutputAssembler java.util.Deque java.util.Deque java.util.Map java.util.Map java.util.Map java.util.Map com.oracle.objectfile.macho.ExportTrieElement$TrieNode int int int int top java.util.Iterator
StackMap stack:
28: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.macho.ExportTrieElement$TrieNode
astore 13
start local 13 29: aload 2
aload 13
invokeinterface java.util.Deque.addLast:(Ljava/lang/Object;)V
30: aload 3
invokeinterface java.util.Deque.size:()I
ifne 33
31: iload 10
aload 8
invokevirtual com.oracle.objectfile.macho.ExportTrieElement$TrieNode.worstCaseNodeRecordSize:()I
iadd
istore 15
start local 15 32: goto 34
end local 15 33: StackMap locals: com.oracle.objectfile.macho.ExportTrieElement$TrieNode com.oracle.objectfile.io.OutputAssembler java.util.Deque java.util.Deque java.util.Map java.util.Map java.util.Map java.util.Map com.oracle.objectfile.macho.ExportTrieElement$TrieNode int int int int com.oracle.objectfile.macho.ExportTrieElement$TrieNode java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Deque.peekLast:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 2
invokeinterface java.util.Deque.peekLast:()Ljava/lang/Object;
checkcast com.oracle.objectfile.macho.ExportTrieElement$TrieNode
invokevirtual com.oracle.objectfile.macho.ExportTrieElement$TrieNode.worstCaseNodeRecordSize:()I
iadd
istore 15
start local 15 34: StackMap locals: int
StackMap stack:
aload 3
iload 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Deque.addLast:(Ljava/lang/Object;)V
35: aload 4
aload 13
iload 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 15 end local 13 36: StackMap locals: com.oracle.objectfile.macho.ExportTrieElement$TrieNode com.oracle.objectfile.io.OutputAssembler java.util.Deque java.util.Deque java.util.Map java.util.Map java.util.Map java.util.Map com.oracle.objectfile.macho.ExportTrieElement$TrieNode int int int int top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
37: aload 8
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.children:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 45
StackMap locals:
StackMap stack:
38: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.macho.ExportTrieElement$TrieNode
astore 13
start local 13 39: aload 1
aload 13
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.suffix:Ljava/lang/String;
invokeinterface com.oracle.objectfile.io.OutputAssembler.writeString:(Ljava/lang/String;)V
40: aload 1
invokeinterface com.oracle.objectfile.io.OutputAssembler.pos:()I
istore 15
start local 15 41: aload 4
aload 13
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2l
invokestatic com.oracle.objectfile.macho.MachOObjectFile.encodedLengthLEB128:(J)I
istore 16
start local 16 42: aload 1
iload 16
invokeinterface com.oracle.objectfile.io.OutputAssembler.skip:(I)V
43: aload 6
aload 13
iload 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
44: aload 7
aload 13
iload 16
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 16 end local 15 end local 13 45: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
46: aload 8
aload 0
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.this$0:Lcom/oracle/objectfile/macho/ExportTrieElement;
getfield com.oracle.objectfile.macho.ExportTrieElement.root:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
if_acmpeq 55
47: aload 6
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 13
start local 13 48: aload 7
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 14
start local 14 49: getstatic com.oracle.objectfile.macho.ExportTrieElement$TrieNode.$assertionsDisabled:Z
ifne 50
iload 10
i2l
invokestatic com.oracle.objectfile.macho.MachOObjectFile.encodedLengthLEB128:(J)I
iload 14
if_icmple 50
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
50: StackMap locals: com.oracle.objectfile.macho.ExportTrieElement$TrieNode com.oracle.objectfile.io.OutputAssembler java.util.Deque java.util.Deque java.util.Map java.util.Map java.util.Map java.util.Map com.oracle.objectfile.macho.ExportTrieElement$TrieNode int int int int int int
StackMap stack:
aload 1
iload 13
i2l
invokeinterface com.oracle.objectfile.io.OutputAssembler.pushSeek:(J)V
51: aload 1
iload 10
i2l
invokeinterface com.oracle.objectfile.io.OutputAssembler.writeLEB128:(J)V
52: aload 1
invokeinterface com.oracle.objectfile.io.OutputAssembler.pop:()V
53: aload 6
aload 8
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
54: aload 7
aload 8
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 55: StackMap locals: com.oracle.objectfile.macho.ExportTrieElement$TrieNode com.oracle.objectfile.io.OutputAssembler java.util.Deque java.util.Deque java.util.Map java.util.Map java.util.Map java.util.Map
StackMap stack:
aload 2
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 11
56: getstatic com.oracle.objectfile.macho.ExportTrieElement$TrieNode.$assertionsDisabled:Z
ifne 57
aload 6
invokeinterface java.util.Map.isEmpty:()Z
ifne 57
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
57: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.macho.ExportTrieElement$TrieNode.$assertionsDisabled:Z
ifne 58
aload 7
invokeinterface java.util.Map.isEmpty:()Z
ifne 58
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
58: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.macho.ExportTrieElement$TrieNode.$assertionsDisabled:Z
ifne 59
aload 2
invokeinterface java.util.Deque.isEmpty:()Z
ifne 59
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
59: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.macho.ExportTrieElement$TrieNode.$assertionsDisabled:Z
ifne 60
aload 3
invokeinterface java.util.Deque.isEmpty:()Z
ifne 60
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
60: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.macho.ExportTrieElement$TrieNode.$assertionsDisabled:Z
ifne 61
aload 4
invokeinterface java.util.Map.isEmpty:()Z
ifne 61
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
61: StackMap locals:
StackMap stack:
getstatic com.oracle.objectfile.macho.ExportTrieElement$TrieNode.$assertionsDisabled:Z
ifne 62
aload 5
invokeinterface java.util.Map.size:()I
aload 0
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.this$0:Lcom/oracle/objectfile/macho/ExportTrieElement;
getfield com.oracle.objectfile.macho.ExportTrieElement.totalNodesInTree:I
if_icmpeq 62
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
62: StackMap locals:
StackMap stack:
return
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 63 0 this Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
0 63 1 out Lcom/oracle/objectfile/io/OutputAssembler;
2 63 2 nodes Ljava/util/Deque<Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;>;
3 63 3 offsetUpperBounds Ljava/util/Deque<Ljava/lang/Integer;>;
4 63 4 upperBoundsByNode Ljava/util/Map<Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;Ljava/lang/Integer;>;
5 63 5 offsetsByWrittenNode Ljava/util/Map<Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;Ljava/lang/Integer;>;
6 63 6 childPointerOffsets Ljava/util/Map<Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;Ljava/lang/Integer;>;
7 63 7 childPointerGapSizes Ljava/util/Map<Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;Ljava/lang/Integer;>;
12 55 8 node Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
13 55 9 ourUpperBound I
15 55 10 nodeStartPos I
18 55 11 terminalStartPos I
21 55 12 terminalSize I
29 36 13 child Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
32 33 15 childUpperBound I
34 36 15 childUpperBound I
39 45 13 child Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
41 45 15 childPointerPos I
42 45 16 gapSize I
48 55 13 pointerOffset I
49 55 14 gapSize I
MethodParameters:
Name Flags
out
void <init>(com.oracle.objectfile.macho.ExportTrieElement);
descriptor: (Lcom/oracle/objectfile/macho/ExportTrieElement;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.this$0:Lcom/oracle/objectfile/macho/ExportTrieElement;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
dup
getfield com.oracle.objectfile.macho.ExportTrieElement.totalNodesInTree:I
iconst_1
iadd
putfield com.oracle.objectfile.macho.ExportTrieElement.totalNodesInTree:I
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.children:Ljava/util/List;
3: aload 0
aconst_null
putfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.suffix:Ljava/lang/String;
4: aload 0
aconst_null
putfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.terminal:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieTerminal;
5: aload 0
aconst_null
putfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.parent:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
MethodParameters:
Name Flags
this$0 final
void <init>(com.oracle.objectfile.macho.ExportTrieElement, com.oracle.objectfile.macho.ExportTrieElement$TrieNode, com.oracle.objectfile.macho.ExportTrieElement$TrieTerminal);
descriptor: (Lcom/oracle/objectfile/macho/ExportTrieElement;Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;Lcom/oracle/objectfile/macho/ExportTrieElement$TrieTerminal;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.this$0:Lcom/oracle/objectfile/macho/ExportTrieElement;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
dup
getfield com.oracle.objectfile.macho.ExportTrieElement.totalNodesInTree:I
iconst_1
iadd
putfield com.oracle.objectfile.macho.ExportTrieElement.totalNodesInTree:I
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.children:Ljava/util/List;
3: aload 2
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.children:Ljava/util/List;
aload 0
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 0
aload 3
putfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.terminal:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieTerminal;
5: aload 0
aload 2
putfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.parent:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
6: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
0 7 2 parent Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
0 7 3 term Lcom/oracle/objectfile/macho/ExportTrieElement$TrieTerminal;
MethodParameters:
Name Flags
this$0 final
parent
term
com.oracle.objectfile.macho.ExportTrieElement$TrieNode findLongestPrefixNode(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.children:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: com.oracle.objectfile.macho.ExportTrieElement$TrieNode java.lang.String int top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.macho.ExportTrieElement$TrieNode
astore 3
start local 3 2: getstatic com.oracle.objectfile.macho.ExportTrieElement$TrieNode.$assertionsDisabled:Z
ifne 3
aload 3
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.suffix:Ljava/lang/String;
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: com.oracle.objectfile.macho.ExportTrieElement$TrieNode java.lang.String int com.oracle.objectfile.macho.ExportTrieElement$TrieNode java.util.Iterator
StackMap stack:
aload 1
iload 2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
aload 3
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.suffix:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
4: aload 3
aload 1
iload 2
aload 3
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.suffix:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iadd
invokevirtual com.oracle.objectfile.macho.ExportTrieElement$TrieNode.findLongestPrefixNode:(Ljava/lang/String;I)Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
areturn
end local 3 5: StackMap locals: com.oracle.objectfile.macho.ExportTrieElement$TrieNode java.lang.String int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
0 7 1 s Ljava/lang/String;
0 7 2 startPos I
2 5 3 child Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
MethodParameters:
Name Flags
s
startPos
java.lang.String value();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=6, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
astore 2
start local 2 2: StackMap locals: java.util.List com.oracle.objectfile.macho.ExportTrieElement$TrieNode
StackMap stack:
aload 1
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 2
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.parent:Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
dup
astore 2
ifnonnull 2
4: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 5: aload 1
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 4
start local 4 6: goto 12
7: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 1
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.objectfile.macho.ExportTrieElement$TrieNode
getfield com.oracle.objectfile.macho.ExportTrieElement$TrieNode.suffix:Ljava/lang/String;
astore 5
start local 5 8: aload 3
aload 5
ifnonnull 9
ldc ""
goto 10
StackMap locals: com.oracle.objectfile.macho.ExportTrieElement$TrieNode java.util.List com.oracle.objectfile.macho.ExportTrieElement$TrieNode java.lang.StringBuilder int java.lang.String
StackMap stack: java.lang.StringBuilder
9: aload 5
StackMap locals: com.oracle.objectfile.macho.ExportTrieElement$TrieNode java.util.List com.oracle.objectfile.macho.ExportTrieElement$TrieNode java.lang.StringBuilder int java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.String
10: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 5 11: iinc 4 -1
StackMap locals:
StackMap stack:
12: iload 4
ifge 7
end local 4 13: 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 14 0 this Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
1 14 1 ancestors Ljava/util/List<Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;>;
2 14 2 cur Lcom/oracle/objectfile/macho/ExportTrieElement$TrieNode;
5 14 3 sb Ljava/lang/StringBuilder;
6 13 4 i I
8 11 5 ancestorSuffix Ljava/lang/String;
}
SourceFile: "ExportTrieElement.java"
NestHost: com.oracle.objectfile.macho.ExportTrieElement
InnerClasses:
TrieNode = com.oracle.objectfile.macho.ExportTrieElement$TrieNode of com.oracle.objectfile.macho.ExportTrieElement
TrieTerminal = com.oracle.objectfile.macho.ExportTrieElement$TrieTerminal of com.oracle.objectfile.macho.ExportTrieElement