return translateExpression(ee.getExpression(), tCtx);
}
private LogicalVariable translateInfixExprNode(TranslationContext tCtx, InfixExprNode ie) throws SystemException {
Function operator = getOperator(ie.getOperator());
Signature sign = operator.getSignature();
LogicalVariable varLeft = translateExpression(ie.getLeftExpr(), tCtx);
LogicalVariable varRight = translateExpression(ie.getRightExpr(), tCtx);
ILogicalExpression arg1 = normalize(vre(varLeft), sign.getParameterType(0));
ILogicalExpression arg2 = normalize(vre(varRight), sign.getParameterType(1));
if (BuiltinOperators.EXCEPT.equals(operator) || BuiltinOperators.INTERSECT.equals(operator)) {
arg1 = sfce(BuiltinOperators.SORT_DISTINCT_NODES_ASC, arg1);
arg2 = sfce(BuiltinOperators.SORT_DISTINCT_NODES_ASC, arg2);
}
ILogicalExpression result = sfce(operator, arg1, arg2);