//TODO: eventually, we just need to return ternary and avoid the extra objects public IExpression MakeLogicalAndExpression(IExpression leftExpr, IExpression rightExpr) { var left = (Expression)leftExpr; var right = (Expression)rightExpr; var implementation = MakeTernaryExpressionInternal(left, right, left); var n = new LogicalAndExpression(left, right, implementation); return(n); }
public override void Visit(LogicalAndExpression node) { Visit((BinaryExpression)node); }
public override void Visit(LogicalAndExpression node) { base.Visit(node); node.ValueType = GetType(node); }
internal static mdr.ValueTypes GetType(LogicalAndExpression expression) { return GetType(expression.Implementation); }
//TODO: eventually, we just need to return ternary and avoid the extra objects public IExpression MakeLogicalAndExpression(IExpression leftExpr, IExpression rightExpr) { var left = (Expression)leftExpr; var right = (Expression)rightExpr; var implementation = MakeTernaryExpressionInternal(left, right, left); var n = new LogicalAndExpression(left, right, implementation); return n; }
public abstract void Visit(LogicalAndExpression node);
public override void Visit(LogicalAndExpression node) { PushLocation(node); VisitNode(node.Implementation); PopLocation(); }
public override void Visit(LogicalAndExpression node) { VisitNode(node.Implementation); }