From 51d0ec3083268a8f3ff3cee27d72e5fa15bb1ce4 Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Sun, 12 Mar 2023 16:10:17 +0100 Subject: [PATCH] Remove ANTLR's error listeners, which print on System.err --- .../ctbrec/variableexpansion/AbstractVariableExpander.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/src/main/java/ctbrec/variableexpansion/AbstractVariableExpander.java b/common/src/main/java/ctbrec/variableexpansion/AbstractVariableExpander.java index ce384574..9424bb9b 100644 --- a/common/src/main/java/ctbrec/variableexpansion/AbstractVariableExpander.java +++ b/common/src/main/java/ctbrec/variableexpansion/AbstractVariableExpander.java @@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j; import org.antlr.v4.runtime.CharStream; import org.antlr.v4.runtime.CharStreams; import org.antlr.v4.runtime.CommonTokenStream; +import org.antlr.v4.runtime.ConsoleErrorListener; import javax.annotation.Nullable; import java.io.IOException; @@ -30,8 +31,10 @@ abstract class AbstractVariableExpander { try (StringReader reader = new StringReader(input)) { CharStream s = CharStreams.fromReader(reader); PostProcessingLexer lexer = new PostProcessingLexer(s); + lexer.removeErrorListener(ConsoleErrorListener.INSTANCE); CommonTokenStream tokens = new CommonTokenStream(lexer); PostProcessingParser parser = new PostProcessingParser(tokens); + parser.removeErrorListener(ConsoleErrorListener.INSTANCE); Optional.ofNullable(errorListener).ifPresent(parser::addErrorListener); PostProcessingParser.LineContext ctx = parser.line(); ParserVisitor visitor = new ParserVisitor(variables);