本文整理汇总了Java中com.intellij.openapi.util.text.StringHash类的典型用法代码示例。如果您正苦于以下问题:Java StringHash类的具体用法?Java StringHash怎么用?Java StringHash使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
StringHash类属于com.intellij.openapi.util.text包,在下文中一共展示了StringHash类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: hashFromNameAndLoader
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
private static int hashFromNameAndLoader(String name, Loader loader, int n) {
int hash = StringHash.murmur(name, n);
int i = loader.getIndex();
while (i > 0) {
hash = hash * n + ((i % 10) + '0');
i /= 10;
}
return hash;
}
示例2: addExpected
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
private boolean addExpected(StringBuilder sb, int offset, boolean expected) {
String[] strings = new String[variants.size()];
long[] hashes = new long[strings.length];
Arrays.fill(strings, "");
int count = 0;
loop: for (Variant variant : expected? variants : unexpected) {
if (offset == variant.offset) {
String text = variant.object.toString();
long hash = StringHash.calc(text);
for (int i=0; i<count; i++) {
if (hashes[i] == hash) continue loop;
}
hashes[count] = hash;
strings[count] = text;
count++;
}
}
Arrays.sort(strings);
count = 0;
for (String s : strings) {
if (s == "") continue;
if (count++ > 0) {
if (count > MAX_VARIANTS_TO_DISPLAY) {
sb.append(" and ...");
break;
}
else {
sb.append(", ");
}
}
char c = s.charAt(0);
String displayText = c == '<' || StringUtil.isJavaIdentifierStart(c) ? s : '\'' + s + '\'';
sb.append(displayText);
}
if (count > 1 && count < MAX_VARIANTS_TO_DISPLAY) {
int idx = sb.lastIndexOf(", ");
sb.replace(idx, idx + 1, " or");
}
return count > 0;
}
示例3: getFromPool
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
public static String getFromPool(String value) {
if (value == null) return null;
if (value.length() == 0) return EMPTY;
final long hash = StringHash.calc(value);
String reused = (String) myReusableStrings.get(hash);
if (reused != null) return reused;
// new String() is required because value often is passed as substring which has a reference to original char array
// see {@link String.substring(int, int} method implementation.
//noinspection RedundantStringConstructorCall
reused = new String(value);
myReusableStrings.put(hash, reused);
return reused;
}
示例4: addExpected
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
private boolean addExpected(StringBuilder sb, int offset, boolean expected) {
String[] strings = new String[variants.size()];
long[] hashes = new long[strings.length];
Arrays.fill(strings, "");
int count = 0;
loop: for (Variant variant : expected? variants : unexpected) {
if (offset == variant.offset) {
String text = variant.object.toString();
long hash = StringHash.calc(text);
for (int i=0; i<count; i++) {
if (hashes[i] == hash) continue loop;
}
hashes[count] = hash;
strings[count] = text;
count++;
}
}
Arrays.sort(strings);
count = 0;
for (String s : strings) {
if (s == "") continue;
if (count++ > 0) {
if (count > MAX_VARIANTS_TO_DISPLAY) {
sb.append(" and ...");
break;
}
else {
sb.append(", ");
}
}
char c = s.charAt(0);
String displayText = c == '<' || StringUtil.isJavaIdentifierStart(c) ? s : '\'' + s + '\'';
sb.append(displayText);
}
if (count > 1 && count < MAX_VARIANTS_TO_DISPLAY) {
int idx = sb.lastIndexOf(", ");
sb.replace(idx, idx + 1, " or");
}
return count > 0;
}
示例5: LazyPresentablePattern
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
public LazyPresentablePattern(@NotNull Node node) {
myNode = node;
myHashCode = StringHash.calc(toString());
}
示例6: maybeContains
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
private boolean maybeContains(String name, Loader loader) {
int hash = hashFromNameAndLoader(name, loader, StringHash.murmur(name, SEED));
int hash2 = hashFromNameAndLoader(name, loader, hash);
return maybeContains(hash, hash2);
}
示例7: add
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
private void add(String name, Loader loader) {
int hash = hashFromNameAndLoader(name, loader, StringHash.murmur(name, SEED));
int hash2 = hashFromNameAndLoader(name, loader, hash);
addIt(hash, hash2);
}
示例8: getContentPathName
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
@NotNull
public String getContentPathName(@NotNull String id) {
return Long.toHexString(StringHash.calc(id));
}
示例9: getHistoryPathName
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
@NotNull
public String getHistoryPathName(@NotNull String id) {
return Long.toHexString(StringHash.calc(id));
}
示例10: getOldHistoryFilePath
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
@NotNull
private String getOldHistoryFilePath(final String id) {
String pathName = myRootType.getConsoleTypeId() + Long.toHexString(StringHash.calc(id));
return PathManager.getSystemPath() + File.separator + "userHistory" + File.separator + pathName + ".hist.xml";
}
示例11: addExpected
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
private boolean addExpected(StringBuilder sb, int position, boolean expected) {
MyList<Variant> list = expected ? variants : unexpected;
String[] strings = new String[list.size()];
long[] hashes = new long[strings.length];
Arrays.fill(strings, "");
int count = 0;
loop: for (Variant variant : list) {
if (position == variant.position) {
String text = variant.object.toString();
long hash = StringHash.calc(text);
for (int i=0; i<count; i++) {
if (hashes[i] == hash) continue loop;
}
hashes[count] = hash;
strings[count] = text;
count++;
}
}
Arrays.sort(strings);
count = 0;
for (String s : strings) {
if (s.length() == 0) continue;
if (count++ > 0) {
if (count > MAX_VARIANTS_TO_DISPLAY) {
sb.append(" and ...");
break;
}
else {
sb.append(", ");
}
}
char c = s.charAt(0);
String displayText = c == '<' || StringUtil.isJavaIdentifierStart(c) ? s : '\'' + s + '\'';
sb.append(displayText);
}
if (count > 1 && count < MAX_VARIANTS_TO_DISPLAY) {
int idx = sb.lastIndexOf(", ");
sb.replace(idx, idx + 1, " or");
}
return count > 0;
}
示例12: addExpected
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
private boolean addExpected(StringBuilder sb, int offset, boolean expected) {
MyList<Variant> list = expected ? variants : unexpected;
String[] strings = new String[list.size()];
long[] hashes = new long[strings.length];
Arrays.fill(strings, "");
int count = 0;
loop: for (Variant variant : list) {
if (offset == variant.offset) {
String text = variant.object.toString();
long hash = StringHash.calc(text);
for (int i=0; i<count; i++) {
if (hashes[i] == hash) continue loop;
}
hashes[count] = hash;
strings[count] = text;
count++;
}
}
Arrays.sort(strings);
count = 0;
for (String s : strings) {
if (s.length() == 0) continue;
if (count++ > 0) {
if (count > MAX_VARIANTS_TO_DISPLAY) {
sb.append(" and ...");
break;
}
else {
sb.append(", ");
}
}
char c = s.charAt(0);
String displayText = c == '<' || StringUtil.isJavaIdentifierStart(c) ? s : '\'' + s + '\'';
sb.append(displayText);
}
if (count > 1 && count < MAX_VARIANTS_TO_DISPLAY) {
int idx = sb.lastIndexOf(", ");
sb.replace(idx, idx + 1, " or");
}
return count > 0;
}
示例13: addExpected
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
private boolean addExpected(StringBuilder sb, int position, boolean expected) {
MyList<Variant> list = expected ? variants : unexpected;
String[] strings = new String[list.size()];
long[] hashes = new long[strings.length];
Arrays.fill(strings, "");
int count = 0;
loop: for (Variant variant : list) {
if (position == variant.position) {
String text = variant.object.toString();
long hash = StringHash.calc(text);
for (int i=0; i<count; i++) {
if (hashes[i] == hash) continue loop;
}
hashes[count] = hash;
strings[count] = text;
count++;
}
}
Arrays.sort(strings);
count = 0;
for (String s : strings) {
if (s.length() == 0) continue;
if (count++ > 0) {
if (count > MAX_VARIANTS_TO_DISPLAY) {
sb.append(" and ...");
break;
}
else {
sb.append(", ");
}
}
char c = s.charAt(0);
String displayText = c == '<' || StringUtil.isJavaIdentifierStart(c) ? s : '\'' + s + '\'';
sb.append(displayText);
}
if (count > 1 && count < MAX_VARIANTS_TO_DISPLAY) {
int idx = sb.lastIndexOf(", ");
sb.replace(idx, idx + 1, " or");
}
return count > 0;
}
示例14: LazyPresentablePattern
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
public LazyPresentablePattern(final Node node) {
myNode = node;
myHashCode = StringHash.calc(toString());
}
示例15: getHistoryFilePath
import com.intellij.openapi.util.text.StringHash; //导入依赖的package包/类
private String getHistoryFilePath(final String id) {
return PathManager.getSystemPath() + File.separator +
"userHistory" + File.separator +
myType + Long.toHexString(StringHash.calc(id)) + ".hist.xml";
}