mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-25 19:29:30 +07:00
java highlighting tests moved to community
This commit is contained in:
+49
@@ -0,0 +1,49 @@
|
||||
import java.util.*;
|
||||
|
||||
interface TypesafeMap<BASE> {
|
||||
|
||||
@SuppressWarnings({"UnusedDeclaration"})
|
||||
public interface Key<BASE,VALUE> { }
|
||||
|
||||
public <VALUE, KEY extends Key<BASE,VALUE>>
|
||||
boolean has(Class<KEY> key);
|
||||
|
||||
public <VALUE, KEY extends Key<BASE,VALUE>>
|
||||
VALUE get(Class<KEY> key);
|
||||
|
||||
public <VALUEBASE, VALUE extends VALUEBASE, KEY extends Key<BASE,VALUEBASE>>
|
||||
VALUE set(Class<KEY> key, VALUE value);
|
||||
|
||||
public <VALUE, KEY extends Key<BASE,VALUE>>
|
||||
VALUE remove(Class<KEY> key);
|
||||
|
||||
public Set<Class<?>> keySet();
|
||||
|
||||
public <VALUE, KEY extends Key<CoreMap, VALUE>>
|
||||
boolean containsKey(Class<KEY> key);
|
||||
}
|
||||
|
||||
|
||||
interface CoreMap extends TypesafeMap<CoreMap> { }
|
||||
|
||||
interface CoreAnnotation<V>
|
||||
extends TypesafeMap.Key<CoreMap, V> {
|
||||
|
||||
public Class<V> getType();
|
||||
}
|
||||
|
||||
|
||||
class CoreMaps {
|
||||
|
||||
public static <K,V> Map<K,V> toMap(Collection<CoreMap> coremaps,
|
||||
Class<CoreAnnotation<K>> keyKey, Class<CoreAnnotation<V>> valueKey) {
|
||||
|
||||
Map<K,V> map = new HashMap<K,V>();
|
||||
for (CoreMap cm : coremaps) {
|
||||
map.put(cm.get(keyKey), cm.get(valueKey));
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user