apache / incubator-kie-drools

Drools is a rule engine, DMN engine and complex event processing (CEP) engine for Java.
http://www.drools.org
5.85k stars 2.49k forks source link

[new-parser] Rule named `default` (without quotes) cannot be parsed #5910

Closed yurloc closed 4 months ago

yurloc commented 4 months ago

Parent issue

Failing tests

Rule code snippet

rule default when
then ...

Error output

### parse : ANTLR4_PARSER_ENABLED = true
line 22:5 extraneous input 'default' expecting {'unit', 'function', 'global', 'declare', 'trait', 'rule', 'query', 'when', 'then', 'end', 'and', 'or', 'exists', 'not', 'in', 'from', 'collect', 'accumulate', 'acc', 'init', 'action', 'reverse', 'result', 'entry-point', 'eval', 'forall', 'over', 'matches', 'memberOf', 'contains', 'excludes', 'soundslike', 'str', 'after', 'before', 'coincides', 'during', 'includes', 'finishes', 'finishedby', 'meets', 'metby', 'overlaps', 'overlappedby', 'starts', 'startedby', 'window', 'salience', 'enabled', 'no-loop', 'auto-focus', 'lock-on-active', 'refract', 'direct', 'agenda-group', 'activation-group', 'ruleflow-group', 'date-effective', 'date-expires', 'dialect', 'calendars', 'timer', 'duration', DRL_STRING_LITERAL, 'this', 'module', 'open', 'requires', 'exports', 'opens', 'to', 'uses', 'provides', 'with', 'transitive', 'var', 'yield', 'record', 'sealed', 'permits', IDENTIFIER}
14:42:59.320 [main] ERROR o.d.c.k.b.impl.AbstractKieProject.buildKnowledgePackages:280 - Unable to build KieBaseModel:KieBaseModelName
[22,5]: extraneous input 'default' expecting {'unit', 'function', 'global', 'declare', 'trait', 'rule', 'query', 'when', 'then', 'end', 'and', 'or', 'exists', 'not', 'in', 'from', 'collect', 'accumulate', 'acc', 'init', 'action', 'reverse', 'result', 'entry-point', 'eval', 'forall', 'over', 'matches', 'memberOf', 'contains', 'excludes', 'soundslike', 'str', 'after', 'before', 'coincides', 'during', 'includes', 'finishes', 'finishedby', 'meets', 'metby', 'overlaps', 'overlappedby', 'starts', 'startedby', 'window', 'salience', 'enabled', 'no-loop', 'auto-focus', 'lock-on-active', 'refract', 'direct', 'agenda-group', 'activation-group', 'ruleflow-group', 'date-effective', 'date-expires', 'dialect', 'calendars', 'timer', 'duration', DRL_STRING_LITERAL, 'this', 'module', 'open', 'requires', 'exports', 'opens', 'to', 'uses', 'provides', 'with', 'transitive', 'var', 'yield', 'record', 'sealed', 'permits', IDENTIFIER}
[0,0]: Parser returned a null Package

14:42:59.320 [main] ERROR o.d.testcoverage.common.util.KieUtil.getKieBuilderFromKieFileSystem:165 - KieBuilder errors: [Message [id=1, kieBase=KieBaseModelName, level=ERROR, path=varargs2.drl, line=22, column=0
   text=extraneous input 'default' expecting {'unit', 'function', 'global', 'declare', 'trait', 'rule', 'query', 'when', 'then', 'end', 'and', 'or', 'exists', 'not', 'in', 'from', 'collect', 'accumulate', 'acc', 'init', 'action', 'reverse', 'result', 'entry-point', 'eval', 'forall', 'over', 'matches', 'memberOf', 'contains', 'excludes', 'soundslike', 'str', 'after', 'before', 'coincides', 'during', 'includes', 'finishes', 'finishedby', 'meets', 'metby', 'overlaps', 'overlappedby', 'starts', 'startedby', 'window', 'salience', 'enabled', 'no-loop', 'auto-focus', 'lock-on-active', 'refract', 'direct', 'agenda-group', 'activation-group', 'ruleflow-group', 'date-effective', 'date-expires', 'dialect', 'calendars', 'timer', 'duration', DRL_STRING_LITERAL, 'this', 'module', 'open', 'requires', 'exports', 'opens', 'to', 'uses', 'provides', 'with', 'transitive', 'var', 'yield', 'record', 'sealed', 'permits', IDENTIFIER}], Message [id=2, kieBase=KieBaseModelName, level=ERROR, path=varargs2.drl, line=0, column=0
   text=Parser returned a null Package]]

java.lang.AssertionError: [[Message [id=1, kieBase=KieBaseModelName, level=ERROR, path=varargs2.drl, line=22, column=0
   text=extraneous input 'default' expecting {'unit', 'function', 'global', 'declare', 'trait', 'rule', 'query', 'when', 'then', 'end', 'and', 'or', 'exists', 'not', 'in', 'from', 'collect', 'accumulate', 'acc', 'init', 'action', 'reverse', 'result', 'entry-point', 'eval', 'forall', 'over', 'matches', 'memberOf', 'contains', 'excludes', 'soundslike', 'str', 'after', 'before', 'coincides', 'during', 'includes', 'finishes', 'finishedby', 'meets', 'metby', 'overlaps', 'overlappedby', 'starts', 'startedby', 'window', 'salience', 'enabled', 'no-loop', 'auto-focus', 'lock-on-active', 'refract', 'direct', 'agenda-group', 'activation-group', 'ruleflow-group', 'date-effective', 'date-expires', 'dialect', 'calendars', 'timer', 'duration', DRL_STRING_LITERAL, 'this', 'module', 'open', 'requires', 'exports', 'opens', 'to', 'uses', 'provides', 'with', 'transitive', 'var', 'yield', 'record', 'sealed', 'permits', IDENTIFIER}], Message [id=2, kieBase=KieBaseModelName, level=ERROR, path=varargs2.drl, line=0, column=0
   text=Parser returned a null Package]]] 
Expecting empty but was: [Message [id=1, kieBase=KieBaseModelName, level=ERROR, path=varargs2.drl, line=22, column=0
   text=extraneous input 'default' expecting {'unit', 'function', 'global', 'declare', 'trait', 'rule', 'query', 'when', 'then', 'end', 'and', 'or', 'exists', 'not', 'in', 'from', 'collect', 'accumulate', 'acc', 'init', 'action', 'reverse', 'result', 'entry-point', 'eval', 'forall', 'over', 'matches', 'memberOf', 'contains', 'excludes', 'soundslike', 'str', 'after', 'before', 'coincides', 'during', 'includes', 'finishes', 'finishedby', 'meets', 'metby', 'overlaps', 'overlappedby', 'starts', 'startedby', 'window', 'salience', 'enabled', 'no-loop', 'auto-focus', 'lock-on-active', 'refract', 'direct', 'agenda-group', 'activation-group', 'ruleflow-group', 'date-effective', 'date-expires', 'dialect', 'calendars', 'timer', 'duration', DRL_STRING_LITERAL, 'this', 'module', 'open', 'requires', 'exports', 'opens', 'to', 'uses', 'provides', 'with', 'transitive', 'var', 'yield', 'record', 'sealed', 'permits', IDENTIFIER}],
    Message [id=2, kieBase=KieBaseModelName, level=ERROR, path=varargs2.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.VarargsTest.testVarargs(VarargsTest.java:70)
tkobayas commented 4 months ago

/take

yurloc commented 4 months ago

Fixed by #5958.