From 120ce84bbfcdcde3213b3894af258a9814870606 Mon Sep 17 00:00:00 2001 From: Alex Walker Date: Wed, 21 Jul 2021 13:19:57 +0100 Subject: [PATCH] Fix error messages being duplicated --- common/exception/ErrorMessage.java | 2 +- parser/ErrorListener.java | 4 ++++ parser/Parser.java | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/common/exception/ErrorMessage.java b/common/exception/ErrorMessage.java index fa856eb..3f248bb 100644 --- a/common/exception/ErrorMessage.java +++ b/common/exception/ErrorMessage.java @@ -105,7 +105,7 @@ public class ErrorMessage extends com.vaticle.typedb.common.exception.ErrorMessa new ErrorMessage(40, "'%s' is not a valid Type label. Type labels must start with a letter, and may contain only letters, numbers, '-' and '_'."); - private static final String codePrefix = "GQL"; + private static final String codePrefix = "TQL"; private static final String messagePrefix = "TypeQL Error"; public ErrorMessage(int codeNumber, String messageBody) { diff --git a/parser/ErrorListener.java b/parser/ErrorListener.java index 8e2bb61..a29889c 100644 --- a/parser/ErrorListener.java +++ b/parser/ErrorListener.java @@ -74,6 +74,10 @@ public boolean hasErrors() { return !errors.isEmpty(); } + public void clearErrors() { + errors.clear(); + } + @Override public String toString() { return errors.stream().map(SyntaxError::toString).collect(Collectors.joining("\n")); diff --git a/parser/Parser.java b/parser/Parser.java index cf6adc9..929de26 100644 --- a/parser/Parser.java +++ b/parser/Parser.java @@ -136,6 +136,7 @@ private RETURN parse( // DefaultErrorStrategy + LL_EXACT_AMBIG_DETECTION // This was not set to default parsing strategy, but it is useful // to produce detailed/useful error message + errorListener.clearErrors(); parser.setErrorHandler(new DefaultErrorStrategy()); parser.getInterpreter().setPredictionMode(PredictionMode.LL_EXACT_AMBIG_DETECTION); queryContext = parserMethod.apply(parser);