From 54a76502f517e71f1794e48ac7ac9472b5001466 Mon Sep 17 00:00:00 2001 From: volodya-lombrozo Date: Wed, 15 Jan 2025 16:59:27 +0300 Subject: [PATCH] feat(#3744): fix error message in 'empty-line-between-metas.yaml' check --- .../src/main/java/org/eolang/parser/EoParserErrors.java | 5 ++++- .../org/eolang/parser/eo-typos/empty-line-between-metas.yaml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/eo-parser/src/main/java/org/eolang/parser/EoParserErrors.java b/eo-parser/src/main/java/org/eolang/parser/EoParserErrors.java index 560c6b221f..5a9f4ecf80 100644 --- a/eo-parser/src/main/java/org/eolang/parser/EoParserErrors.java +++ b/eo-parser/src/main/java/org/eolang/parser/EoParserErrors.java @@ -119,8 +119,11 @@ public void syntaxError( final Parser parser = (Parser) recognizer; final String rule = parser.getRuleInvocationStack().get(0); final String detailed; - if (parser.getRuleNames()[EoParser.RULE_program].equals(rule)) { + final String[] names = parser.getRuleNames(); + if (names[EoParser.RULE_program].equals(rule)) { detailed = "Unexpected part of the program"; + } else if (names[EoParser.RULE_objects].equals(rule)) { + detailed = "We expected a list of objects here, but found something else"; } else { detailed = msg; } diff --git a/eo-parser/src/test/resources/org/eolang/parser/eo-typos/empty-line-between-metas.yaml b/eo-parser/src/test/resources/org/eolang/parser/eo-typos/empty-line-between-metas.yaml index e0d3f9937f..06b0a4a3ea 100644 --- a/eo-parser/src/test/resources/org/eolang/parser/eo-typos/empty-line-between-metas.yaml +++ b/eo-parser/src/test/resources/org/eolang/parser/eo-typos/empty-line-between-metas.yaml @@ -22,7 +22,7 @@ --- line: 3 message: |- - [3:0] error: 'Invalid object list declaration' + [3:0] error: 'We expected a list of objects here, but found something else' +meta other ^^^^^^^^^^ input: |