killme2008 / killme2008/aviatorscript

表达式校验问题

Open
#677 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
5.2k
Forks
906
PR merge metrics
No merged PRs in 30d

Description

版本:5.4.3
值:{"a ": 20}
表达式:(a >30) (a < 50)

上述表达式调用AviatorEvaluator.validate()时不会报错,但运行时报错AviatorBoolean cannot be cast to AviatorFunction

其实就是表达式之间少了个运算符(比如&&、 ||),请问这类表达式为何不在validate时抛出异常?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at AviatorEvaluator.validate() and reproduce the issue with value {"a ": 20} and expression (a >30) (a < 50). Trace how adjacent expressions are parsed and validated; done means the missing operator is rejected during validation with a clear exception instead of failing only at runtime.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
compilers
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.