From 84398bd0737eaad16472e0c5fa1d4dd89d992097 Mon Sep 17 00:00:00 2001 From: Mick Jordan <mick.jordan@oracle.com> Date: Mon, 4 Jan 2016 11:31:18 -0800 Subject: [PATCH] fix string index error on parse error --- .../src/com/oracle/truffle/r/engine/REngine.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java index 649f4d84aa..7ce8e04cec 100644 --- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java +++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java @@ -289,7 +289,7 @@ final class REngine implements Engine, Engine.Timings { } catch (RecognitionException e) { String line = e.line <= source.getLineCount() ? source.getCode(e.line) : ""; String substring = line.substring(0, Math.min(line.length(), e.charPositionInLine + 1)); - String token = e.token == null ? substring.substring(substring.length() - 1) : e.token.getText(); + String token = e.token == null ? (substring.length() == 0 ? "" : substring.substring(substring.length() - 1)) : e.token.getText(); if (e.token != null && e.token.getType() == Token.EOF && (e instanceof NoViableAltException || e instanceof MismatchedTokenException)) { // the parser got stuck at the eof, request another line throw new IncompleteSourceException(e, source, token, substring, e.line); -- GitLab