public override Expression Accept([NotNull] ExpressionTreeVisitor visitor) { Check.NotNull(visitor, nameof(visitor)); var specificVisitor = visitor as ISqlExpressionVisitor; return(specificVisitor != null ? specificVisitor.VisitIsNullExpression(this) : base.Accept(visitor)); }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newMatchExpression = visitor.VisitExpression(_match); var newPatternExpression = visitor.VisitExpression(_pattern); return(newMatchExpression != _match || newPatternExpression != _pattern ? new LikeExpression(newMatchExpression, newPatternExpression) : this); }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newPattern = visitor.VisitExpression(pattern); if (Equals(pattern, newPattern)) { return(this); } return(new AllowSpecialCharactersExpression(newPattern)); }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var result = visitor.VisitExpression(_expression); if (result != _expression) { return(new TestExtensionExpression(result)); } return(this); }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newExpression = visitor.VisitExpression(_expression); if (newExpression != _expression) { return(new SqlConvertedBooleanExpression(newExpression)); } return(this); }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newExpression = visitor.VisitExpression(BinaryExpression); if (ReferenceEquals(BinaryExpression, newExpression)) { return(this); } return(new BoostBinaryExpression((BinaryExpression)newExpression, Boost)); }
public override Expression Accept([NotNull] ExpressionTreeVisitor visitor) { Check.NotNull(visitor, "visitor"); var specificVisitor = visitor as TableQueryGenerator; if (specificVisitor != null) { return(specificVisitor.VisitSelectExpression(this)); } return(base.Accept(visitor)); }
public override void VisitWhereClause(Remotion.Linq.Clauses.WhereClause whereClause, QueryModel queryModel, int index) { bool alreadyHasQuery = false; var query = new StringBuilder(); queries.Add(query); ExpressionTreeVisitor visitor = new ExpressionTreeVisitor(query); visitor.VisitExpression(whereClause.Predicate); base.VisitWhereClause(whereClause, queryModel, index); }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newLeftExpression = visitor.VisitExpression(_left); var newRightExpression = visitor.VisitExpression(_right); var newEscapeExpression = visitor.VisitExpression(_escapeExpression); if (newLeftExpression != _left || newRightExpression != _right || newEscapeExpression != _escapeExpression) { return(new SqlLikeExpression(newLeftExpression, newRightExpression, newEscapeExpression)); } return(this); }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newExpressions = visitor.VisitAndConvert(_expressions, "VisitChildren"); if (newExpressions != Expressions) { return(new SqlCompositeCustomTextGeneratorExpression(Type, newExpressions.ToArray())); } else { return(this); } }
public override Expression Accept(ExpressionTreeVisitor visitor) { var specificVisitor = visitor as IPartialEvaluationExceptionExpressionVisitor; if (specificVisitor != null) { return(specificVisitor.VisitPartialEvaluationExceptionExpression(this)); } else { return(base.Accept(visitor)); } }
public override Expression Accept(ExpressionTreeVisitor visitor) { var specificVisitor = visitor as ISqlSpecificExpressionVisitor; if (specificVisitor != null) { return(specificVisitor.VisitSqlFunctionExpression(this)); } else { return(base.Accept(visitor)); } }
public override Expression Accept(ExpressionTreeVisitor visitor) { ArgumentUtility.CheckNotNull("visitor", visitor); var collectionExpressionVisitor = visitor as ISqlCollectionExpressionVisitor; if (collectionExpressionVisitor != null) { return(collectionExpressionVisitor.VisitSqlCollectionExpression(this)); } return(base.Accept(visitor)); }
public override Expression Accept(ExpressionTreeVisitor visitor) { var specificVisitor = visitor as IVBSpecificExpressionVisitor; if (specificVisitor != null) { return(specificVisitor.VisitVBStringComparisonExpression(this)); } else { return(base.Accept(visitor)); } }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newPrimaryKeyExpression = visitor.VisitExpression(_identityExpression); if (newPrimaryKeyExpression != _identityExpression) { return(new SqlEntityConstantExpression(Type, _value, newPrimaryKeyExpression)); } else { return(this); } }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newSource = visitor.VisitExpression(_source); if (newSource != _source) { return(new SqlConvertExpression(Type, newSource)); } else { return(this); } }
public override Expression Accept(ExpressionTreeVisitor visitor) { var specificVisitor = visitor as ISpecificVisitor; if (specificVisitor != null) { return(specificVisitor.VisitTestableExtensionExpression(this)); } else { return(base.Accept(visitor)); } }
public override Expression Accept(ExpressionTreeVisitor visitor) { var specificVisitor = visitor as ISqlCustomTextGeneratorExpressionVisitor; if (specificVisitor != null) { return(specificVisitor.VisitSqlCustomTextGeneratorExpression(this)); } else { return(base.Accept(visitor)); } }
protected internal override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newExpression = visitor.VisitExpression(_comparison); if (newExpression != _comparison) { return(new VBStringComparisonExpression(newExpression, _textCompare)); } else { return(this); } }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newExpression = visitor.VisitExpression(_expression); if (newExpression != _expression) { return(new SqlExistsExpression(newExpression)); } else { return(this); } }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { ArgumentUtility.CheckNotNull("visitor", visitor); var newItems = visitor.VisitAndConvert(_items, "SqlCollectionExpression.VisitChildren"); if (newItems != _items) { return(new SqlCollectionExpression(Type, newItems)); } return(this); }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newColumns = visitor.VisitAndConvert(Columns, "VisitChildren"); if (newColumns != Columns) { return(new SqlEntityDefinitionExpression(Type, TableAlias, null, IdentityExpressionGenerator, newColumns.ToArray())); } else { return(this); } }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newArgs = visitor.VisitAndConvert(_args, "SqlFunctionExpression.VisitChildren"); if (_args != newArgs) { return(new SqlFunctionExpression(Type, _sqlFunctioName, newArgs.ToArray())); } else { return(this); } }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newChild = visitor.VisitExpression(Child); if (newChild != Child) { return(new CustomCompositeExpression(Type, newChild)); } else { return(this); } }
protected internal override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newEvaluatedExpression = visitor.VisitExpression(_evaluatedExpression); if (newEvaluatedExpression != _evaluatedExpression) { return(new PartialEvaluationExceptionExpression(_exception, newEvaluatedExpression)); } else { return(this); } }
public override Expression Accept(ExpressionTreeVisitor visitor) { var specificVisitor = visitor as IResolvedSqlExpressionVisitor; if (specificVisitor != null) { return(specificVisitor.VisitSqlEntityExpression(this)); } else { return(base.Accept(visitor)); } }
public override Expression Accept(ExpressionTreeVisitor visitor) { var specificVisitor = visitor as ISqlNullCheckExpressionVisitor; if (specificVisitor != null) { return(specificVisitor.VisitSqlIsNotNullExpression(this)); } else { return(base.Accept(visitor)); } }
public Expression Transform(NewExpression expression) { if (expression.Members == null && CanAddMembers(expression.Type, expression.Arguments)) { var members = GetMembers(expression.Constructor, expression.Arguments); return(Expression.New( expression.Constructor, ExpressionTreeVisitor.AdjustArgumentsForNewExpression(expression.Arguments, members), members)); } return(expression); }
public override Expression Accept([NotNull] ExpressionTreeVisitor visitor) { Check.NotNull(visitor, "visitor"); var specificVisitor = visitor as ISqlExpressionVisitor; if (specificVisitor != null) { return(specificVisitor.VisitOuterJoinExpression(this)); } return(base.Accept(visitor)); }
protected override Expression VisitChildren(ExpressionTreeVisitor visitor) { var newLeftExpression = visitor.VisitExpression(_leftExpression); var newRightExpression = visitor.VisitExpression(_rightExpression); if (newLeftExpression != _leftExpression || newRightExpression != _rightExpression) { return(new SqlInExpression(newLeftExpression, newRightExpression)); } else { return(this); } }
public override Expression Accept(ExpressionTreeVisitor visitor) { ArgumentUtility.CheckNotNull("visitor", visitor); var specificVisitor = visitor as ISqlTableReferenceExpressionVisitor; if (specificVisitor != null) { return(specificVisitor.VisitSqlTableReferenceExpression(this)); } else { return(base.Accept(visitor)); } }
/// <summary> /// Checks if the expression can be coppied or moved, without changing the semantics of the program. Additional checks must be made to find the scope of the supposed move. /// </summary> /// <param name="expression">The expression in question.</param> /// <returns>Returns true, if the expression can be safely moved/coppied.</returns> private bool CanBePropagated(Expression expression) { ExpressionTreeVisitor etv = new ExpressionTreeVisitor(); return etv.CanBePropagated(expression); }