public String getMessage(boolean debug) { return this.getMessage(); } public String toString() {
/** Generate ParseException. */ public ParseException generateParseException() { Token errortok = token.next; int line = errortok.beginLine, column = errortok.beginColumn; String mess = (errortok.kind == 0) ? tokenImage[0] : errortok.image; return new ParseException("Parse error at line " + line + ", column " + column + ". Encountered: " + mess); }
public String getErrorText() { // copied from generated getMessage() int maxSize = 0; for (int i = 0; i < expectedTokenSequences.length; i++) { if (maxSize < expectedTokenSequences[i].length) maxSize = expectedTokenSequences[i].length; } String retval = "In file: "+ sourceFile +" Encountered "; Token tok = currentToken.next; for (int i = 0; i < maxSize; i++) { if (i != 0) retval += " "; if (tok.kind == 0) { retval += tokenImage[0]; break; } retval += " " + tokenImage[tok.kind]; retval += " "; retval += add_escapes(tok.image); retval += " "; tok = tok.next; } retval += " at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn; retval += "." + EOL; return retval; }
error("Parser Error: " + e.getMessage(DEBUG.get())); if ( DEBUG.get() ) e.printStackTrace(); if( !interactive ) EOF = true;
if ( DEBUG.get() ) error( e.getMessage(DEBUG.get()) ); e.setErrorSourceFile( sourceFileInfo ); throw e; } catch ( InterpreterError e ) {
private Object evalSource(Object source, ScriptContext scriptContext) throws ScriptException { try ( Interpreter bsh = getInterpreter() ) { NameSpace contextNameSpace = getEngineNameSpace(scriptContext); bsh.setNameSpace(contextNameSpace); bsh.setOut(toPrintStream(scriptContext.getWriter())); bsh.setErr(toPrintStream(scriptContext.getErrorWriter())); if (source instanceof Reader) { return bsh.eval((Reader) source); } else { return bsh.eval((String) source); } } catch (ParseException e) { // explicit parsing error throw new ScriptException(e.toString(), e.getErrorSourceFile(), e.getErrorLineNumber()); } catch (TargetError e) { // The script threw an application level exception ScriptException se = new ScriptException(e.toString(), e.getErrorSourceFile(), e.getErrorLineNumber()); se.initCause(e.getTarget()); throw se; } catch (EvalError e) { // The script couldn't be evaluated properly throw new ScriptException(e.toString(), e.getErrorSourceFile(), e.getErrorLineNumber()); } catch (IOException e) { throw new ScriptException(e.toString()); } }
public String getMessage() { return initialise(currentToken, expectedTokenSequences, tokenImage); } public String getMessage(boolean debug) {
public List bshParse(String sourceFileInfo, Reader in) throws ParseException { List parsedLineNodes = new LinkedList(); Parser parser = new Parser(in); boolean eof = false; while(!eof) { try { eof = parser.Line(); if (parser.jjtree.nodeArity() > 0) { SimpleNode node = (SimpleNode) parser.jjtree.rootNode(); // nodes remember from where they were sourced node.setSourceFile(sourceFileInfo); parsedLineNodes.add(node); if (Debug.verboseOn()) Debug.logVerbose("// " + node.getText()); } } catch (ParseException e) { // add the source file info and throw again e.setErrorSourceFile(sourceFileInfo); Debug.logError(e); throw e; } finally { parser.jjtree.reset(); } } return parsedLineNodes; }
error("Parser Error: " + e.getMessage()); if ( DEBUG ) e.printStackTrace(); if(!interactive) eof = true;
/** * This constructor is used by the method "generateParseException" * in the generated parser. Calling this constructor generates * a new object of this type with the fields "currentToken", * "expectedTokenSequences", and "tokenImage" set. */ public ParseException(Token currentTokenVal, int[][] expectedTokenSequencesVal, String[] tokenImageVal) { // Begin BeanShell Modification - constructor super(initialise(currentTokenVal, expectedTokenSequencesVal, tokenImageVal), null, null); // End BeanShell Modification - constructor currentToken = currentTokenVal; expectedTokenSequences = expectedTokenSequencesVal; tokenImage = tokenImageVal; }
/** Generate a ParseException with the specified message, pointing to the current token. The auto-generated Parser.generateParseException() method does not provide line number info, therefore we do this. */ ParseException createParseException( String message, Exception e ) { Token errortok = token; int line = errortok.beginLine, column = errortok.beginColumn; String mess = (errortok.kind == 0) ? tokenImage[0] : errortok.image; return new ParseException( "Parse error at line " + line + ", column " + column + " : " + message + "\u005cn" + e ); }
public String toString() { return getMessage(); }
/** * This constructor is used by the method "generateParseException" * in the generated parser. Calling this constructor generates * a new object of this type with the fields "currentToken", * "expectedTokenSequences", and "tokenImage" set. */ public ParseException(Token currentTokenVal, int[][] expectedTokenSequencesVal, String[] tokenImageVal ) { super(initialise(currentTokenVal, expectedTokenSequencesVal, tokenImageVal)); currentToken = currentTokenVal; expectedTokenSequences = expectedTokenSequencesVal; tokenImage = tokenImageVal; }
retval += add_escapes(tok.image); retval += " \""; tok = tok.next;
/** Generate a ParseException with the specified message, pointing to the current token. The auto-generated Parser.generateParseException() method does not provide line number info, therefore we do this. */ ParseException createParseException( String message, Exception e ) { Token errortok = token; int line = errortok.beginLine, column = errortok.beginColumn; String mess = (errortok.kind == 0) ? tokenImage[0] : errortok.image; return new ParseException( "Parse error at line " + line + ", column " + column + " : " + message, e ); }
@Override public int getErrorLineNumber() { if (currentToken == null) { String message = getMessage(); int index = message.indexOf(" at line "); if (index > -1) { message = message.substring(index + 9); index = message.indexOf(','); try { if (index == -1) { return Integer.parseInt(message); } return Integer.parseInt(message.substring(0, index)); } catch (NumberFormatException e) { // ignore, we have no valid line information, just return -1 for now } } return -1; } return currentToken.next.beginLine; }
retval += add_escapes(tok.image); retval += "\" "; tok = tok.next;
exptokseq[i] = jj_expentries.get(i); return new ParseException(token, exptokseq, tokenImage);
reports.add(new VisitReport(HealthCheck.getInstance(), subject, "Script OK", HealthCheck.NO_PROBLEM, Status.OK)); } catch (ParseException e) { VisitReport report = new VisitReport(HealthCheck.getInstance(), subject ,e.getMessage(), HealthCheck.INVALID_SCRIPT, Status.SEVERE); report.setProperty("exception", e); reports.add(report);
final public boolean BooleanLiteral() throws ParseException { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case TRUE:{ jj_consume_token(TRUE); {if ("" != null) return true;} break; } case FALSE:{ jj_consume_token(FALSE); {if ("" != null) return false;} break; } default: jj_la1[65] = jj_gen; jj_consume_token(-1); throw new ParseException(); } throw new IllegalStateException ("Missing return statement in function"); }