{
StringEnumAbstractBase.Table table = (StringEnumAbstractBase.Table)jc.getField("table").get(null);
for (int i = 0; i < sEnums.length; i++)
{
int j = sEnums[i].getIntValue();
StringEnumAbstractBase enumVal = table.forInt(j);
lookupStringEnum.put(sEnums[i].getString(), enumVal);
while (listOfStringEnum.size() <= j)
listOfStringEnum.add(null);
listOfStringEnum.set(j, enumVal);
}
}
catch (Exception e)
{
System.err.println("Something wrong: could not locate enum table for " + jc);
jc = null;
lookupStringEnum.clear();
listOfStringEnum.clear();
}
}
if (jc == null)
{
for (int i = 0; i < sEnums.length; i++)
{
int j = sEnums[i].getIntValue();
String s = sEnums[i].getString();
StringEnumAbstractBase enumVal = new StringEnumValue(s, j);
lookupStringEnum.put(s, enumVal);
while (listOfStringEnum.size() <= j)
listOfStringEnum.add(null);
listOfStringEnum.set(j, enumVal);
}