This is an automated email from the ASF dual-hosted git repository.

mariofusco pushed a commit to branch dev-new-parser
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git


The following commit(s) were added to refs/heads/dev-new-parser by this push:
     new 879f65c51c Match EOF at the end of the compilation unit (#5930)
879f65c51c is described below

commit 879f65c51c92a63af20f400844f4bb115e11e952
Author: Jiří Locker <[email protected]>
AuthorDate: Mon May 13 10:06:34 2024 +0200

    Match EOF at the end of the compilation unit (#5930)
---
 .../src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4    | 2 +-
 .../src/main/java/org/drools/drl/parser/antlr4/DescrHelper.java  | 9 +++++----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git 
a/drools-drl/drools-drl-parser/src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4
 
b/drools-drl/drools-drl-parser/src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4
index e277eb9826..da397785c1 100644
--- 
a/drools-drl/drools-drl-parser/src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4
+++ 
b/drools-drl/drools-drl-parser/src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4
@@ -14,7 +14,7 @@ import DRL6Expressions, JavaParser;
      *           |  query
      *           ;
      */
-compilationUnit : packagedef? unitdef? drlStatementdef* ;
+compilationUnit : packagedef? unitdef? drlStatementdef* EOF ;
 
 drlStatementdef
     : importdef SEMI?
diff --git 
a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DescrHelper.java
 
b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DescrHelper.java
index a822b5ddf7..02a4f38d27 100644
--- 
a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DescrHelper.java
+++ 
b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DescrHelper.java
@@ -22,9 +22,6 @@ import java.util.List;
 
 import org.antlr.v4.runtime.ParserRuleContext;
 import org.antlr.v4.runtime.Token;
-import org.antlr.v4.runtime.tree.TerminalNode;
-import org.drools.drl.ast.descr.AndDescr;
-import org.drools.drl.ast.descr.AttributeDescr;
 import org.drools.drl.ast.descr.BaseDescr;
 import org.drools.drl.ast.descr.ExprConstraintDescr;
 import org.drools.drl.ast.descr.PatternDescr;
@@ -58,11 +55,15 @@ public class DescrHelper {
             //   However, it doesn't look reasonable. When we will update 
LanguageLevel, we can remove this +1.
             descr.setEndCharacter(stopToken.getStopIndex() + 1);
             descr.setLocation(startToken.getLine(), 
startToken.getCharPositionInLine());
-            descr.setEndLocation(stopToken.getLine(), 
stopToken.getCharPositionInLine() + stopToken.getText().length() - 1); // last 
column of the end token
+            descr.setEndLocation(stopToken.getLine(), 
stopToken.getCharPositionInLine() + stopTokenLength(stopToken) - 1); // last 
column of the end token
         }
         return descr;
     }
 
+    private static int stopTokenLength(Token token) {
+        return token.getType() == Token.EOF ? 0 : token.getText().length();
+    }
+
     public static <T extends BaseDescr> T populateCommonProperties(T descr, 
List<? extends ParserRuleContext> ctxList) {
         if (ctxList.isEmpty()) {
             return descr;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to