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;
 }
Пример #3
0
 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;
 }
Пример #5
0
 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();
 }
Пример #6
0
 public static BinaryExpression AndAlso(Expression left, Expression right, SnapshotSpan? operatorSpan)
 {
     return MakeBinary(ExpressionType.AndAlso, left, right, operatorSpan);
 }
Пример #7
0
 public static BinaryExpression Override(Expression left, Expression right, SnapshotSpan? operatorSpan)
 {
     return MakeBinary(ExpressionType.Override, left, right, operatorSpan);
 }
Пример #8
0
        protected static SnapshotSpan? TryGetSpan(Expression expression)
        {
            if (expression == null)
                return null;

            return expression.Span;
        }
Пример #9
0
 public static BinaryExpression MakeBinary(ExpressionType type, Expression left, Expression right, SnapshotSpan? operatorSpan)
 {
     return new BinaryExpression(type, left, right, operatorSpan);
 }
Пример #10
0
 public static BinaryExpression LeftShift(Expression left, Expression right, SnapshotSpan? operatorSpan)
 {
     return MakeBinary(ExpressionType.LeftShift, left, right, operatorSpan);
 }
Пример #11
0
 public static RelationExpression ArrowProduct(Expression left, Expression right, SnapshotSpan? operatorSpan)
 {
     throw new NotImplementedException();
 }
Пример #12
0
 public static BinaryExpression Equal(Expression left, Expression right, SnapshotSpan? operatorSpan)
 {
     return MakeBinary(ExpressionType.Equal, left, right, operatorSpan);
 }
Пример #13
0
 public static BinaryExpression Difference(Expression left, Expression right, SnapshotSpan? operatorSpan)
 {
     return MakeBinary(ExpressionType.Difference, left, right, operatorSpan);
 }
Пример #14
0
 public UnaryExpression(ExpressionType type, Expression expression, SnapshotSpan? operatorSpan)
     : base(type)
 {
     this._expression = expression;
     this._operatorSpan = operatorSpan;
 }
Пример #15
0
 public static ConditionExpression Implies(Expression condition, Expression then, Expression @else, SnapshotSpan? impliesOperatorSpan, SnapshotSpan? elseOperatorSpan)
 {
     throw new NotImplementedException();
 }
Пример #16
0
 public static UnaryExpression Not(Expression expression, SnapshotSpan? operatorSpan)
 {
     return MakeUnary(ExpressionType.Not, expression, operatorSpan);
 }
Пример #17
0
 public static CallExpression Call(Expression left, IEnumerable<Expression> right, SnapshotSpan? operatorSpan)
 {
     return new CallExpression(left, right, operatorSpan);
 }
Пример #18
0
 public static BinaryExpression RightRotate(Expression left, Expression right, SnapshotSpan? operatorSpan)
 {
     return MakeBinary(ExpressionType.RightRotate, left, right, operatorSpan);
 }
Пример #19
0
 public static BinaryExpression BoxJoin(Expression left, Expression right, SnapshotSpan? operatorSpan)
 {
     return MakeBinary(ExpressionType.BoxJoin, left, right, operatorSpan);
 }
Пример #20
0
 public static UnaryExpression MakeUnary(ExpressionType type, Expression expression, SnapshotSpan? operatorSpan)
 {
     return new UnaryExpression(type, expression, operatorSpan);
 }
Пример #21
0
 public static UnaryExpression Transpose(Expression expression, SnapshotSpan? operatorSpan)
 {
     return MakeUnary(ExpressionType.Transpose, expression, operatorSpan);
 }
Пример #22
0
 public static BlockExpression Group(Expression expression, SnapshotSpan? openBraceSpan, SnapshotSpan? closeBraceSpan)
 {
     throw new NotImplementedException();
 }
Пример #23
0
 public static UnaryExpression ReflexiveTransitiveClosure(Expression expression, SnapshotSpan? operatorSpan)
 {
     return MakeUnary(ExpressionType.ReflexiveTransitiveClosure, expression, operatorSpan);
 }
Пример #24
0
 public static BinaryExpression Intersection(Expression left, Expression right, SnapshotSpan? operatorSpan)
 {
     return MakeBinary(ExpressionType.Intersection, left, right, operatorSpan);
 }
Пример #25
0
 public static BinaryExpression RangeRestriction(Expression left, Expression right, SnapshotSpan? operatorSpan)
 {
     return MakeBinary(ExpressionType.RangeRestriction, left, right, operatorSpan);
 }