void setMemNode(int num, EncloseNode node) { if (numMem >= num) { memNodes[num] = node; } else { throw new InternalException(ErrorMessages.PARSER_BUG); } }
protected void newValueException(String message, String str) { throw new ValueException(message, str); }
protected void newSyntaxException(String message) { throw new SyntaxException(message); }
@Override public String getName() { switch (type) { case ALT: return "Alt"; case LIST: return "List"; default: throw new InternalException(ErrorMessages.PARSER_BUG); } }
protected void newValueException(String message, String str) { throw new ValueException(message, str); }
protected void newSyntaxException(String message) { throw new SyntaxException(message); }
void setMemNode(int num, EncloseNode node) { if (numMem >= num) { memNodes[num] = node; } else { throw new InternalException(ErrorMessages.PARSER_BUG); } }
protected void newValueException(String message) { throw new ValueException(message); }
protected void newSyntaxException(String message) { throw new SyntaxException(message); }
@Override public String getName() { switch (type) { case ALT: return "Alt"; case LIST: return "List"; default: throw new InternalException(ErrorMessages.PARSER_BUG); } }
protected void newValueException(String message) { throw new ValueException(message); }
protected void newSyntaxException(String message) { throw new SyntaxException(message); }
protected void newInternalException(String message) { throw new InternalException(message); } }
public void renumber(int[]map) { if (!isNameRef()) throw new ValueException(ErrorMessages.NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED); int oldNum = backNum; int pos = 0; for (int i=0; i<oldNum; i++) { int n = map[back[i]]; if (n > 0) { back[pos] = n; pos++; } } backNum = pos; }
protected void newInternalException(String message) { throw new InternalException(message); }
protected void newInternalException(String message) { throw new InternalException(message); } }
protected void newInternalException(String message) { throw new InternalException(message); }
int addMemEntry() { if (numMem >= Config.MAX_CAPTURE_GROUP_NUM) throw new InternalException(ErrorMessages.TOO_MANY_CAPTURE_GROUPS); if (numMem++ == 0) { memNodes = new EncloseNode[Config.SCANENV_MEMNODES_SIZE]; } else if (numMem >= memNodes.length) { EncloseNode[]tmp = new EncloseNode[memNodes.length << 1]; System.arraycopy(memNodes, 0, tmp, 0, memNodes.length); memNodes = tmp; } return numMem; }
int addMemEntry() { if (numMem >= Config.MAX_CAPTURE_GROUP_NUM) throw new InternalException(ErrorMessages.TOO_MANY_CAPTURE_GROUPS); if (numMem++ == 0) { memNodes = new EncloseNode[Config.SCANENV_MEMNODES_SIZE]; } else if (numMem >= memNodes.length) { EncloseNode[]tmp = new EncloseNode[memNodes.length << 1]; System.arraycopy(memNodes, 0, tmp, 0, memNodes.length); memNodes = tmp; } return numMem; }
public void fix(Regex regex) { for (int i=0; i<num; i++) { EncloseNode en = targets[i]; if (!en.isAddrFixed()) new InternalException(ErrorMessages.PARSER_BUG); regex.code[offsets[i]] = en.callAddr; // is this safe ? } }