diff --git a/src/main/java/org/sablecc/sablecc/lexer/LexerException.java b/src/main/java/org/sablecc/sablecc/lexer/LexerException.java index ff4967e996b54a6bdc34a5de61e6d91ae1846522..dc2e2541e7792ec4ef40f79dbdd7ae5ce45e0cbb 100644 --- a/src/main/java/org/sablecc/sablecc/lexer/LexerException.java +++ b/src/main/java/org/sablecc/sablecc/lexer/LexerException.java @@ -9,14 +9,19 @@ public class LexerException extends Exception private final int pos; private final String realMsg; - public LexerException(int line, int pos, String message) + public LexerException(int line, int pos, String message, Throwable cause) { - super("[" + line + "," + pos + "] " + message); + super("[" + line + "," + pos + "] " + message, cause); this.line = line; this.pos = pos; this.realMsg = message; } + public LexerException(int line, int pos, String message) + { + this(line, pos, message, null); + } + public LexerException(String message) { this(0, 0, message); diff --git a/src/main/java/org/sablecc/sablecc/parser/ParserException.java b/src/main/java/org/sablecc/sablecc/parser/ParserException.java index 6ba7aa8d86260bee4341e2ad559fe4a6bcc112b8..af942d5f627bbdf9d6295f3259875bc659afe4c0 100644 --- a/src/main/java/org/sablecc/sablecc/parser/ParserException.java +++ b/src/main/java/org/sablecc/sablecc/parser/ParserException.java @@ -10,13 +10,18 @@ public class ParserException extends Exception private final Token token; private final String realMsg; - public ParserException(Token token, String message) + public ParserException(Token token, String message, Throwable cause) { - super("[" + token.getLine() + "," + token.getPos() + "] " + message); + super("[" + token.getLine() + "," + token.getPos() + "] " + message, cause); this.token = token; this.realMsg = message; } + public ParserException(Token token, String message) + { + this(token, message, (Throwable)null); + } + /** * @deprecated Use {@link #ParserException(Token, String)} instead. * The token position info is now added automatically to the message. diff --git a/src/main/resources/org/sablecc/sablecc/lexer.txt b/src/main/resources/org/sablecc/sablecc/lexer.txt index aa9b584888e26addfee5c861eb2096fd167b09fa..eede12a0c731ccae2c72126b558aaae6bf11060f 100644 --- a/src/main/resources/org/sablecc/sablecc/lexer.txt +++ b/src/main/resources/org/sablecc/sablecc/lexer.txt @@ -17,14 +17,19 @@ public class LexerException extends Exception private final int pos; private final String realMsg; - public LexerException(int line, int pos, String message) + public LexerException(int line, int pos, String message, Throwable cause) { - super("[" + line + "," + pos + "] " + message); + super("[" + line + "," + pos + "] " + message, cause); this.line = line; this.pos = pos; this.realMsg = message; } + public LexerException(int line, int pos, String message) + { + this(line, pos, message, null); + } + public LexerException(String message) { this(0, 0, message); diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt index 0613a91c619b8ff2a8315c9b79607fb55a97a6ba..b591f3e1abd8c9154dab0142655d4944ce554088 100644 --- a/src/main/resources/org/sablecc/sablecc/parser.txt +++ b/src/main/resources/org/sablecc/sablecc/parser.txt @@ -512,13 +512,18 @@ public class ParserException extends Exception private final Token token; private final String realMsg; - public ParserException(Token token, String message) + public ParserException(Token token, String message, Throwable cause) { - super("[" + token.getLine() + "," + token.getPos() + "] " + message); + super("[" + token.getLine() + "," + token.getPos() + "] " + message, cause); this.token = token; this.realMsg = message; } + public ParserException(Token token, String message) + { + this(token, message, (Throwable)null); + } + /** * @deprecated Use {@link #ParserException(Token, String)} instead. * The token position info is now added automatically to the message.