move SLRUCache to util-rt

This commit is contained in:
Dmitry Batkovich
2016-12-28 13:20:27 +03:00
parent de72b5acdc
commit 61e75ed54e
6 changed files with 2 additions and 34 deletions
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2013 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,17 +16,13 @@
package com.intellij.util.containers.hash;
import gnu.trove.TObjectHashingStrategy;
public interface EqualityPolicy<T> {
EqualityPolicy<?> IDENTITY = new EqualityPolicy() {
@Override
public int getHashCode(Object value) {
return System.identityHashCode(value);
}
@Override
public boolean isEqual(Object val1, Object val2) {
return val1 == val2;
}
@@ -34,34 +30,14 @@ public interface EqualityPolicy<T> {
EqualityPolicy<?> CANONICAL = new EqualityPolicy() {
@Override
public int getHashCode(Object value) {
return value != null ? value.hashCode() : 0;
}
@Override
public boolean isEqual(Object val1, Object val2) {
return val1 != null ? val1.equals(val2) : val2 == null;
}
};
class ByHashingStrategy<T> implements EqualityPolicy<T> {
private final TObjectHashingStrategy<T> myStrategy;
public ByHashingStrategy(TObjectHashingStrategy<T> strategy) {
myStrategy = strategy;
}
@Override
public int getHashCode(T value) {
return myStrategy.computeHashCode(value);
}
@Override
public boolean isEqual(T val1, T val2) {
return myStrategy.equals(val1, val2);
}
}
int getHashCode(T value);
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2013 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -295,17 +295,14 @@ public class LinkedHashMap<K, V> extends AbstractMap<K, V> implements Map<K, V>
this.value = value;
}
@Override
public K getKey() {
return key;
}
@Override
public V getValue() {
return value;
}
@Override
public V setValue(final V value) {
final V result = this.value;
this.value = value;
@@ -318,12 +315,10 @@ public class LinkedHashMap<K, V> extends AbstractMap<K, V> implements Map<K, V>
private LinkedHashMap.Entry<K, V> e = back;
private LinkedHashMap.Entry<K, V> last;
@Override
public boolean hasNext() {
return e != null;
}
@Override
public void remove() {
if (last == null) {
throw new IllegalStateException();
@@ -345,7 +340,6 @@ public class LinkedHashMap<K, V> extends AbstractMap<K, V> implements Map<K, V>
@Override
public Iterator<Map.Entry<K, V>> iterator() {
return new LinkedHashIterator<Map.Entry<K, V>>() {
@Override
public Map.Entry<K, V> next() {
return nextEntry();
}
@@ -388,7 +382,6 @@ public class LinkedHashMap<K, V> extends AbstractMap<K, V> implements Map<K, V>
@Override
public Iterator<K> iterator() {
return new LinkedHashIterator<K>() {
@Override
public K next() {
return nextEntry().key;
}
@@ -422,7 +415,6 @@ public class LinkedHashMap<K, V> extends AbstractMap<K, V> implements Map<K, V>
@Override
public Iterator<V> iterator() {
return new LinkedHashIterator<V>() {
@Override
public V next() {
return nextEntry().value;
}