[jboss-jira] [JBoss JIRA] (DROOLS-2928) Wrong division calculation in Mvel Jitted constraint

Toshiya Kobayashi (JIRA) issues at jboss.org
Mon Aug 27 01:53:00 EDT 2018


Toshiya Kobayashi created DROOLS-2928:
-----------------------------------------

             Summary: Wrong division calculation in Mvel Jitted constraint
                 Key: DROOLS-2928
                 URL: https://issues.jboss.org/browse/DROOLS-2928
             Project: Drools
          Issue Type: Bug
          Components: core engine
    Affects Versions: 7.10.0.Final
            Reporter: Toshiya Kobayashi
            Assignee: Mario Fusco


For a constraint like "age > ((2*$age1)/3) ", Mvel Jitting generates a class like:
{code:java}
public class ConditionEvaluator251ed544c9124e1d99d3a8cae5048e1a
    implements ConditionEvaluator
{

    public boolean evaluate(InternalFactHandle internalfacthandle, InternalWorkingMemory internalworkingmemory, Tuple tuple)
    {
        Tuple tuple1 = tuple;
        int i = declarations[0].getIntValue(internalworkingmemory, tuple1.getFactHandle().getObject());
        return ((Person)internalfacthandle.getObject()).getAge() > 2 * i * 3;
    }

    public ConditionEvaluator251ed544c9124e1d99d3a8cae5048e1a(Declaration adeclaration[])
    {
        declarations = adeclaration;
    }

    private static final String EXPRESSION = "age > ((2*$age1)/3)";
    private final Declaration declarations[];
}
{code}
The division is wrongly generated like "getAge() > 2 * i * 3".



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list