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) {
ConsPStack<MapEntry<K, V>> entries = getEntries(key.hashCode());
for (MapEntry<K, V> entry : entries)
if (entry.getKey().equals(key))
return entry.getValue();
if (entry.key.equals(key))
return entry.value;
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) {
int i = 0;
for (MapEntry<K, V> entry : entries) {
if (entry.getKey().equals(key))
if (entry.key.equals(key))
return i;
i++;
}
@@ -19,22 +19,14 @@ package kotlin.reflect.jvm.internal.pcollections;
final class MapEntry<K, V> implements java.io.Serializable {
private static final long serialVersionUID = 7138329143949025153L;
private final K key;
private final V value;
public final K key;
public final V value;
public MapEntry(K key, V value) {
this.key = key;
this.value = value;
}
public K getKey() {
return key;
}
public V getValue() {
return value;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof MapEntry)) return false;
@@ -45,8 +37,7 @@ final class MapEntry<K, V> implements java.io.Serializable {
@Override
public int hashCode() {
return (key == null ? 0 : key.hashCode()) ^
(value == null ? 0 : value.hashCode());
return (key == null ? 0 : key.hashCode()) ^ (value == null ? 0 : value.hashCode());
}
@Override