final class com.oracle.truffle.object.TriePropertyMap extends com.oracle.truffle.object.PropertyMap implements com.oracle.truffle.object.LinkedImmutableMap<java.lang.Object, com.oracle.truffle.api.object.Property>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.object.TriePropertyMap
super_class: com.oracle.truffle.object.PropertyMap
{
private static final com.oracle.truffle.object.TriePropertyMap EMPTY;
descriptor: Lcom/oracle/truffle/object/TriePropertyMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean VERIFY;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private final int size;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.object.TrieNode<java.lang.Object, com.oracle.truffle.api.object.Property, com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry> root;
descriptor: Lcom/oracle/truffle/object/TrieNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/oracle/truffle/object/TrieNode<Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;>;
private final com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry head;
descriptor: Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry tail;
descriptor: Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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=6, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/object/TriePropertyMap;
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.truffle.object.TriePropertyMap.$assertionsDisabled:Z
3: new com.oracle.truffle.object.TriePropertyMap
dup
iconst_0
invokestatic com.oracle.truffle.object.TrieNode.empty:()Lcom/oracle/truffle/object/TrieNode;
aconst_null
aconst_null
invokespecial com.oracle.truffle.object.TriePropertyMap.<init>:(ILcom/oracle/truffle/object/TrieNode;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;)V
putstatic com.oracle.truffle.object.TriePropertyMap.EMPTY:Lcom/oracle/truffle/object/TriePropertyMap;
4: return
LocalVariableTable:
Start End Slot Name Signature
static int hash(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/Object;
MethodParameters:
Name Flags
key
static java.lang.Object key(com.oracle.truffle.api.object.Property);
descriptor: (Lcom/oracle/truffle/api/object/Property;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.object.Property.getKey:()Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 property Lcom/oracle/truffle/api/object/Property;
MethodParameters:
Name Flags
property
private void <init>(int, com.oracle.truffle.object.TrieNode<java.lang.Object, com.oracle.truffle.api.object.Property, com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry>, com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry, com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry);
descriptor: (ILcom/oracle/truffle/object/TrieNode;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial com.oracle.truffle.object.PropertyMap.<init>:()V
1: aload 0
iload 1
putfield com.oracle.truffle.object.TriePropertyMap.size:I
2: aload 0
aload 2
putfield com.oracle.truffle.object.TriePropertyMap.root:Lcom/oracle/truffle/object/TrieNode;
3: aload 0
aload 3
putfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
4: aload 0
aload 4
putfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
5: getstatic com.oracle.truffle.object.TriePropertyMap.$assertionsDisabled:Z
ifne 6
aload 0
invokevirtual com.oracle.truffle.object.TriePropertyMap.verify:()Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: com.oracle.truffle.object.TriePropertyMap int com.oracle.truffle.object.TrieNode com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
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 7 0 this Lcom/oracle/truffle/object/TriePropertyMap;
0 7 1 size I
0 7 2 root Lcom/oracle/truffle/object/TrieNode<Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;>;
0 7 3 head Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
0 7 4 tail Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
Signature: (ILcom/oracle/truffle/object/TrieNode<Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;>;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;)V
MethodParameters:
Name Flags
size
root
head
tail
private boolean verify();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.object.TriePropertyMap.$assertionsDisabled:Z
ifne 3
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.size:I
ifne 1
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
ifnonnull 1
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
ifnull 3
StackMap locals:
StackMap stack:
1: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.size:I
ifeq 2
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
ifnull 2
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
ifnonnull 3
StackMap locals:
StackMap stack:
2: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "size="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.size:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", head="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", tail="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.object.TriePropertyMap.$assertionsDisabled:Z
ifne 4
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
ifnull 4
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
aload 0
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getKey:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.object.TriePropertyMap.getEntry:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
if_acmpeq 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.object.TriePropertyMap.$assertionsDisabled:Z
ifne 5
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
ifnull 5
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
aload 0
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getKey:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.object.TriePropertyMap.getEntry:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
if_acmpeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/object/TriePropertyMap;
public static com.oracle.truffle.object.TriePropertyMap empty();
descriptor: ()Lcom/oracle/truffle/object/TriePropertyMap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.truffle.object.TriePropertyMap.EMPTY:Lcom/oracle/truffle/object/TriePropertyMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.object.TriePropertyMap.size:()I
ifne 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 Lcom/oracle/truffle/object/TriePropertyMap;
public boolean containsKey(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.object.TriePropertyMap.getEntry:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/object/TriePropertyMap;
0 2 1 key Ljava/lang/Object;
MethodParameters:
Name Flags
key
public boolean containsValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.object.TriePropertyMap.reverseOrderEntrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.oracle.truffle.object.TriePropertyMap java.lang.Object 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 1
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/object/TriePropertyMap;
0 6 1 value Ljava/lang/Object;
2 4 2 entry Ljava/util/Map$Entry<Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;>;
MethodParameters:
Name Flags
value
public com.oracle.truffle.api.object.Property get(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.object.TriePropertyMap.getEntry:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
StackMap locals: com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
StackMap stack:
2: aload 2
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getValue:()Lcom/oracle/truffle/api/object/Property;
StackMap locals:
StackMap stack: com.oracle.truffle.api.object.Property
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/object/TriePropertyMap;
0 4 1 key Ljava/lang/Object;
1 4 2 entry Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
MethodParameters:
Name Flags
key
public com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry getEntry(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.root:Lcom/oracle/truffle/object/TrieNode;
aload 1
aload 1
invokestatic com.oracle.truffle.object.TriePropertyMap.hash:(Ljava/lang/Object;)I
invokevirtual com.oracle.truffle.object.TrieNode.find:(Ljava/lang/Object;I)Ljava/util/Map$Entry;
checkcast com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
astore 2
start local 2 1: getstatic com.oracle.truffle.object.TriePropertyMap.$assertionsDisabled:Z
ifne 2
aload 2
ifnull 2
aload 2
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getKey:()Ljava/lang/Object;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/object/TriePropertyMap;
0 3 1 key Ljava/lang/Object;
1 3 2 entry Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
MethodParameters:
Name Flags
key
public com.oracle.truffle.object.TriePropertyMap putCopy(com.oracle.truffle.api.object.Property);
descriptor: (Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.object.TriePropertyMap.key:(Lcom/oracle/truffle/api/object/Property;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.object.TriePropertyMap.copyAndPutImpl:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/object/TriePropertyMap;
0 2 1 value Lcom/oracle/truffle/api/object/Property;
1 2 2 key Ljava/lang/Object;
MethodParameters:
Name Flags
value
public com.oracle.truffle.object.TriePropertyMap copyAndPut(java.lang.Object, com.oracle.truffle.api.object.Property);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual com.oracle.truffle.api.object.Property.getKey:()Ljava/lang/Object;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Key must equal extracted key of property."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.object.TriePropertyMap.copyAndPutImpl:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/object/TriePropertyMap;
0 3 1 key Ljava/lang/Object;
0 3 2 value Lcom/oracle/truffle/api/object/Property;
MethodParameters:
Name Flags
key
value
private com.oracle.truffle.object.TriePropertyMap copyAndPutImpl(java.lang.Object, com.oracle.truffle.api.object.Property);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.object.TriePropertyMap.hash:(Ljava/lang/Object;)I
istore 3
start local 3 1: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.root:Lcom/oracle/truffle/object/TrieNode;
aload 1
iload 3
invokevirtual com.oracle.truffle.object.TrieNode.find:(Ljava/lang/Object;I)Ljava/util/Map$Entry;
checkcast com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
astore 4
start local 4 2: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.root:Lcom/oracle/truffle/object/TrieNode;
astore 5
start local 5 3: aload 4
ifnonnull 22
4: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.size:I
iconst_1
iadd
istore 8
start local 8 5: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
ifnonnull 10
6: new com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
dup
aload 2
aconst_null
aconst_null
invokespecial com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.<init>:(Lcom/oracle/truffle/api/object/Property;Ljava/lang/Object;Ljava/lang/Object;)V
astore 9
start local 9 7: aload 9
dup
astore 6
start local 6 8: astore 7
start local 7 9: goto 37
end local 9 end local 7 end local 6 10: StackMap locals: com.oracle.truffle.object.TriePropertyMap java.lang.Object com.oracle.truffle.api.object.Property int com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry com.oracle.truffle.object.TrieNode top top int
StackMap stack:
getstatic com.oracle.truffle.object.TriePropertyMap.$assertionsDisabled:Z
ifne 12
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
ifnull 11
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
ifnonnull 12
StackMap locals:
StackMap stack:
11: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getKey:()Ljava/lang/Object;
astore 10
start local 10 13: new com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
dup
aload 2
aload 10
aconst_null
invokespecial com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.<init>:(Lcom/oracle/truffle/api/object/Property;Ljava/lang/Object;Ljava/lang/Object;)V
astore 9
start local 9 14: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
aload 1
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.withNextKey:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
astore 11
start local 11 15: aload 5
aload 10
aload 10
invokestatic com.oracle.truffle.object.TriePropertyMap.hash:(Ljava/lang/Object;)I
aload 11
invokevirtual com.oracle.truffle.object.TrieNode.put:(Ljava/lang/Object;ILjava/util/Map$Entry;)Lcom/oracle/truffle/object/TrieNode;
astore 5
16: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
if_acmpne 19
17: aload 11
astore 7
start local 7 18: goto 20
end local 7 19: StackMap locals: com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry java.lang.Object com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
StackMap stack:
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
astore 7
start local 7 20: StackMap locals: com.oracle.truffle.object.TriePropertyMap java.lang.Object com.oracle.truffle.api.object.Property int com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry com.oracle.truffle.object.TrieNode top com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry int com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry java.lang.Object com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
StackMap stack:
aload 9
astore 6
end local 11 end local 10 start local 6 21: goto 37
end local 9 end local 8 end local 7 end local 6 StackMap locals: com.oracle.truffle.object.TriePropertyMap java.lang.Object com.oracle.truffle.api.object.Property int com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry com.oracle.truffle.object.TrieNode
StackMap stack:
22: aload 2
aload 4
getfield com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.value:Lcom/oracle/truffle/api/object/Property;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 24
23: aload 0
areturn
24: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.size:I
istore 8
start local 8 25: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
astore 7
start local 7 26: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
astore 6
start local 6 27: aload 4
aload 2
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.withValue:(Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
astore 9
start local 9 28: getstatic com.oracle.truffle.object.TriePropertyMap.$assertionsDisabled:Z
ifne 29
aload 9
aload 4
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.equals:(Ljava/lang/Object;)Z
ifeq 29
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
29: StackMap locals: com.oracle.truffle.object.TriePropertyMap java.lang.Object com.oracle.truffle.api.object.Property int com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry com.oracle.truffle.object.TrieNode com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry int com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getPrevKey:()Ljava/lang/Object;
ifnull 31
30: getstatic com.oracle.truffle.object.TriePropertyMap.$assertionsDisabled:Z
ifne 33
aload 0
aload 4
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getPrevKey:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.object.TriePropertyMap.getEntry:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getNextKey:()Ljava/lang/Object;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
31: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.object.TriePropertyMap.$assertionsDisabled:Z
ifne 32
aload 4
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
if_acmpeq 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals:
StackMap stack:
aload 9
astore 7
33: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getNextKey:()Ljava/lang/Object;
ifnull 35
34: getstatic com.oracle.truffle.object.TriePropertyMap.$assertionsDisabled:Z
ifne 37
aload 0
aload 4
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getNextKey:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.object.TriePropertyMap.getEntry:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getPrevKey:()Ljava/lang/Object;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 37
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
35: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.object.TriePropertyMap.$assertionsDisabled:Z
ifne 36
aload 4
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
if_acmpeq 36
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
36: StackMap locals:
StackMap stack:
aload 9
astore 6
37: StackMap locals:
StackMap stack:
aload 5
aload 1
iload 3
aload 9
invokevirtual com.oracle.truffle.object.TrieNode.put:(Ljava/lang/Object;ILjava/util/Map$Entry;)Lcom/oracle/truffle/object/TrieNode;
astore 5
38: new com.oracle.truffle.object.TriePropertyMap
dup
iload 8
aload 5
aload 7
aload 6
invokespecial com.oracle.truffle.object.TriePropertyMap.<init>:(ILcom/oracle/truffle/object/TrieNode;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;)V
areturn
end local 9 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 39 0 this Lcom/oracle/truffle/object/TriePropertyMap;
0 39 1 key Ljava/lang/Object;
0 39 2 value Lcom/oracle/truffle/api/object/Property;
1 39 3 hash I
2 39 4 existing Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
3 39 5 newRoot Lcom/oracle/truffle/object/TrieNode<Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;>;
8 10 6 newTail Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
21 22 6 newTail Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
27 39 6 newTail Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
9 10 7 newHead Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
18 19 7 newHead Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
20 22 7 newHead Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
26 39 7 newHead Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
5 22 8 newSize I
25 39 8 newSize I
7 10 9 newEntry Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
14 22 9 newEntry Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
28 39 9 newEntry Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
13 21 10 tailKey Ljava/lang/Object;
15 21 11 tailWithNext Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
MethodParameters:
Name Flags
key
value
public com.oracle.truffle.object.TriePropertyMap removeCopy(com.oracle.truffle.api.object.Property);
descriptor: (Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.object.TriePropertyMap.key:(Lcom/oracle/truffle/api/object/Property;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual com.oracle.truffle.object.TriePropertyMap.copyAndRemove:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/object/TriePropertyMap;
0 2 1 value Lcom/oracle/truffle/api/object/Property;
1 2 2 key Ljava/lang/Object;
MethodParameters:
Name Flags
value
public com.oracle.truffle.object.TriePropertyMap copyAndRemove(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.object.TriePropertyMap.hash:(Ljava/lang/Object;)I
istore 2
start local 2 1: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.root:Lcom/oracle/truffle/object/TrieNode;
aload 1
iload 2
invokevirtual com.oracle.truffle.object.TrieNode.find:(Ljava/lang/Object;I)Ljava/util/Map$Entry;
checkcast com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
astore 3
start local 3 2: aload 3
ifnonnull 4
3: aload 0
areturn
4: StackMap locals: int com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
StackMap stack:
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.size:I
iconst_1
if_icmpne 6
5: invokestatic com.oracle.truffle.object.TriePropertyMap.empty:()Lcom/oracle/truffle/object/TriePropertyMap;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.root:Lcom/oracle/truffle/object/TrieNode;
astore 4
start local 4 7: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
astore 5
start local 5 8: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
astore 6
start local 6 9: aload 3
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getPrevKey:()Ljava/lang/Object;
ifnull 18
10: aload 3
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getPrevKey:()Ljava/lang/Object;
astore 7
start local 7 11: aload 0
aload 7
invokevirtual com.oracle.truffle.object.TriePropertyMap.getEntry:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
astore 8
start local 8 12: aload 8
aload 3
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getNextKey:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.withNextKey:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
astore 9
start local 9 13: aload 4
aload 7
aload 7
invokestatic com.oracle.truffle.object.TriePropertyMap.hash:(Ljava/lang/Object;)I
aload 9
invokevirtual com.oracle.truffle.object.TrieNode.put:(Ljava/lang/Object;ILjava/util/Map$Entry;)Lcom/oracle/truffle/object/TrieNode;
astore 4
14: aload 3
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
if_acmpne 16
15: aload 9
astore 6
16: StackMap locals: com.oracle.truffle.object.TriePropertyMap java.lang.Object int com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry com.oracle.truffle.object.TrieNode com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry java.lang.Object com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
StackMap stack:
aload 8
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
if_acmpne 18
17: aload 9
astore 5
end local 9 end local 8 end local 7 18: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getNextKey:()Ljava/lang/Object;
ifnull 27
19: aload 3
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getNextKey:()Ljava/lang/Object;
astore 7
start local 7 20: aload 0
aload 7
invokevirtual com.oracle.truffle.object.TriePropertyMap.getEntry:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
astore 8
start local 8 21: aload 8
aload 3
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getPrevKey:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.withPrevKey:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
astore 9
start local 9 22: aload 4
aload 7
aload 7
invokestatic com.oracle.truffle.object.TriePropertyMap.hash:(Ljava/lang/Object;)I
aload 9
invokevirtual com.oracle.truffle.object.TrieNode.put:(Ljava/lang/Object;ILjava/util/Map$Entry;)Lcom/oracle/truffle/object/TrieNode;
astore 4
23: aload 3
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
if_acmpne 25
24: aload 9
astore 5
25: StackMap locals: java.lang.Object com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
StackMap stack:
aload 8
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
if_acmpne 27
26: aload 9
astore 6
end local 9 end local 8 end local 7 27: StackMap locals:
StackMap stack:
aload 4
aload 1
iload 2
invokevirtual com.oracle.truffle.object.TrieNode.remove:(Ljava/lang/Object;I)Lcom/oracle/truffle/object/TrieNode;
astore 4
28: getstatic com.oracle.truffle.object.TriePropertyMap.$assertionsDisabled:Z
ifne 29
aload 4
ifnonnull 29
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
29: StackMap locals:
StackMap stack:
new com.oracle.truffle.object.TriePropertyMap
dup
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.size:I
iconst_1
isub
aload 4
aload 5
aload 6
invokespecial com.oracle.truffle.object.TriePropertyMap.<init>:(ILcom/oracle/truffle/object/TrieNode;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;)V
areturn
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 30 0 this Lcom/oracle/truffle/object/TriePropertyMap;
0 30 1 key Ljava/lang/Object;
1 30 2 hash I
2 30 3 existing Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
7 30 4 newRoot Lcom/oracle/truffle/object/TrieNode<Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;>;
8 30 5 newHead Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
9 30 6 newTail Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
11 18 7 prevKey Ljava/lang/Object;
12 18 8 existingPrev Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
13 18 9 newPrev Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
20 27 7 nextKey Ljava/lang/Object;
21 27 8 existingNext Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
22 27 9 newNext Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
MethodParameters:
Name Flags
key
public com.oracle.truffle.object.TriePropertyMap replaceCopy(com.oracle.truffle.api.object.Property, com.oracle.truffle.api.object.Property);
descriptor: (Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual com.oracle.truffle.object.TriePropertyMap.putCopy:(Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
0 1 1 oldValue Lcom/oracle/truffle/api/object/Property;
0 1 2 newValue Lcom/oracle/truffle/api/object/Property;
MethodParameters:
Name Flags
oldValue
newValue
java.util.Iterator<java.util.Map$Entry<java.lang.Object, com.oracle.truffle.api.object.Property>> orderedEntryIterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0000)
Code:
stack=5, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.object.LinkedImmutableMap$LinkedEntryIterator
dup
aload 0
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
iconst_1
invokespecial com.oracle.truffle.object.LinkedImmutableMap$LinkedEntryIterator.<init>:(Lcom/oracle/truffle/object/LinkedImmutableMap;Lcom/oracle/truffle/object/LinkedImmutableMap$LinkedEntry;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
Signature: ()Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;>;>;
java.util.Iterator<java.util.Map$Entry<java.lang.Object, com.oracle.truffle.api.object.Property>> reverseOrderedEntryIterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0000)
Code:
stack=5, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.object.LinkedImmutableMap$LinkedEntryIterator
dup
aload 0
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
iconst_0
invokespecial com.oracle.truffle.object.LinkedImmutableMap$LinkedEntryIterator.<init>:(Lcom/oracle/truffle/object/LinkedImmutableMap;Lcom/oracle/truffle/object/LinkedImmutableMap$LinkedEntry;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
Signature: ()Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;>;>;
public java.util.Iterator<java.lang.Object> orderedKeyIterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.object.LinkedImmutableMap$LinkedKeyIterator
dup
aload 0
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
iconst_1
invokespecial com.oracle.truffle.object.LinkedImmutableMap$LinkedKeyIterator.<init>:(Lcom/oracle/truffle/object/LinkedImmutableMap;Lcom/oracle/truffle/object/LinkedImmutableMap$LinkedEntry;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
Signature: ()Ljava/util/Iterator<Ljava/lang/Object;>;
public java.util.Iterator<java.lang.Object> reverseOrderedKeyIterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.object.LinkedImmutableMap$LinkedKeyIterator
dup
aload 0
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
iconst_0
invokespecial com.oracle.truffle.object.LinkedImmutableMap$LinkedKeyIterator.<init>:(Lcom/oracle/truffle/object/LinkedImmutableMap;Lcom/oracle/truffle/object/LinkedImmutableMap$LinkedEntry;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
Signature: ()Ljava/util/Iterator<Ljava/lang/Object;>;
public java.util.Iterator<com.oracle.truffle.api.object.Property> orderedValueIterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.object.LinkedImmutableMap$LinkedValueIterator
dup
aload 0
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.head:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
iconst_1
invokespecial com.oracle.truffle.object.LinkedImmutableMap$LinkedValueIterator.<init>:(Lcom/oracle/truffle/object/LinkedImmutableMap;Lcom/oracle/truffle/object/LinkedImmutableMap$LinkedEntry;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
Signature: ()Ljava/util/Iterator<Lcom/oracle/truffle/api/object/Property;>;
public java.util.Iterator<com.oracle.truffle.api.object.Property> reverseOrderedValueIterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.object.LinkedImmutableMap$LinkedValueIterator
dup
aload 0
aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
iconst_0
invokespecial com.oracle.truffle.object.LinkedImmutableMap$LinkedValueIterator.<init>:(Lcom/oracle/truffle/object/LinkedImmutableMap;Lcom/oracle/truffle/object/LinkedImmutableMap$LinkedEntry;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
Signature: ()Ljava/util/Iterator<Lcom/oracle/truffle/api/object/Property;>;
public java.util.Set<java.util.Map$Entry<java.lang.Object, com.oracle.truffle.api.object.Property>> entrySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.object.TriePropertyMap$1
dup
aload 0
invokespecial com.oracle.truffle.object.TriePropertyMap$1.<init>:(Lcom/oracle/truffle/object/TriePropertyMap;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;>;>;
public java.util.Set<java.lang.Object> keySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.object.TriePropertyMap$2
dup
aload 0
invokespecial com.oracle.truffle.object.TriePropertyMap$2.<init>:(Lcom/oracle/truffle/object/TriePropertyMap;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
Signature: ()Ljava/util/Set<Ljava/lang/Object;>;
public java.util.Collection<com.oracle.truffle.api.object.Property> values();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.object.TriePropertyMap$3
dup
aload 0
invokespecial com.oracle.truffle.object.TriePropertyMap$3.<init>:(Lcom/oracle/truffle/object/TriePropertyMap;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
Signature: ()Ljava/util/Collection<Lcom/oracle/truffle/api/object/Property;>;
public java.util.Set<java.util.Map$Entry<java.lang.Object, com.oracle.truffle.api.object.Property>> reverseOrderEntrySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.object.TriePropertyMap$4
dup
aload 0
invokespecial com.oracle.truffle.object.TriePropertyMap$4.<init>:(Lcom/oracle/truffle/object/TriePropertyMap;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;>;>;
public java.util.Set<java.lang.Object> reverseOrderKeys();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.object.TriePropertyMap$5
dup
aload 0
invokespecial com.oracle.truffle.object.TriePropertyMap$5.<init>:(Lcom/oracle/truffle/object/TriePropertyMap;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
Signature: ()Ljava/util/Set<Ljava/lang/Object;>;
public java.util.Set<com.oracle.truffle.api.object.Property> reverseOrderValues();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.object.TriePropertyMap$6
dup
aload 0
invokespecial com.oracle.truffle.object.TriePropertyMap$6.<init>:(Lcom/oracle/truffle/object/TriePropertyMap;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
Signature: ()Ljava/util/Set<Lcom/oracle/truffle/api/object/Property;>;
public com.oracle.truffle.api.object.Property getLastProperty();
descriptor: ()Lcom/oracle/truffle/api/object/Property;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.oracle.truffle.object.TriePropertyMap.tail:Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
invokevirtual com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry.getValue:()Lcom/oracle/truffle/api/object/Property;
StackMap locals:
StackMap stack: com.oracle.truffle.api.object.Property
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/object/TriePropertyMap;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.object.TriePropertyMap.values:()Ljava/util/Collection;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/TriePropertyMap;
public com.oracle.truffle.object.ImmutableMap copyAndPut(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lcom/oracle/truffle/object/ImmutableMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast java.lang.Object
aload 2
checkcast com.oracle.truffle.api.object.Property
invokevirtual com.oracle.truffle.object.TriePropertyMap.copyAndPut:(Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.oracle.truffle.object.PropertyMap removeCopy(com.oracle.truffle.api.object.Property);
descriptor: (Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/PropertyMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.object.TriePropertyMap.removeCopy:(Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object get(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.object.TriePropertyMap.get:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.oracle.truffle.object.PropertyMap putCopy(com.oracle.truffle.api.object.Property);
descriptor: (Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/PropertyMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.object.TriePropertyMap.putCopy:(Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.oracle.truffle.object.ImmutableMap copyAndRemove(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/object/ImmutableMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.Object
invokevirtual com.oracle.truffle.object.TriePropertyMap.copyAndRemove:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.oracle.truffle.object.PropertyMap replaceCopy(com.oracle.truffle.api.object.Property, com.oracle.truffle.api.object.Property);
descriptor: (Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/PropertyMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.object.TriePropertyMap.replaceCopy:(Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/TriePropertyMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.oracle.truffle.object.LinkedImmutableMap$LinkedEntry getEntry(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/object/LinkedImmutableMap$LinkedEntry;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.Object
invokevirtual com.oracle.truffle.object.TriePropertyMap.getEntry:(Ljava/lang/Object;)Lcom/oracle/truffle/object/TriePropertyMap$LinkedPropertyEntry;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lcom/oracle/truffle/object/PropertyMap;Lcom/oracle/truffle/object/LinkedImmutableMap<Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;>;
SourceFile: "TriePropertyMap.java"
NestMembers:
com.oracle.truffle.object.TriePropertyMap$1 com.oracle.truffle.object.TriePropertyMap$2 com.oracle.truffle.object.TriePropertyMap$3 com.oracle.truffle.object.TriePropertyMap$4 com.oracle.truffle.object.TriePropertyMap$5 com.oracle.truffle.object.TriePropertyMap$6 com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry
InnerClasses:
public abstract LinkedEntry = com.oracle.truffle.object.LinkedImmutableMap$LinkedEntry of com.oracle.truffle.object.LinkedImmutableMap
public final LinkedEntryIterator = com.oracle.truffle.object.LinkedImmutableMap$LinkedEntryIterator of com.oracle.truffle.object.LinkedImmutableMap
public final LinkedKeyIterator = com.oracle.truffle.object.LinkedImmutableMap$LinkedKeyIterator of com.oracle.truffle.object.LinkedImmutableMap
public final LinkedValueIterator = com.oracle.truffle.object.LinkedImmutableMap$LinkedValueIterator of com.oracle.truffle.object.LinkedImmutableMap
com.oracle.truffle.object.TriePropertyMap$1
com.oracle.truffle.object.TriePropertyMap$2
com.oracle.truffle.object.TriePropertyMap$3
com.oracle.truffle.object.TriePropertyMap$4
com.oracle.truffle.object.TriePropertyMap$5
com.oracle.truffle.object.TriePropertyMap$6
final LinkedPropertyEntry = com.oracle.truffle.object.TriePropertyMap$LinkedPropertyEntry of com.oracle.truffle.object.TriePropertyMap
public abstract Entry = java.util.Map$Entry of java.util.Map