public final class org.pcollections.HashPMap<K, V> extends java.util.AbstractMap<K, V> implements org.pcollections.PMap<K, V>, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.pcollections.HashPMap
super_class: java.util.AbstractMap
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final org.pcollections.PMap<java.lang.Integer, org.pcollections.PSequence<java.util.Map$Entry<K, V>>> intMap;
descriptor: Lorg/pcollections/PMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/pcollections/PMap<Ljava/lang/Integer;Lorg/pcollections/PSequence<Ljava/util/Map$Entry<TK;TV;>;>;>;
private final int size;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private transient java.util.Set<java.util.Map$Entry<K, V>> entrySet;
descriptor: Ljava/util/Set;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Ljava/util/Set<Ljava/util/Map$Entry<TK;TV;>;>;
public static <K, V> org.pcollections.HashPMap<K, V> empty(org.pcollections.PMap<java.lang.Integer, org.pcollections.PSequence<java.util.Map$Entry<K, V>>>);
descriptor: (Lorg/pcollections/PMap;)Lorg/pcollections/HashPMap;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.pcollections.HashPMap
dup
aload 0
aload 0
invokeinterface org.pcollections.PMap.keySet:()Ljava/util/Set;
invokeinterface org.pcollections.PMap.minusAll:(Ljava/util/Collection;)Lorg/pcollections/PMap;
iconst_0
invokespecial org.pcollections.HashPMap.<init>:(Lorg/pcollections/PMap;I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 intMap Lorg/pcollections/PMap<Ljava/lang/Integer;Lorg/pcollections/PSequence<Ljava/util/Map$Entry<TK;TV;>;>;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/pcollections/PMap<Ljava/lang/Integer;Lorg/pcollections/PSequence<Ljava/util/Map$Entry<TK;TV;>;>;>;)Lorg/pcollections/HashPMap<TK;TV;>;
MethodParameters:
Name Flags
intMap final
private void <init>(org.pcollections.PMap<java.lang.Integer, org.pcollections.PSequence<java.util.Map$Entry<K, V>>>, );
descriptor: (Lorg/pcollections/PMap;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.util.AbstractMap.<init>:()V
1: aload 0
aconst_null
putfield org.pcollections.HashPMap.entrySet:Ljava/util/Set;
2: aload 0
aload 1
putfield org.pcollections.HashPMap.intMap:Lorg/pcollections/PMap;
3: aload 0
iload 2
putfield org.pcollections.HashPMap.size:I
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/pcollections/HashPMap<TK;TV;>;
0 5 1 intMap Lorg/pcollections/PMap<Ljava/lang/Integer;Lorg/pcollections/PSequence<Ljava/util/Map$Entry<TK;TV;>;>;>;
0 5 2 size I
Signature: (Lorg/pcollections/PMap<Ljava/lang/Integer;Lorg/pcollections/PSequence<Ljava/util/Map$Entry<TK;TV;>;>;>;I)V
MethodParameters:
Name Flags
intMap final
size final
public java.util.Set<java.util.Map$Entry<K, V>> entrySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.pcollections.HashPMap.entrySet:Ljava/util/Set;
ifnonnull 4
1: aload 0
2: new org.pcollections.HashPMap$1
dup
aload 0
invokespecial org.pcollections.HashPMap$1.<init>:(Lorg/pcollections/HashPMap;)V
3: putfield org.pcollections.HashPMap.entrySet:Ljava/util/Set;
4: StackMap locals:
StackMap stack:
aload 0
getfield org.pcollections.HashPMap.entrySet:Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/pcollections/HashPMap<TK;TV;>;
Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<TK;TV;>;>;
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.pcollections.HashPMap.size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/pcollections/HashPMap<TK;TV;>;
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 java.lang.Object.hashCode:()I
invokevirtual org.pcollections.HashPMap.getEntries:(I)Lorg/pcollections/PSequence;
aload 1
invokestatic org.pcollections.HashPMap.keyIndexIn:(Lorg/pcollections/PSequence;Ljava/lang/Object;)I
iconst_m1
if_icmpeq 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 Lorg/pcollections/HashPMap<TK;TV;>;
0 2 1 key Ljava/lang/Object;
MethodParameters:
Name Flags
key final
public V get();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokevirtual org.pcollections.HashPMap.getEntries:(I)Lorg/pcollections/PSequence;
astore 2
start local 2 1: aload 2
invokeinterface org.pcollections.PSequence.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.pcollections.HashPMap java.lang.Object org.pcollections.PSequence top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 3: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
areturn
end local 3 StackMap locals:
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/pcollections/HashPMap<TK;TV;>;
0 6 1 key Ljava/lang/Object;
1 6 2 entries Lorg/pcollections/PSequence<Ljava/util/Map$Entry<TK;TV;>;>;
3 4 3 entry Ljava/util/Map$Entry<TK;TV;>;
Signature: (Ljava/lang/Object;)TV;
MethodParameters:
Name Flags
key final
public org.pcollections.HashPMap<K, V> plusAll(java.util.Map<? extends K, ? extends V>);
descriptor: (Ljava/util/Map;)Lorg/pcollections/HashPMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.pcollections.HashPMap java.util.Map org.pcollections.HashPMap top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 3: aload 2
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokevirtual org.pcollections.HashPMap.plus:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/pcollections/HashPMap;
astore 2
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/pcollections/HashPMap<TK;TV;>;
0 6 1 map Ljava/util/Map<+TK;+TV;>;
1 6 2 result Lorg/pcollections/HashPMap<TK;TV;>;
3 4 3 entry Ljava/util/Map$Entry<+TK;+TV;>;
Signature: (Ljava/util/Map<+TK;+TV;>;)Lorg/pcollections/HashPMap<TK;TV;>;
MethodParameters:
Name Flags
map final
public org.pcollections.HashPMap<K, V> minusAll(java.util.Collection<?>);
descriptor: (Ljava/util/Collection;)Lorg/pcollections/HashPMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.pcollections.HashPMap java.util.Collection org.pcollections.HashPMap top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 3: aload 2
aload 3
invokevirtual org.pcollections.HashPMap.minus:(Ljava/lang/Object;)Lorg/pcollections/HashPMap;
astore 2
end local 3 StackMap locals:
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/pcollections/HashPMap<TK;TV;>;
0 6 1 keys Ljava/util/Collection<*>;
1 6 2 result Lorg/pcollections/HashPMap<TK;TV;>;
3 4 3 key Ljava/lang/Object;
Signature: (Ljava/util/Collection<*>;)Lorg/pcollections/HashPMap<TK;TV;>;
MethodParameters:
Name Flags
keys final
public org.pcollections.HashPMap<K, V> plus(K, V);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/pcollections/HashPMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokevirtual org.pcollections.HashPMap.getEntries:(I)Lorg/pcollections/PSequence;
astore 3
start local 3 1: aload 3
invokeinterface org.pcollections.PSequence.size:()I
istore 4
start local 4 2: aload 3
aload 1
invokestatic org.pcollections.HashPMap.keyIndexIn:(Lorg/pcollections/PSequence;Ljava/lang/Object;)I
istore 5
start local 5 3: iload 5
iconst_m1
if_icmpeq 4
aload 3
iload 5
invokeinterface org.pcollections.PSequence.minus:(I)Lorg/pcollections/PSequence;
astore 3
4: StackMap locals: org.pcollections.PSequence int int
StackMap stack:
aload 3
new java.util.AbstractMap$SimpleImmutableEntry
dup
aload 1
aload 2
invokespecial java.util.AbstractMap$SimpleImmutableEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface org.pcollections.PSequence.plus:(Ljava/lang/Object;)Lorg/pcollections/PSequence;
astore 3
5: new org.pcollections.HashPMap
dup
aload 0
getfield org.pcollections.HashPMap.intMap:Lorg/pcollections/PMap;
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
invokeinterface org.pcollections.PMap.plus:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/pcollections/PMap;
aload 0
getfield org.pcollections.HashPMap.size:I
iload 4
isub
aload 3
invokeinterface org.pcollections.PSequence.size:()I
iadd
invokespecial org.pcollections.HashPMap.<init>:(Lorg/pcollections/PMap;I)V
areturn
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 6 0 this Lorg/pcollections/HashPMap<TK;TV;>;
0 6 1 key TK;
0 6 2 value TV;
1 6 3 entries Lorg/pcollections/PSequence<Ljava/util/Map$Entry<TK;TV;>;>;
2 6 4 size0 I
3 6 5 i I
Signature: (TK;TV;)Lorg/pcollections/HashPMap<TK;TV;>;
MethodParameters:
Name Flags
key final
value final
public org.pcollections.HashPMap<K, V> minus();
descriptor: (Ljava/lang/Object;)Lorg/pcollections/HashPMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokevirtual org.pcollections.HashPMap.getEntries:(I)Lorg/pcollections/PSequence;
astore 2
start local 2 1: aload 2
aload 1
invokestatic org.pcollections.HashPMap.keyIndexIn:(Lorg/pcollections/PSequence;Ljava/lang/Object;)I
istore 3
start local 3 2: iload 3
iconst_m1
if_icmpne 4
3: aload 0
areturn
4: StackMap locals: org.pcollections.PSequence int
StackMap stack:
aload 2
iload 3
invokeinterface org.pcollections.PSequence.minus:(I)Lorg/pcollections/PSequence;
astore 2
5: aload 2
invokeinterface org.pcollections.PSequence.size:()I
ifne 7
6: new org.pcollections.HashPMap
dup
aload 0
getfield org.pcollections.HashPMap.intMap:Lorg/pcollections/PMap;
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface org.pcollections.PMap.minus:(Ljava/lang/Object;)Lorg/pcollections/PMap;
aload 0
getfield org.pcollections.HashPMap.size:I
iconst_1
isub
invokespecial org.pcollections.HashPMap.<init>:(Lorg/pcollections/PMap;I)V
areturn
7: StackMap locals:
StackMap stack:
new org.pcollections.HashPMap
dup
aload 0
getfield org.pcollections.HashPMap.intMap:Lorg/pcollections/PMap;
aload 1
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
invokeinterface org.pcollections.PMap.plus:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/pcollections/PMap;
aload 0
getfield org.pcollections.HashPMap.size:I
iconst_1
isub
invokespecial org.pcollections.HashPMap.<init>:(Lorg/pcollections/PMap;I)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/pcollections/HashPMap<TK;TV;>;
0 8 1 key Ljava/lang/Object;
1 8 2 entries Lorg/pcollections/PSequence<Ljava/util/Map$Entry<TK;TV;>;>;
2 8 3 i I
Signature: (Ljava/lang/Object;)Lorg/pcollections/HashPMap<TK;TV;>;
MethodParameters:
Name Flags
key final
private org.pcollections.PSequence<java.util.Map$Entry<K, V>> getEntries(int);
descriptor: (I)Lorg/pcollections/PSequence;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.pcollections.HashPMap.intMap:Lorg/pcollections/PMap;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface org.pcollections.PMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.pcollections.PSequence
astore 2
start local 2 1: aload 2
ifnonnull 2
invokestatic org.pcollections.ConsPStack.empty:()Lorg/pcollections/ConsPStack;
areturn
2: StackMap locals: org.pcollections.PSequence
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/pcollections/HashPMap<TK;TV;>;
0 3 1 hash I
1 3 2 entries Lorg/pcollections/PSequence<Ljava/util/Map$Entry<TK;TV;>;>;
Signature: (I)Lorg/pcollections/PSequence<Ljava/util/Map$Entry<TK;TV;>;>;
MethodParameters:
Name Flags
hash final
private static <K, V> int keyIndexIn(org.pcollections.PSequence<java.util.Map$Entry<K, V>>, );
descriptor: (Lorg/pcollections/PSequence;Ljava/lang/Object;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
invokeinterface org.pcollections.PSequence.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: org.pcollections.PSequence java.lang.Object int top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 3: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
iload 2
ireturn
4: StackMap locals: org.pcollections.PSequence java.lang.Object int java.util.Map$Entry java.util.Iterator
StackMap stack:
iinc 2 1
end local 3 5: StackMap locals: org.pcollections.PSequence java.lang.Object int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 entries Lorg/pcollections/PSequence<Ljava/util/Map$Entry<TK;TV;>;>;
0 7 1 key Ljava/lang/Object;
1 7 2 i I
3 5 3 entry Ljava/util/Map$Entry<TK;TV;>;
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Lorg/pcollections/PSequence<Ljava/util/Map$Entry<TK;TV;>;>;Ljava/lang/Object;)I
MethodParameters:
Name Flags
entries final
key final
public org.pcollections.PMap plus(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Lorg/pcollections/PMap;
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 java.lang.Object
invokevirtual org.pcollections.HashPMap.plus:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/pcollections/HashPMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.pcollections.PMap minusAll(java.util.Collection);
descriptor: (Ljava/util/Collection;)Lorg/pcollections/PMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual org.pcollections.HashPMap.minusAll:(Ljava/util/Collection;)Lorg/pcollections/HashPMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.pcollections.PMap minus(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/pcollections/PMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual org.pcollections.HashPMap.minus:(Ljava/lang/Object;)Lorg/pcollections/HashPMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.pcollections.PMap plusAll(java.util.Map);
descriptor: (Ljava/util/Map;)Lorg/pcollections/PMap;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.util.Map
invokevirtual org.pcollections.HashPMap.plusAll:(Ljava/util/Map;)Lorg/pcollections/HashPMap;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/AbstractMap<TK;TV;>;Lorg/pcollections/PMap<TK;TV;>;Ljava/io/Serializable;
SourceFile: "HashPMap.java"
NestMembers:
org.pcollections.HashPMap$1 org.pcollections.HashPMap$SequenceIterator
InnerClasses:
public SimpleImmutableEntry = java.util.AbstractMap$SimpleImmutableEntry of java.util.AbstractMap
public abstract Entry = java.util.Map$Entry of java.util.Map
org.pcollections.HashPMap$1
SequenceIterator = org.pcollections.HashPMap$SequenceIterator of org.pcollections.HashPMap