Inline HashPMap entry's getter methods

This commit is contained in:
Alexander Udalov
2014-06-25 20:12:34 +04:00
parent b00022ef1c
commit 47b08af66c
2 changed files with 6 additions and 15 deletions
@@ -46,8 +46,8 @@ public final class HashPMap<K, V> {
public V get(Object key) { public V get(Object key) {
ConsPStack<MapEntry<K, V>> entries = getEntries(key.hashCode()); ConsPStack<MapEntry<K, V>> entries = getEntries(key.hashCode());
for (MapEntry<K, V> entry : entries) for (MapEntry<K, V> entry : entries)
if (entry.getKey().equals(key)) if (entry.key.equals(key))
return entry.getValue(); return entry.value;
return null; return null;
} }
@@ -81,7 +81,7 @@ public final class HashPMap<K, V> {
private static <K, V> int keyIndexIn(ConsPStack<MapEntry<K, V>> entries, Object key) { private static <K, V> int keyIndexIn(ConsPStack<MapEntry<K, V>> entries, Object key) {
int i = 0; int i = 0;
for (MapEntry<K, V> entry : entries) { for (MapEntry<K, V> entry : entries) {
if (entry.getKey().equals(key)) if (entry.key.equals(key))
return i; return i;
i++; i++;
} }
@@ -19,22 +19,14 @@ package kotlin.reflect.jvm.internal.pcollections;
final class MapEntry<K, V> implements java.io.Serializable { final class MapEntry<K, V> implements java.io.Serializable {
private static final long serialVersionUID = 7138329143949025153L; private static final long serialVersionUID = 7138329143949025153L;
private final K key; public final K key;
private final V value; public final V value;
public MapEntry(K key, V value) { public MapEntry(K key, V value) {
this.key = key; this.key = key;
this.value = value; this.value = value;
} }
public K getKey() {
return key;
}
public V getValue() {
return value;
}
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
if (!(o instanceof MapEntry)) return false; if (!(o instanceof MapEntry)) return false;
@@ -45,8 +37,7 @@ final class MapEntry<K, V> implements java.io.Serializable {
@Override @Override
public int hashCode() { public int hashCode() {
return (key == null ? 0 : key.hashCode()) ^ return (key == null ? 0 : key.hashCode()) ^ (value == null ? 0 : value.hashCode());
(value == null ? 0 : value.hashCode());
} }
@Override @Override