Search in sources :

Example 1 with VariableDeclaratorTExpr

use of org.drools.mvelcompiler.ast.VariableDeclaratorTExpr in project drools by kiegroup.

the class LHSPhase method visit.

@Override
public TypedExpression visit(AssignExpr n, Void arg) {
    logPhase("AssignExpr {}", n);
    TypedExpression target = n.getTarget().accept(this, arg);
    Optional<TypedExpression> bigDecimalConversion = withBigDecimalConversion(n, target, rhsOrError());
    if (bigDecimalConversion.isPresent()) {
        return bigDecimalConversion.get();
    }
    if (target instanceof FieldToAccessorTExpr || target instanceof VariableDeclaratorTExpr || target instanceof MapPutExprT) {
        return target;
    }
    return new AssignExprT(n.getOperator(), target, rhsOrNull());
}
Also used : MapPutExprT(org.drools.mvelcompiler.ast.MapPutExprT) AssignExprT(org.drools.mvelcompiler.ast.AssignExprT) VariableDeclaratorTExpr(org.drools.mvelcompiler.ast.VariableDeclaratorTExpr) UnalteredTypedExpression(org.drools.mvelcompiler.ast.UnalteredTypedExpression) TypedExpression(org.drools.mvelcompiler.ast.TypedExpression) FieldToAccessorTExpr(org.drools.mvelcompiler.ast.FieldToAccessorTExpr)

Aggregations

AssignExprT (org.drools.mvelcompiler.ast.AssignExprT)1 FieldToAccessorTExpr (org.drools.mvelcompiler.ast.FieldToAccessorTExpr)1 MapPutExprT (org.drools.mvelcompiler.ast.MapPutExprT)1 TypedExpression (org.drools.mvelcompiler.ast.TypedExpression)1 UnalteredTypedExpression (org.drools.mvelcompiler.ast.UnalteredTypedExpression)1 VariableDeclaratorTExpr (org.drools.mvelcompiler.ast.VariableDeclaratorTExpr)1