yurloc opened a new issue, #5917:
URL: https://github.com/apache/incubator-kie-drools/issues/5917

   ## Parent issue
   - #5678 
   
   ## Failing tests
   - `org.drools.mvel.integrationtests.ExtendsTest#testExtendsBasic`
   
   ## Notes
   Very edge case, but we should keep it working for backward compatibility 
reasons. The root cause is identical to
   - #5818
   - #5910
   Due to the usage of JavaLexer, words like `package`, `return`, etc. are no 
longer `IDENTIFIER` tokens but respective keyword tokens and so they cannot be 
matched in rules where `IDENTIFIER` is expected. The obvious solution is to add 
`RETURN` as an alternative to the `drlIdentifier` rule. We should however think 
twice and make sure this is the right approach. Another solution could be to 
adapt JavaLexer and drop keywords that are not useful for DRLParser rules.
   
   ## Rule code snippet
   ```
       when
           Cheese( price < 5) from return ([c])
   ```
   
   ## Error output
   ```
   ### parse : ANTLR4_PARSER_ENABLED = true
   line 59:32 no viable alternative at input 'from return'
   14:42:29.412 [main] ERROR o.d.d.parser.antlr4.DRLParserWrapper.parse:77 - 
Exception while creating PackageDescr
   java.lang.IllegalStateException: ctx.lhsPattern().size() == 0 : 
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitLhsPatternBind(DRLVisitorImpl.java:545)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitLhsPatternBind(DRLVisitorImpl.java:83)
        at 
org.drools.drl.parser.antlr4.DRLParser$LhsPatternBindContext.accept(DRLParser.java:2661)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitDescrChildren(DRLVisitorImpl.java:1075)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitLhsUnary(DRLVisitorImpl.java:1062)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitLhsUnary(DRLVisitorImpl.java:83)
        at 
org.drools.drl.parser.antlr4.DRLParser$LhsUnaryContext.accept(DRLParser.java:2477)
        at 
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
        at 
org.drools.drl.parser.antlr4.DRLParserBaseVisitor.visitLhsUnarySingle(DRLParserBaseVisitor.java:201)
        at 
org.drools.drl.parser.antlr4.DRLParser$LhsUnarySingleContext.accept(DRLParser.java:2110)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitDescrChildren(DRLVisitorImpl.java:1075)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitLhs(DRLVisitorImpl.java:532)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitRuledef(DRLVisitorImpl.java:340)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitRuledef(DRLVisitorImpl.java:83)
        at 
org.drools.drl.parser.antlr4.DRLParser$RuledefContext.accept(DRLParser.java:1664)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitDescrChildren(DRLVisitorImpl.java:1075)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitDrlStatementdef(DRLVisitorImpl.java:166)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitDrlStatementdef(DRLVisitorImpl.java:83)
        at 
org.drools.drl.parser.antlr4.DRLParser$DrlStatementdefContext.accept(DRLParser.java:523)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitDescrChildren(DRLVisitorImpl.java:1075)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitCompilationUnit(DRLVisitorImpl.java:102)
        at 
org.drools.drl.parser.antlr4.DRLVisitorImpl.visitCompilationUnit(DRLVisitorImpl.java:83)
        at 
org.drools.drl.parser.antlr4.DRLParser$CompilationUnitContext.accept(DRLParser.java:435)
        at 
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18)
        at 
org.drools.drl.parser.antlr4.DRLParserHelper.compilationUnitContext2PackageDescr(DRLParserHelper.java:91)
        at 
org.drools.drl.parser.antlr4.DRLParserWrapper.parse(DRLParserWrapper.java:75)
        at 
org.drools.drl.parser.antlr4.DRLParserWrapper.parse(DRLParserWrapper.java:55)
        at org.drools.drl.parser.DrlParser.lambda$parse$2(DrlParser.java:191)
        at 
org.drools.drl.parser.DrlParser.compileWithAntlr4Parser(DrlParser.java:204)
        at org.drools.drl.parser.DrlParser.parse(DrlParser.java:191)
        at org.drools.drl.parser.DrlParser.parse(DrlParser.java:179)
        at org.drools.drl.parser.DrlParser.parse(DrlParser.java:168)
        at 
org.drools.compiler.builder.impl.resources.DrlResourceHandler.process(DrlResourceHandler.java:55)
        at 
org.drools.compiler.builder.impl.PackageDescrBuilder.buildResource(PackageDescrBuilder.java:73)
        at 
org.drools.compiler.builder.impl.PackageDescrBuilder.build(PackageDescrBuilder.java:51)
        at 
org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildPackageDescr(CompositeKnowledgeBuilderImpl.java:173)
        at 
org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:116)
        at 
org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:109)
        at 
org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages(AbstractKieProject.java:274)
        at 
org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages(AbstractKieProject.java:220)
        at 
org.drools.compiler.kie.builder.impl.AbstractKieProject.verify(AbstractKieProject.java:84)
        at 
org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:285)
        at 
org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:251)
        at 
org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:208)
        at 
org.drools.testcoverage.common.util.KieUtil.getKieBuilderFromKieFileSystem(KieUtil.java:149)
        at 
org.drools.testcoverage.common.util.KieUtil.getKieBuilderFromKieFileSystem(KieUtil.java:134)
        at 
org.drools.testcoverage.common.util.KieUtil.getKieBuilderFromResources(KieUtil.java:121)
        at 
org.drools.testcoverage.common.util.KieUtil.getKieBuilderFromClasspathResources(KieUtil.java:187)
        at 
org.drools.testcoverage.common.util.KieBaseUtil.getKieBaseFromClasspathResources(KieBaseUtil.java:57)
        at 
org.drools.mvel.integrationtests.ExtendsTest.testExtendsBasic(ExtendsTest.java:728)
   14:42:29.412 [main] ERROR 
o.d.c.k.b.impl.AbstractKieProject.buildKnowledgePackages:280 - Unable to build 
KieBaseModel:KieBaseModelName
   [59,32]: no viable alternative at input 'from return'
   [0,0]: 
   [0,0]: Parser returned a null Package
   
   14:42:29.412 [main] ERROR 
o.d.testcoverage.common.util.KieUtil.getKieBuilderFromKieFileSystem:165 - 
KieBuilder errors: [Message [id=1, kieBase=KieBaseModelName, level=ERROR, 
path=extend_rule_test.drl, line=59, column=0
      text=no viable alternative at input 'from return'], Message [id=2, 
kieBase=KieBaseModelName, level=ERROR, path=extend_rule_test.drl, line=0, 
column=0
      text=], Message [id=3, kieBase=KieBaseModelName, level=ERROR, 
path=extend_rule_test.drl, line=0, column=0
      text=Parser returned a null Package]]
   
   java.lang.AssertionError: [[Message [id=1, kieBase=KieBaseModelName, 
level=ERROR, path=extend_rule_test.drl, line=59, column=0
      text=no viable alternative at input 'from return'], Message [id=2, 
kieBase=KieBaseModelName, level=ERROR, path=extend_rule_test.drl, line=0, 
column=0
      text=], Message [id=3, kieBase=KieBaseModelName, level=ERROR, 
path=extend_rule_test.drl, line=0, column=0
      text=Parser returned a null Package]]] 
   Expecting empty but was: [Message [id=1, kieBase=KieBaseModelName, 
level=ERROR, path=extend_rule_test.drl, line=59, column=0
      text=no viable alternative at input 'from return'],
       Message [id=2, kieBase=KieBaseModelName, level=ERROR, 
path=extend_rule_test.drl, line=0, column=0
      text=],
       Message [id=3, kieBase=KieBaseModelName, level=ERROR, 
path=extend_rule_test.drl, line=0, column=0
      text=Parser returned a null Package]]
   
        at 
org.drools.testcoverage.common.util.KieUtil.getKieBuilderFromKieFileSystem(KieUtil.java:169)
        at 
org.drools.testcoverage.common.util.KieUtil.getKieBuilderFromKieFileSystem(KieUtil.java:134)
        at 
org.drools.testcoverage.common.util.KieUtil.getKieBuilderFromResources(KieUtil.java:121)
        at 
org.drools.testcoverage.common.util.KieUtil.getKieBuilderFromClasspathResources(KieUtil.java:187)
        at 
org.drools.testcoverage.common.util.KieBaseUtil.getKieBaseFromClasspathResources(KieBaseUtil.java:57)
        at 
org.drools.mvel.integrationtests.ExtendsTest.testExtendsBasic(ExtendsTest.java:728)
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to