This commit is contained in:
Alexey Kudravtsev
2012-12-20 15:51:34 +04:00
parent d06e51d4cc
commit e4d553af66
6 changed files with 20 additions and 9 deletions
@@ -16,6 +16,7 @@
package com.intellij.util;
import com.intellij.openapi.util.Key;
import org.jetbrains.annotations.NotNull;
/**
* @author ik
@@ -23,7 +24,9 @@ import com.intellij.openapi.util.Key;
public interface CharTable {
Key<CharTable> CHAR_TABLE_KEY = new Key<CharTable>("Char table");
CharSequence intern(CharSequence text);
@NotNull
CharSequence intern(@NotNull CharSequence text);
CharSequence intern(CharSequence baseText, int startOffset, int endOffset);
@NotNull
CharSequence intern(@NotNull CharSequence baseText, int startOffset, int endOffset);
}
@@ -17,6 +17,7 @@
package com.intellij.psi.impl.source;
import com.intellij.util.CharTable;
import org.jetbrains.annotations.NotNull;
/*
* User: max
@@ -27,13 +28,15 @@ public class IdentityCharTable implements CharTable {
public static final IdentityCharTable INSTANCE = new IdentityCharTable();
@NotNull
@Override
public CharSequence intern(final CharSequence text) {
public CharSequence intern(@NotNull final CharSequence text) {
return text;
}
@NotNull
@Override
public CharSequence intern(CharSequence baseText, int startOffset, int endOffset) {
public CharSequence intern(@NotNull CharSequence baseText, int startOffset, int endOffset) {
if (endOffset - startOffset == baseText.length()) return baseText.toString();
return baseText.subSequence(startOffset, endOffset);
}
@@ -179,7 +179,7 @@ public class JDOMUtil {
}
}
public static void internElement(final Element element, final StringInterner interner) {
public static void internElement(@NotNull Element element, @NotNull StringInterner interner) {
element.setName(intern(interner, element.getName()));
final List attributes = element.getAttributes();
@@ -1935,10 +1935,12 @@ public class StringUtil extends StringUtilRt {
if (v1 == null && v2 == null) {
return 0;
}
else if (v1 == null) {
if (v1 == null) {
return -1;
}
else if (v2 == null) return 1;
if (v2 == null) {
return 1;
}
String[] part1 = v1.split("[\\.\\_\\-]");
String[] part2 = v2.split("[\\.\\_\\-]");
@@ -28,7 +28,6 @@ import java.util.*;
* @author Dmitry Avdeev
*/
public class MultiMap<K, V> implements Serializable {
public static final MultiMap EMPTY = new MultiMap() {
@Override
protected Map createMap() {
@@ -156,11 +155,12 @@ public class MultiMap<K, V> implements Serializable {
public Collection<? extends V> values() {
if (values == null) {
values = new AbstractCollection<V>() {
@NotNull
@Override
public Iterator<V> iterator() {
return new Iterator<V>() {
private Iterator<Collection<V>> mapIterator = myMap.values().iterator();
private final Iterator<Collection<V>> mapIterator = myMap.values().iterator();
private Iterator<V> itr = EmptyIterator.getInstance();
@@ -53,6 +53,8 @@ public class CharArrayCharSequence implements CharSequenceBackedByArray {
return start == 0 && end == length() ? this : new CharArrayCharSequence(myChars, myStart + start, myStart + end);
}
@Override
@NotNull
public String toString() {
return new String(myChars, myStart, myEnd - myStart); //TODO StringFactory
}
@@ -66,6 +68,7 @@ public class CharArrayCharSequence implements CharSequenceBackedByArray {
return chars;
}
@Override
public int hashCode() {
return StringUtil.stringHashCode(myChars, myStart, myEnd);
}