[ https://issues.apache.org/jira/browse/JEXL-316?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dmitri Blinov closed JEXL-316. ------------------------------ Fix Version/s: (was: Later) Resolution: Won't Do > Operator ?? has very low priority > --------------------------------- > > Key: JEXL-316 > URL: https://issues.apache.org/jira/browse/JEXL-316 > Project: Commons JEXL > Issue Type: Bug > Affects Versions: 3.1 > Reporter: Dmitri Blinov > Assignee: Henri Biestro > Priority: Major > > In current version of JEXL the script > {code:java} > 10??0 + 200 {code} > evaluates to 10, which is counterintuitive. It requires to always use > parantheses after {{\\??}}. The operator {{??}} should have higer priority. > It is the same problem as with current version of freemarker, but they > promise to fix it in the next major release. > The suggestion is to set priority of operator {{??}} to be between > {{UnaryExpression()}} and {{ValueExpression()}} > {code} > void ConditionalExpression() #void : {} > { > ConditionalOrExpression() > ( > <QMARK> Expression() <COLON> Expression() #TernaryNode(3) > | > <ELVIS> Expression() #TernaryNode(2) > )? > } > ... > void UnaryExpression() #void : {} > { > <minus> UnaryExpression() #UnaryMinusNode(1) > | > <plus> UnaryExpression() #UnaryPlusNode(1) > | > <tilda> UnaryExpression() #BitwiseComplNode(1) > | > (<not>|<NOT>) UnaryExpression() #NotNode(1) > | > <EMPTY> UnaryExpression() #EmptyFunction(1) > | > <SIZE> UnaryExpression() #SizeFunction(1) > | > NullpExpression() > } > void NullpExpression() #void : {} > { > ValueExpression() > ( > <NULLP> ValueExpression() #NullpNode(2) > )* > } > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)