public final class org.hibernate.internal.util.collections.IdentityMap<K, V> implements java.util.Map<K, V>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.hibernate.internal.util.collections.IdentityMap
super_class: java.lang.Object
{
private final java.util.Map<org.hibernate.internal.util.collections.IdentityMap$IdentityKey<K>, V> map;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lorg/hibernate/internal/util/collections/IdentityMap$IdentityKey<TK;>;TV;>;
private transient java.util.Map$Entry<org.hibernate.internal.util.collections.IdentityMap$IdentityKey<K>, V>[] entryArray;
descriptor: [Ljava/util/Map$Entry;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: [Ljava/util/Map$Entry<Lorg/hibernate/internal/util/collections/IdentityMap$IdentityKey<TK;>;TV;>;
private transient boolean dirty;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
public static <K, V> org.hibernate.internal.util.collections.IdentityMap<K, V> instantiateSequenced(int);
descriptor: (I)Lorg/hibernate/internal/util/collections/IdentityMap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new org.hibernate.internal.util.collections.IdentityMap
dup
new java.util.LinkedHashMap
dup
iload 0
invokespecial java.util.LinkedHashMap.<init>:(I)V
invokespecial org.hibernate.internal.util.collections.IdentityMap.<init>:(Ljava/util/Map;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 size I
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(I)Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
MethodParameters:
Name Flags
size
private void <init>(java.util.Map<org.hibernate.internal.util.collections.IdentityMap$IdentityKey<K>, V>);
descriptor: (Ljava/util/Map;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
anewarray java.util.Map$Entry
putfield org.hibernate.internal.util.collections.IdentityMap.entryArray:[Ljava/util/Map$Entry;
2: aload 0
aload 1
putfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
3: aload 0
iconst_1
putfield org.hibernate.internal.util.collections.IdentityMap.dirty:Z
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
0 5 1 underlyingMap Ljava/util/Map<Lorg/hibernate/internal/util/collections/IdentityMap$IdentityKey<TK;>;TV;>;
Signature: (Ljava/util/Map<Lorg/hibernate/internal/util/collections/IdentityMap$IdentityKey<TK;>;TV;>;)V
MethodParameters:
Name Flags
underlyingMap
public static <K, V> java.util.Map$Entry<K, V>[] concurrentEntries(java.util.Map<K, V>);
descriptor: (Ljava/util/Map;)[Ljava/util/Map$Entry;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast org.hibernate.internal.util.collections.IdentityMap
invokevirtual org.hibernate.internal.util.collections.IdentityMap.entryArray:()[Ljava/util/Map$Entry;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 map Ljava/util/Map<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Map<TK;TV;>;)[Ljava/util/Map$Entry<TK;TV;>;
MethodParameters:
Name Flags
map
public java.util.Iterator<K> keyIterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.hibernate.internal.util.collections.IdentityMap$KeyIterator
dup
aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokespecial org.hibernate.internal.util.collections.IdentityMap$KeyIterator.<init>:(Ljava/util/Iterator;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
Signature: ()Ljava/util/Iterator<TK;>;
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
public boolean containsKey(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
new org.hibernate.internal.util.collections.IdentityMap$IdentityKey
dup
aload 1
invokespecial org.hibernate.internal.util.collections.IdentityMap$IdentityKey.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
0 1 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=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsValue:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
0 1 1 val Ljava/lang/Object;
MethodParameters:
Name Flags
val
public V get();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
new org.hibernate.internal.util.collections.IdentityMap$IdentityKey
dup
aload 1
invokespecial org.hibernate.internal.util.collections.IdentityMap$IdentityKey.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
0 1 1 key Ljava/lang/Object;
Signature: (Ljava/lang/Object;)TV;
MethodParameters:
Name Flags
key
public V put(K, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
putfield org.hibernate.internal.util.collections.IdentityMap.dirty:Z
1: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
new org.hibernate.internal.util.collections.IdentityMap$IdentityKey
dup
aload 1
invokespecial org.hibernate.internal.util.collections.IdentityMap$IdentityKey.<init>:(Ljava/lang/Object;)V
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
0 2 1 key TK;
0 2 2 value TV;
Signature: (TK;TV;)TV;
MethodParameters:
Name Flags
key
value
public V remove();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield org.hibernate.internal.util.collections.IdentityMap.dirty:Z
1: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
new org.hibernate.internal.util.collections.IdentityMap$IdentityKey
dup
aload 1
invokespecial org.hibernate.internal.util.collections.IdentityMap$IdentityKey.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
0 2 1 key Ljava/lang/Object;
Signature: (Ljava/lang/Object;)TV;
MethodParameters:
Name Flags
key
public void putAll(java.util.Map<? extends K, ? extends V>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: org.hibernate.internal.util.collections.IdentityMap java.util.Map top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 2: aload 0
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokevirtual org.hibernate.internal.util.collections.IdentityMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
0 5 1 otherMap Ljava/util/Map<+TK;+TV;>;
2 3 2 entry Ljava/util/Map$Entry<+TK;+TV;>;
Signature: (Ljava/util/Map<+TK;+TV;>;)V
MethodParameters:
Name Flags
otherMap
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.hibernate.internal.util.collections.IdentityMap.dirty:Z
1: aload 0
aconst_null
putfield org.hibernate.internal.util.collections.IdentityMap.entryArray:[Ljava/util/Map$Entry;
2: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
public java.util.Set<K> keySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
Signature: ()Ljava/util/Set<TK;>;
public java.util.Collection<V> values();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
Signature: ()Ljava/util/Collection<TV;>;
public java.util.Set<java.util.Map$Entry<K, V>> entrySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: new java.util.HashSet
dup
aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
invokespecial java.util.HashSet.<init>:(I)V
astore 1
start local 1 1: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.hibernate.internal.util.collections.IdentityMap java.util.Set top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 3: aload 1
new org.hibernate.internal.util.collections.IdentityMap$IdentityMapEntry
dup
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.hibernate.internal.util.collections.IdentityMap$IdentityKey
invokevirtual org.hibernate.internal.util.collections.IdentityMap$IdentityKey.getRealKey:()Ljava/lang/Object;
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokespecial org.hibernate.internal.util.collections.IdentityMap$IdentityMapEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
1 6 1 set Ljava/util/Set<Ljava/util/Map$Entry<TK;TV;>;>;
3 4 2 entry Ljava/util/Map$Entry<Lorg/hibernate/internal/util/collections/IdentityMap$IdentityKey<TK;>;TV;>;
Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<TK;TV;>;>;
public java.util.Map$Entry[] entryArray();
descriptor: ()[Ljava/util/Map$Entry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.dirty:Z
ifeq 9
1: aload 0
aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
anewarray java.util.Map$Entry
putfield org.hibernate.internal.util.collections.IdentityMap.entryArray:[Ljava/util/Map$Entry;
2: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: goto 7
5: StackMap locals: java.util.Iterator int
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 6: aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.entryArray:[Ljava/util/Map$Entry;
iload 2
iinc 2 1
new org.hibernate.internal.util.collections.IdentityMap$IdentityMapEntry
dup
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.hibernate.internal.util.collections.IdentityMap$IdentityKey
getfield org.hibernate.internal.util.collections.IdentityMap$IdentityKey.key:Ljava/lang/Object;
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokespecial org.hibernate.internal.util.collections.IdentityMap$IdentityMapEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
aastore
end local 3 7: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 0
iconst_0
putfield org.hibernate.internal.util.collections.IdentityMap.dirty:Z
end local 2 end local 1 9: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.internal.util.collections.IdentityMap.entryArray:[Ljava/util/Map$Entry;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
3 9 1 itr Ljava/util/Iterator;
4 9 2 i I
6 7 3 me Ljava/util/Map$Entry;
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
getfield org.hibernate.internal.util.collections.IdentityMap.map:Ljava/util/Map;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/internal/util/collections/IdentityMap<TK;TV;>;
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<TK;TV;>;
SourceFile: "IdentityMap.java"
NestMembers:
org.hibernate.internal.util.collections.IdentityMap$IdentityKey org.hibernate.internal.util.collections.IdentityMap$IdentityMapEntry org.hibernate.internal.util.collections.IdentityMap$KeyIterator
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public final IdentityKey = org.hibernate.internal.util.collections.IdentityMap$IdentityKey of org.hibernate.internal.util.collections.IdentityMap
public final IdentityMapEntry = org.hibernate.internal.util.collections.IdentityMap$IdentityMapEntry of org.hibernate.internal.util.collections.IdentityMap
final KeyIterator = org.hibernate.internal.util.collections.IdentityMap$KeyIterator of org.hibernate.internal.util.collections.IdentityMap