protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { if (!this.TryGetCurrent(constantPlaceholder, out var current)) { return(constantPlaceholder); } if (!(this.result &= (current.Index == constantPlaceholder.Index))) { return(constantPlaceholder); } if ((this.options & SqlExpressionComparerOptions.IgnoreConstantPlaceholders) != 0) { this.result &= current.Type == constantPlaceholder.Type; return(constantPlaceholder); } this.currentObject = current.ConstantExpression; this.Visit(constantPlaceholder.ConstantExpression); this.currentObject = current; return(constantPlaceholder); }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { this.values.Add(constantPlaceholder); this.maxIndex = Math.Max(constantPlaceholder.Index, this.maxIndex); return base.VisitConstantPlaceholder(constantPlaceholder); }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { this.hashCode ^= constantPlaceholder.Index; if ((this.options & SqlExpressionComparerOptions.IgnoreConstantPlaceholders) != 0) { return constantPlaceholder; } return base.VisitConstantPlaceholder(constantPlaceholder); }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { this.hashCode ^= constantPlaceholder.Index; if ((this.options & SqlExpressionComparerOptions.IgnoreConstantPlaceholders) != 0) { return(constantPlaceholder); } return(base.VisitConstantPlaceholder(constantPlaceholder)); }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { var result = base.VisitConstant(constantPlaceholder.ConstantExpression); var retval = new SqlConstantPlaceholderExpression(constantPlaceholder.Index, (ConstantExpression)result); if (retval.Type.GetUnwrappedNullableType() == typeof(bool)) { return new BitBooleanExpression(retval); } return retval; }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { hashCode ^= constantPlaceholder.Index; if (ignoreConstantPlaceholderValues) { return(constantPlaceholder); } else { return(base.VisitConstantPlaceholder(constantPlaceholder)); } }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { var nullableType = constantPlaceholder.Type.MakeNullable(); if (nullableType == constantPlaceholder.Type) { replacedExpressions.Add(constantPlaceholder); return new SqlConstantPlaceholderExpression(this.placeholderCount++, Expression.Constant(null, nullableType)); } else { replacedExpressions.Add(new SqlConstantPlaceholderExpression(constantPlaceholder.Index, Expression.Constant(constantPlaceholder.ConstantExpression.Value, nullableType))); return new SqlConstantPlaceholderExpression(this.placeholderCount++, Expression.Constant(null, nullableType)); } }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { SqlConstantPlaceholderExpression current; if (!TryGetCurrent(constantPlaceholder, out current)) { return(constantPlaceholder); } result = result && (current.Index == constantPlaceholder.Index); if (result && !ignoreConstantPlaceholderValues) { currentObject = current.ConstantExpression; Visit(constantPlaceholder.ConstantExpression); currentObject = current; } return(constantPlaceholder); }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { if (placeholderValues != null) { var retval = Expression.ArrayIndex(this.placeholderValues, Expression.Constant(constantPlaceholder.Index)); return retval.Type == constantPlaceholder.Type ? retval : (Expression)Expression.Convert(retval, constantPlaceholder.Type); } else { if (constantPlaceholder.Index < this.placeholderValuesLiteral.Length) { var retval = Expression.Constant(this.placeholderValuesLiteral[constantPlaceholder.Index]); return retval.Type == constantPlaceholder.Type ? retval : (Expression)Expression.Convert(retval, constantPlaceholder.Type); } else { return constantPlaceholder; } } }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { var newLength = this.values.Length; while (constantPlaceholder.Index > newLength - 1) { newLength *= 2; } if (newLength != this.values.Length) { Array.Resize(ref this.values, newLength); } values[constantPlaceholder.Index] = constantPlaceholder.ConstantExpression.Value; if (maxLength < constantPlaceholder.Index + 1) { maxLength = constantPlaceholder.Index + 1; } return base.VisitConstantPlaceholder(constantPlaceholder); }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholderExpression) { if ((this.options & SqlQueryFormatterOptions.EvaluateConstantPlaceholders) != 0) { var startIndex = this.parameterValues.Count; var savedOptions = this.options; // Never optimise-out null constant placeholders this.options &= ~SqlQueryFormatterOptions.OptimiseOutConstantNulls; var retval = base.VisitConstantPlaceholder(constantPlaceholderExpression); this.options = savedOptions; var endIndex = this.parameterValues.Count; if (endIndex - startIndex == 1 && canReuse) { var index = startIndex; parameterIndexToPlaceholderIndexes.Add(new Pair<int, int>(index, constantPlaceholderExpression.Index)); } return retval; } else { this.WriteFormat("$${0}", constantPlaceholderExpression.Index); return constantPlaceholderExpression; } }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { return Expression.Convert(Expression.ArrayIndex(this.dynamicParameters, Expression.Constant(constantPlaceholder.Index)), constantPlaceholder.ConstantExpression.Type); }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholderExpression) { if ((this.options & SqlQueryFormatterOptions.EvaluateConstantPlaceholders) != 0) { return base.VisitConstantPlaceholder(constantPlaceholderExpression); } else { this.WriteFormat("$${0}", constantPlaceholderExpression.Index); return constantPlaceholderExpression; } }
protected virtual Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { var result = this.VisitConstant(constantPlaceholder.ConstantExpression); if (constantPlaceholder.ConstantExpression != result) { if (!(result is ConstantExpression)) { return result; } return new SqlConstantPlaceholderExpression(constantPlaceholder.Index, (ConstantExpression)result); } return constantPlaceholder; }
protected virtual Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { var result = this.VisitConstant(constantPlaceholder.ConstantExpression); return new SqlConstantPlaceholderExpression(constantPlaceholder.Index, (ConstantExpression)result); }
protected virtual Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { var result = VisitConstant(constantPlaceholder.ConstantExpression); return(new SqlConstantPlaceholderExpression(constantPlaceholder.Index, (ConstantExpression)result)); }
protected override Expression VisitConstantPlaceholder(SqlConstantPlaceholderExpression constantPlaceholder) { this.output.AppendFormat("$${0}", constantPlaceholder.Index); return constantPlaceholder; }