Java Code Examples for com.intellij.openapi.util.Key.getKeyByIndex()

The following are Jave code examples for showing how to use getKeyByIndex() of the com.intellij.openapi.util.Key class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
+ Save this method
Example 1
Project: intellij-ce-playground   File: ArrayBackedFMap.java   View Source Code Vote up 6 votes
@NotNull
@Override
public KeyFMap minus(@NotNull Key<?> key) {
  int oldSize = size();
  int keyCode = key.hashCode();
  for (int i = 0; i< oldSize; i++) {
    int oldKey = keys[i];
    if (keyCode == oldKey) {
      if (oldSize == 3) {
        int i1 = (2-i)/2;
        int i2 = 3 - (i+2)/2;
        Key<Object> key1 = Key.getKeyByIndex(keys[i1]);
        Key<Object> key2 = Key.getKeyByIndex(keys[i2]);
        if (key1 == null && key2 == null) return EMPTY_MAP;
        if (key1 == null) return new OneElementFMap<Object>(key2, values[i2]);
        if (key2 == null) return new OneElementFMap<Object>(key1, values[i1]);
        return new PairElementsFMap(key1, values[i1], key2, values[i2]);
      }
      int[] newKeys = ArrayUtil.remove(keys, i);
      Object[] newValues = ArrayUtil.remove(values, i, ArrayUtil.OBJECT_ARRAY_FACTORY);
      return new ArrayBackedFMap(newKeys, newValues);
    }
  }
  return this;
}
 
Example 2
Project: intellij-ce-playground   File: ArrayBackedFMap.java   View Source Code Vote up 5 votes
@Override
public String toString() {
  String s = "";
  for (int i = 0; i < keys.length; i++) {
    int key = keys[i];
    Object value = values[i];
    s += (s.isEmpty() ? "" : ", ") + Key.getKeyByIndex(key) + " -> " + value;
  }
  return "(" + s + ")";
}
 
Example 3
Project: intellij-ce-playground   File: ArrayBackedFMap.java   View Source Code Vote up 5 votes
@NotNull
static Key[] getKeysByIndices(int[] indexes) {
  Key[] result = new Key[indexes.length];

  for (int i =0; i < indexes.length; i++) {
    result[i] = Key.getKeyByIndex(indexes[i]);
  }

  return result;
}