private Expression MakeBoxJoinOrCall(Expression left, List<Expression> right, SnapshotSpan? openBracket, SnapshotSpan? closeBracket) { if (right.Count == 1) return Expression.BoxJoin(left, right[0], openBracket); return Expression.Call(left, right, openBracket); }
public CallExpression(Expression target, IEnumerable<Expression> arguments, SnapshotSpan? operatorSpan) : base(ExpressionType.Call) { _target = target; _arguments = arguments.ToList(); _operatorSpan = operatorSpan; }
public BinaryExpression(ExpressionType type, Expression left, Expression right, SnapshotSpan? operatorSpan) : base(type) { this._left = left; this._right = right; this._operatorSpan = operatorSpan; }
public ConditionExpression(Expression condition, Expression then, Expression @else, SnapshotSpan? impliesOperatorSpan, SnapshotSpan? elseOperatorSpan) : base(ExpressionType.Implies) { _condition = condition; _then = then; _else = @else; _impliesOperatorSpan = impliesOperatorSpan; _elseOperatorSpan = elseOperatorSpan; }
public static DeclarationExpression Declaration( IEnumerable<Expression> names, Expression type, bool isPrivate, bool isDisjointNames, bool isDisjointType, SnapshotSpan? privateSpan, SnapshotSpan? disjointNamesSpan, SnapshotSpan? colonSpan, SnapshotSpan? disjointTypeSpan) { throw new NotImplementedException(); }
public static BinaryExpression AndAlso(Expression left, Expression right, SnapshotSpan? operatorSpan) { return MakeBinary(ExpressionType.AndAlso, left, right, operatorSpan); }
public static BinaryExpression Override(Expression left, Expression right, SnapshotSpan? operatorSpan) { return MakeBinary(ExpressionType.Override, left, right, operatorSpan); }
protected static SnapshotSpan? TryGetSpan(Expression expression) { if (expression == null) return null; return expression.Span; }
public static BinaryExpression MakeBinary(ExpressionType type, Expression left, Expression right, SnapshotSpan? operatorSpan) { return new BinaryExpression(type, left, right, operatorSpan); }
public static BinaryExpression LeftShift(Expression left, Expression right, SnapshotSpan? operatorSpan) { return MakeBinary(ExpressionType.LeftShift, left, right, operatorSpan); }
public static RelationExpression ArrowProduct(Expression left, Expression right, SnapshotSpan? operatorSpan) { throw new NotImplementedException(); }
public static BinaryExpression Equal(Expression left, Expression right, SnapshotSpan? operatorSpan) { return MakeBinary(ExpressionType.Equal, left, right, operatorSpan); }
public static BinaryExpression Difference(Expression left, Expression right, SnapshotSpan? operatorSpan) { return MakeBinary(ExpressionType.Difference, left, right, operatorSpan); }
public UnaryExpression(ExpressionType type, Expression expression, SnapshotSpan? operatorSpan) : base(type) { this._expression = expression; this._operatorSpan = operatorSpan; }
public static ConditionExpression Implies(Expression condition, Expression then, Expression @else, SnapshotSpan? impliesOperatorSpan, SnapshotSpan? elseOperatorSpan) { throw new NotImplementedException(); }
public static UnaryExpression Not(Expression expression, SnapshotSpan? operatorSpan) { return MakeUnary(ExpressionType.Not, expression, operatorSpan); }
public static CallExpression Call(Expression left, IEnumerable<Expression> right, SnapshotSpan? operatorSpan) { return new CallExpression(left, right, operatorSpan); }
public static BinaryExpression RightRotate(Expression left, Expression right, SnapshotSpan? operatorSpan) { return MakeBinary(ExpressionType.RightRotate, left, right, operatorSpan); }
public static BinaryExpression BoxJoin(Expression left, Expression right, SnapshotSpan? operatorSpan) { return MakeBinary(ExpressionType.BoxJoin, left, right, operatorSpan); }
public static UnaryExpression MakeUnary(ExpressionType type, Expression expression, SnapshotSpan? operatorSpan) { return new UnaryExpression(type, expression, operatorSpan); }
public static UnaryExpression Transpose(Expression expression, SnapshotSpan? operatorSpan) { return MakeUnary(ExpressionType.Transpose, expression, operatorSpan); }
public static BlockExpression Group(Expression expression, SnapshotSpan? openBraceSpan, SnapshotSpan? closeBraceSpan) { throw new NotImplementedException(); }
public static UnaryExpression ReflexiveTransitiveClosure(Expression expression, SnapshotSpan? operatorSpan) { return MakeUnary(ExpressionType.ReflexiveTransitiveClosure, expression, operatorSpan); }
public static BinaryExpression Intersection(Expression left, Expression right, SnapshotSpan? operatorSpan) { return MakeBinary(ExpressionType.Intersection, left, right, operatorSpan); }
public static BinaryExpression RangeRestriction(Expression left, Expression right, SnapshotSpan? operatorSpan) { return MakeBinary(ExpressionType.RangeRestriction, left, right, operatorSpan); }