SymbolTable.java
766 Bytes
/*
* Decompiled with CFR 0_118.
*/
package com.adobe.xfa.ut;
public final class SymbolTable {
private final String[] table = new String[1024];
private int size;
private static final int TABLE_SIZE = 1024;
private static final int HASH_MASK = 1023;
private static final int THRESHOLD = 682;
public String internSymbol(String symbol) {
String item;
int i = symbol.hashCode() & 1023;
while ((item = this.table[i]) != null) {
if (item.equals(symbol)) {
return item;
}
i = (i + 1) % 1024;
}
symbol = symbol.intern();
if (this.size < 682) {
this.table[i] = symbol;
++this.size;
}
return symbol;
}
}