protected DeclarationCommand UpdateDeclaration(DeclarationCommand decl, IEnumerable<VariableDeclaration> variables, SelectExpression source) { if (variables != decl.Variables || source != decl.Source) { return new DeclarationCommand(variables, source); } return decl; }
protected virtual Expression VisitDeclaration(DeclarationCommand decl) { var variables = this.VisitVariableDeclarations(decl.Variables); var source = (SelectExpression)this.Visit(decl.Source); return this.UpdateDeclaration(decl, variables, source); }
protected override Expression VisitDeclaration(DeclarationCommand decl) { throw new NotSupportedException(); }