From 2acee8f9acf53fd8c1f97f8d40bf0bd6fd53148a Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Fri, 10 Aug 2018 10:58:22 -0300 Subject: Update logging Logging now uses the RGrammarLogging system so as to allow for better customizability of how the logging works --- .../java/bjc/rgens/parser/GrammarException.java | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/main/java/bjc/rgens/parser/GrammarException.java') diff --git a/src/main/java/bjc/rgens/parser/GrammarException.java b/src/main/java/bjc/rgens/parser/GrammarException.java index 9eaa0a1..ea98206 100755 --- a/src/main/java/bjc/rgens/parser/GrammarException.java +++ b/src/main/java/bjc/rgens/parser/GrammarException.java @@ -10,6 +10,8 @@ public class GrammarException extends RuntimeException { /* Serialization ID. */ private static final long serialVersionUID = -7287427479316953668L; + private String rootMessage; + /** * Create a new grammar exception with the specified message. * @@ -33,4 +35,36 @@ public class GrammarException extends RuntimeException { public GrammarException(String msg, Exception cause) { super(msg, cause); } + + /** + * Create a new grammar exception with the specified message. + * + * @param msg + * The message for this exception. + */ + public GrammarException(String msg, String rootMsg) { + super(msg); + + this.rootMessage = rootMsg; + } + + /** + * Create a new grammar exception with the specified message and + * cause. + * + * @param msg + * The message for this exception. + * + * @param cause + * The cause of this exception. + */ + public GrammarException(String msg, Exception cause, String rootMsg) { + super(msg, cause); + + this.rootMessage = rootMsg; + } + + public String getRootMessage() { + return rootMessage == null? getMessage() : rootMessage; + } } -- cgit v1.2.3