protected override Expression VisitDeclare(SqlDeclareExpression expression) { SqlDeclareExpression current; if (!TryGetCurrent(expression, out current)) { return expression; } if (!(this.result &= current.Type == expression.Type)) { return expression; } if (!(this.result &= current.NodeType == expression.NodeType)) { return expression; } this.currentObject = current.VariableDeclarations; this.VisitExpressionList(expression.VariableDeclarations); if (!this.result) { return expression; } this.currentObject = current; return expression; }
protected virtual Expression VisitDeclare(SqlDeclareExpression expression) { var variableDeclarations = this.VisitExpressionList(expression.VariableDeclarations); if (variableDeclarations != expression.VariableDeclarations) { return new SqlDeclareExpression(variableDeclarations); } return expression; }