Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Common / CommandTrees / BasicExpressionVisitor.cs / 2 / BasicExpressionVisitor.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- using System.Collections.Generic; using System.Diagnostics; using System.Data.Metadata.Edm; namespace System.Data.Common.CommandTrees { ////// An abstract base type for types that implement the IExpressionVisitor interface to derive from. /// /*CQT_PUBLIC_API(*/internal/*)*/ abstract class BasicExpressionVisitor : DbExpressionVisitor { #region protected API, may be overridden to add functionality at specific points in the traversal ////// Convenience method to visit the specified /// The DbUnaryExpression to visit. ///. /// protected virtual void VisitUnaryExpression(DbUnaryExpression expression) { VisitExpression(EntityUtil.CheckArgumentNull(expression, "expression").Argument); } /// is null /// Convenience method to visit the specified /// The DbBinaryExpression to visit. ///. /// protected virtual void VisitBinaryExpression(DbBinaryExpression expression) { EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpression(expression.Left); VisitExpression(expression.Right); } /// is null /// Convenience method to visit the specified /// The DbExpressionBinding to visit. ///. /// protected virtual void VisitExpressionBindingPre(DbExpressionBinding binding) { EntityUtil.CheckArgumentNull(binding, "binding"); VisitExpression(binding.Expression); } /// is null /// Convenience method for post-processing after a DbExpressionBinding has been visited. /// /// The previously visited DbExpressionBinding. protected virtual void VisitExpressionBindingPost(DbExpressionBinding binding) { } ////// Convenience method to visit the specified /// The DbGroupExpressionBinding to visit. ///. /// protected virtual void VisitGroupExpressionBindingPre(DbGroupExpressionBinding binding) { EntityUtil.CheckArgumentNull(binding, "binding"); VisitExpression(binding.Expression); } /// is null /// Convenience method indicating that the grouping keys of a /// The DbGroupExpressionBinding of the DbGroupByExpression protected virtual void VisitGroupExpressionBindingMid(DbGroupExpressionBinding binding) { } ///have been visited and the aggregates are now about to be visited. /// /// Convenience method for post-processing after a DbGroupExpressionBinding has been visited. /// /// The previously visited DbGroupExpressionBinding. protected virtual void VisitGroupExpressionBindingPost(DbGroupExpressionBinding binding) { } ////// Convenience method indicating that the body of a Lambda /// The Lambda function that is about to be visited /// The expression that defines the body of the Lambda function that is about to be visited ///is now about to be visited. /// /// is null protected virtual void VisitLambdaFunctionPre(EdmFunction function, DbExpression body) { EntityUtil.CheckArgumentNull(function, "function"); EntityUtil.CheckArgumentNull(body, "body"); } /// is null /// Convenience method for post-processing after a Lambda DbFunctionExpression has been visited. /// /// The previously visited Lambda function. /// The expression that defines the body of the previously visited Lambda function protected virtual void VisitLambdaFunctionPost(EdmFunction function, DbExpression body) { } #endregion #region public convenience API ////// Convenience method to visit the specified /// The expression to visit. ///, if non-null. /// public virtual void VisitExpression(DbExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression").Accept(this); } /// is null /// Convenience method to visit each /// The list of expressions to visit. ///in the given list, if the list is non-null. /// public virtual void VisitExpressionList(IList is null expressionList) { EntityUtil.CheckArgumentNull(expressionList, "expressionList"); for(int idx = 0; idx < expressionList.Count; idx++) { VisitExpression(expressionList[idx]); } } /// /// Convenience method to visit each /// The list of aggregates to visit. ///in the list, if the list is non-null. /// public virtual void VisitAggregateList(IList is null aggregates) { EntityUtil.CheckArgumentNull(aggregates, "aggregates"); for(int idx = 0; idx < aggregates.Count; idx++) { VisitAggregate(aggregates[idx]); } } /// /// Convenience method to visit the specified /// The aggregate to visit. ///. /// public virtual void VisitAggregate(DbAggregate aggregate) { // #433613: PreSharp warning 56506: Parameter 'aggregate' to this public method must be validated: A null-dereference can occur here. VisitExpressionList(EntityUtil.CheckArgumentNull(aggregate, "aggregate").Arguments); } internal virtual void VisitRelatedEntityReferenceList(IList is null relatedEntityReferences) { for (int idx = 0; idx < relatedEntityReferences.Count; idx++) { this.VisitRelatedEntityReference(relatedEntityReferences[idx]); } } internal virtual void VisitRelatedEntityReference(DbRelatedEntityRef relatedEntityRef) { VisitExpression(relatedEntityRef.TargetEntityReference); } #endregion #region DbExpressionVisitor Members /// /// Called when an /// The expression ///of an otherwise unrecognized type is encountered. /// /// is null Always thrown if this method is called, since it indicates that public override void Visit(DbExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); throw EntityUtil.NotSupported(System.Data.Entity.Strings.Cqt_General_UnsupportedExpression(expression.GetType().FullName)); } ///is of an unsupported type /// Visitor pattern method for /// The DbConstantExpression that is being visited. ///. /// public override void Visit(DbConstantExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); } /// is null /// Visitor pattern method for /// The DbNullExpression that is being visited. ///. /// public override void Visit(DbNullExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); } /// is null /// Visitor pattern method for /// The DbVariableReferenceExpression that is being visited. ///. /// public override void Visit(DbVariableReferenceExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); } /// is null /// Visitor pattern method for /// The DbParameterReferenceExpression that is being visited. ///. /// public override void Visit(DbParameterReferenceExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); } /// is null /// Visitor pattern method for /// The DbFunctionExpression that is being visited. ///. /// public override void Visit(DbFunctionExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionList(expression.Arguments); if (expression.IsLambda) { Debug.Assert(expression.LambdaBody != null, "DbFunctionExpression.IsLambdaFunction returned true when DbFunctionExpression.LambdaBody == null"); VisitLambdaFunctionPre(expression.Function, expression.LambdaBody); VisitExpression(expression.LambdaBody); VisitLambdaFunctionPost(expression.Function, expression.LambdaBody); } } #if METHOD_EXPRESSION /// is null /// Visitor pattern method for /// The MethodExpression that is being visited. ///. /// public override void Visit(MethodExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); if (expression.Instance != null) { VisitExpression(expression.Instance); } VisitExpressionList(expression.Arguments); } #endif /// is null /// Visitor pattern method for /// The DbPropertyExpression that is being visited. ///. /// public override void Visit(DbPropertyExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); if(expression.Instance != null) { VisitExpression(expression.Instance); } } /// is null /// Visitor pattern method for /// The DbComparisonExpression that is being visited. ///. /// public override void Visit(DbComparisonExpression expression) { VisitBinaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbLikeExpression that is being visited. ///. /// public override void Visit(DbLikeExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpression(expression.Argument); VisitExpression(expression.Pattern); VisitExpression(expression.Escape); } /// is null /// Visitor pattern method for /// The DbLimitExpression that is being visited. ///. /// public override void Visit(DbLimitExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpression(expression.Argument); VisitExpression(expression.Limit); } /// is null /// Visitor pattern method for /// The DbIsNullExpression that is being visited. ///. /// public override void Visit(DbIsNullExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbArithmeticExpression that is being visited. ///. /// public override void Visit(DbArithmeticExpression expression) { VisitExpressionList(EntityUtil.CheckArgumentNull(expression, "expression").Arguments); } /// is null /// Visitor pattern method for /// The DbAndExpression that is being visited. ///. /// public override void Visit(DbAndExpression expression) { VisitBinaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbOrExpression that is being visited. ///. /// public override void Visit(DbOrExpression expression) { VisitBinaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbNotExpression that is being visited. ///. /// public override void Visit(DbNotExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbDistinctExpression that is being visited. ///. /// public override void Visit(DbDistinctExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbElementExpression that is being visited. ///. /// public override void Visit(DbElementExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbIsEmptyExpression that is being visited. ///. /// public override void Visit(DbIsEmptyExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbUnionAllExpression that is being visited. ///. /// public override void Visit(DbUnionAllExpression expression) { VisitBinaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbIntersectExpression that is being visited. ///. /// public override void Visit(DbIntersectExpression expression) { VisitBinaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbExceptExpression that is being visited. ///. /// public override void Visit(DbExceptExpression expression) { VisitBinaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbOfTypeExpression that is being visited. ///. /// public override void Visit(DbOfTypeExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbTreatExpression that is being visited. ///. /// public override void Visit(DbTreatExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbCastExpression that is being visited. ///. /// public override void Visit(DbCastExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbIsOfExpression that is being visited. ///. /// public override void Visit(DbIsOfExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbCaseExpression that is being visited. ///. /// public override void Visit(DbCaseExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionList(expression.When); VisitExpressionList(expression.Then); VisitExpression(expression.Else); } /// is null /// Visitor pattern method for /// The DbNewInstanceExpression that is being visited. ///. /// public override void Visit(DbNewInstanceExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionList(expression.Arguments); if (expression.HasRelatedEntityReferences) { Debug.Assert(expression.RelatedEntityReferences != null, "HasRelatedEntityReferences returned true for null RelatedEntityReferences list?"); this.VisitRelatedEntityReferenceList(expression.RelatedEntityReferences); } } /// is null /// Visitor pattern method for /// The DbRefExpression that is being visited. ///. /// public override void Visit(DbRefExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbRelationshipNavigationExpression that is being visited. ///. /// public override void Visit(DbRelationshipNavigationExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. VisitExpression(EntityUtil.CheckArgumentNull(expression, "expression").NavigationSource); } /// is null /// Visitor pattern method for /// The DeRefExpression that is being visited. ///. /// public override void Visit(DbDerefExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbRefKeyExpression that is being visited. ///. /// public override void Visit(DbRefKeyExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbEntityRefExpression that is being visited. ///. /// public override void Visit(DbEntityRefExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbScanExpression that is being visited. ///. /// public override void Visit(DbScanExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); } /// is null /// Visitor pattern method for /// The DbFilterExpression that is being visited. ///. /// public override void Visit(DbFilterExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Input); VisitExpression(expression.Predicate); VisitExpressionBindingPost(expression.Input); } /// is null /// Visitor pattern method for /// The DbProjectExpression that is being visited. ///. /// public override void Visit(DbProjectExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Input); VisitExpression(expression.Projection); VisitExpressionBindingPost(expression.Input); } /// is null /// Visitor pattern method for /// The DbCrossJoinExpression that is being visited. ///. /// public override void Visit(DbCrossJoinExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); foreach (DbExpressionBinding b in expression.Inputs) { VisitExpressionBindingPre(b); } foreach (DbExpressionBinding b in expression.Inputs) { VisitExpressionBindingPost(b); } } /// is null /// Visitor pattern method for /// The DbJoinExpression that is being visited. ///. /// public override void Visit(DbJoinExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Left); VisitExpressionBindingPre(expression.Right); VisitExpression(expression.JoinCondition); VisitExpressionBindingPost(expression.Left); VisitExpressionBindingPost(expression.Right); } /// is null /// Visitor pattern method for /// The DbApplyExpression that is being visited. ///. /// public override void Visit(DbApplyExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Input); // #433613: PreSharp warning 56506: Parameter 'expression.Apply' to this public method must be validated: A null-dereference can occur here. if (expression.Apply != null) { VisitExpression(expression.Apply.Expression); } VisitExpressionBindingPost(expression.Input); } /// is null /// Visitor pattern method for /// The DbExpression that is being visited. ///. /// public override void Visit(DbGroupByExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitGroupExpressionBindingPre(expression.Input); VisitExpressionList(expression.Keys); VisitGroupExpressionBindingMid(expression.Input); VisitAggregateList(expression.Aggregates); VisitGroupExpressionBindingPost(expression.Input); } /// is null /// Visitor pattern method for /// The DbSkipExpression that is being visited. ///. /// public override void Visit(DbSkipExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Input); foreach (DbSortClause sortKey in expression.SortOrder) { VisitExpression(sortKey.Expression); } VisitExpressionBindingPost(expression.Input); VisitExpression(expression.Count); } /// is null /// Visitor pattern method for /// The DbSortExpression that is being visited. ///. /// public override void Visit(DbSortExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Input); for(int idx = 0; idx < expression.SortOrder.Count; idx++) { VisitExpression(expression.SortOrder[idx].Expression); } VisitExpressionBindingPost(expression.Input); } /// is null /// Visitor pattern method for /// The DbQuantifierExpression that is being visited. ///. /// public override void Visit(DbQuantifierExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Input); VisitExpression(expression.Predicate); VisitExpressionBindingPost(expression.Input); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- // is null // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- using System.Collections.Generic; using System.Diagnostics; using System.Data.Metadata.Edm; namespace System.Data.Common.CommandTrees { ////// An abstract base type for types that implement the IExpressionVisitor interface to derive from. /// /*CQT_PUBLIC_API(*/internal/*)*/ abstract class BasicExpressionVisitor : DbExpressionVisitor { #region protected API, may be overridden to add functionality at specific points in the traversal ////// Convenience method to visit the specified /// The DbUnaryExpression to visit. ///. /// protected virtual void VisitUnaryExpression(DbUnaryExpression expression) { VisitExpression(EntityUtil.CheckArgumentNull(expression, "expression").Argument); } /// is null /// Convenience method to visit the specified /// The DbBinaryExpression to visit. ///. /// protected virtual void VisitBinaryExpression(DbBinaryExpression expression) { EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpression(expression.Left); VisitExpression(expression.Right); } /// is null /// Convenience method to visit the specified /// The DbExpressionBinding to visit. ///. /// protected virtual void VisitExpressionBindingPre(DbExpressionBinding binding) { EntityUtil.CheckArgumentNull(binding, "binding"); VisitExpression(binding.Expression); } /// is null /// Convenience method for post-processing after a DbExpressionBinding has been visited. /// /// The previously visited DbExpressionBinding. protected virtual void VisitExpressionBindingPost(DbExpressionBinding binding) { } ////// Convenience method to visit the specified /// The DbGroupExpressionBinding to visit. ///. /// protected virtual void VisitGroupExpressionBindingPre(DbGroupExpressionBinding binding) { EntityUtil.CheckArgumentNull(binding, "binding"); VisitExpression(binding.Expression); } /// is null /// Convenience method indicating that the grouping keys of a /// The DbGroupExpressionBinding of the DbGroupByExpression protected virtual void VisitGroupExpressionBindingMid(DbGroupExpressionBinding binding) { } ///have been visited and the aggregates are now about to be visited. /// /// Convenience method for post-processing after a DbGroupExpressionBinding has been visited. /// /// The previously visited DbGroupExpressionBinding. protected virtual void VisitGroupExpressionBindingPost(DbGroupExpressionBinding binding) { } ////// Convenience method indicating that the body of a Lambda /// The Lambda function that is about to be visited /// The expression that defines the body of the Lambda function that is about to be visited ///is now about to be visited. /// /// is null protected virtual void VisitLambdaFunctionPre(EdmFunction function, DbExpression body) { EntityUtil.CheckArgumentNull(function, "function"); EntityUtil.CheckArgumentNull(body, "body"); } /// is null /// Convenience method for post-processing after a Lambda DbFunctionExpression has been visited. /// /// The previously visited Lambda function. /// The expression that defines the body of the previously visited Lambda function protected virtual void VisitLambdaFunctionPost(EdmFunction function, DbExpression body) { } #endregion #region public convenience API ////// Convenience method to visit the specified /// The expression to visit. ///, if non-null. /// public virtual void VisitExpression(DbExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression").Accept(this); } /// is null /// Convenience method to visit each /// The list of expressions to visit. ///in the given list, if the list is non-null. /// public virtual void VisitExpressionList(IList is null expressionList) { EntityUtil.CheckArgumentNull(expressionList, "expressionList"); for(int idx = 0; idx < expressionList.Count; idx++) { VisitExpression(expressionList[idx]); } } /// /// Convenience method to visit each /// The list of aggregates to visit. ///in the list, if the list is non-null. /// public virtual void VisitAggregateList(IList is null aggregates) { EntityUtil.CheckArgumentNull(aggregates, "aggregates"); for(int idx = 0; idx < aggregates.Count; idx++) { VisitAggregate(aggregates[idx]); } } /// /// Convenience method to visit the specified /// The aggregate to visit. ///. /// public virtual void VisitAggregate(DbAggregate aggregate) { // #433613: PreSharp warning 56506: Parameter 'aggregate' to this public method must be validated: A null-dereference can occur here. VisitExpressionList(EntityUtil.CheckArgumentNull(aggregate, "aggregate").Arguments); } internal virtual void VisitRelatedEntityReferenceList(IList is null relatedEntityReferences) { for (int idx = 0; idx < relatedEntityReferences.Count; idx++) { this.VisitRelatedEntityReference(relatedEntityReferences[idx]); } } internal virtual void VisitRelatedEntityReference(DbRelatedEntityRef relatedEntityRef) { VisitExpression(relatedEntityRef.TargetEntityReference); } #endregion #region DbExpressionVisitor Members /// /// Called when an /// The expression ///of an otherwise unrecognized type is encountered. /// /// is null Always thrown if this method is called, since it indicates that public override void Visit(DbExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); throw EntityUtil.NotSupported(System.Data.Entity.Strings.Cqt_General_UnsupportedExpression(expression.GetType().FullName)); } ///is of an unsupported type /// Visitor pattern method for /// The DbConstantExpression that is being visited. ///. /// public override void Visit(DbConstantExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); } /// is null /// Visitor pattern method for /// The DbNullExpression that is being visited. ///. /// public override void Visit(DbNullExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); } /// is null /// Visitor pattern method for /// The DbVariableReferenceExpression that is being visited. ///. /// public override void Visit(DbVariableReferenceExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); } /// is null /// Visitor pattern method for /// The DbParameterReferenceExpression that is being visited. ///. /// public override void Visit(DbParameterReferenceExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); } /// is null /// Visitor pattern method for /// The DbFunctionExpression that is being visited. ///. /// public override void Visit(DbFunctionExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionList(expression.Arguments); if (expression.IsLambda) { Debug.Assert(expression.LambdaBody != null, "DbFunctionExpression.IsLambdaFunction returned true when DbFunctionExpression.LambdaBody == null"); VisitLambdaFunctionPre(expression.Function, expression.LambdaBody); VisitExpression(expression.LambdaBody); VisitLambdaFunctionPost(expression.Function, expression.LambdaBody); } } #if METHOD_EXPRESSION /// is null /// Visitor pattern method for /// The MethodExpression that is being visited. ///. /// public override void Visit(MethodExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); if (expression.Instance != null) { VisitExpression(expression.Instance); } VisitExpressionList(expression.Arguments); } #endif /// is null /// Visitor pattern method for /// The DbPropertyExpression that is being visited. ///. /// public override void Visit(DbPropertyExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); if(expression.Instance != null) { VisitExpression(expression.Instance); } } /// is null /// Visitor pattern method for /// The DbComparisonExpression that is being visited. ///. /// public override void Visit(DbComparisonExpression expression) { VisitBinaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbLikeExpression that is being visited. ///. /// public override void Visit(DbLikeExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpression(expression.Argument); VisitExpression(expression.Pattern); VisitExpression(expression.Escape); } /// is null /// Visitor pattern method for /// The DbLimitExpression that is being visited. ///. /// public override void Visit(DbLimitExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpression(expression.Argument); VisitExpression(expression.Limit); } /// is null /// Visitor pattern method for /// The DbIsNullExpression that is being visited. ///. /// public override void Visit(DbIsNullExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbArithmeticExpression that is being visited. ///. /// public override void Visit(DbArithmeticExpression expression) { VisitExpressionList(EntityUtil.CheckArgumentNull(expression, "expression").Arguments); } /// is null /// Visitor pattern method for /// The DbAndExpression that is being visited. ///. /// public override void Visit(DbAndExpression expression) { VisitBinaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbOrExpression that is being visited. ///. /// public override void Visit(DbOrExpression expression) { VisitBinaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbNotExpression that is being visited. ///. /// public override void Visit(DbNotExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbDistinctExpression that is being visited. ///. /// public override void Visit(DbDistinctExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbElementExpression that is being visited. ///. /// public override void Visit(DbElementExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbIsEmptyExpression that is being visited. ///. /// public override void Visit(DbIsEmptyExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbUnionAllExpression that is being visited. ///. /// public override void Visit(DbUnionAllExpression expression) { VisitBinaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbIntersectExpression that is being visited. ///. /// public override void Visit(DbIntersectExpression expression) { VisitBinaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbExceptExpression that is being visited. ///. /// public override void Visit(DbExceptExpression expression) { VisitBinaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbOfTypeExpression that is being visited. ///. /// public override void Visit(DbOfTypeExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbTreatExpression that is being visited. ///. /// public override void Visit(DbTreatExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbCastExpression that is being visited. ///. /// public override void Visit(DbCastExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbIsOfExpression that is being visited. ///. /// public override void Visit(DbIsOfExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbCaseExpression that is being visited. ///. /// public override void Visit(DbCaseExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionList(expression.When); VisitExpressionList(expression.Then); VisitExpression(expression.Else); } /// is null /// Visitor pattern method for /// The DbNewInstanceExpression that is being visited. ///. /// public override void Visit(DbNewInstanceExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionList(expression.Arguments); if (expression.HasRelatedEntityReferences) { Debug.Assert(expression.RelatedEntityReferences != null, "HasRelatedEntityReferences returned true for null RelatedEntityReferences list?"); this.VisitRelatedEntityReferenceList(expression.RelatedEntityReferences); } } /// is null /// Visitor pattern method for /// The DbRefExpression that is being visited. ///. /// public override void Visit(DbRefExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbRelationshipNavigationExpression that is being visited. ///. /// public override void Visit(DbRelationshipNavigationExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. VisitExpression(EntityUtil.CheckArgumentNull(expression, "expression").NavigationSource); } /// is null /// Visitor pattern method for /// The DeRefExpression that is being visited. ///. /// public override void Visit(DbDerefExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbRefKeyExpression that is being visited. ///. /// public override void Visit(DbRefKeyExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbEntityRefExpression that is being visited. ///. /// public override void Visit(DbEntityRefExpression expression) { VisitUnaryExpression(expression); } /// is null /// Visitor pattern method for /// The DbScanExpression that is being visited. ///. /// public override void Visit(DbScanExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); } /// is null /// Visitor pattern method for /// The DbFilterExpression that is being visited. ///. /// public override void Visit(DbFilterExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Input); VisitExpression(expression.Predicate); VisitExpressionBindingPost(expression.Input); } /// is null /// Visitor pattern method for /// The DbProjectExpression that is being visited. ///. /// public override void Visit(DbProjectExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Input); VisitExpression(expression.Projection); VisitExpressionBindingPost(expression.Input); } /// is null /// Visitor pattern method for /// The DbCrossJoinExpression that is being visited. ///. /// public override void Visit(DbCrossJoinExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); foreach (DbExpressionBinding b in expression.Inputs) { VisitExpressionBindingPre(b); } foreach (DbExpressionBinding b in expression.Inputs) { VisitExpressionBindingPost(b); } } /// is null /// Visitor pattern method for /// The DbJoinExpression that is being visited. ///. /// public override void Visit(DbJoinExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Left); VisitExpressionBindingPre(expression.Right); VisitExpression(expression.JoinCondition); VisitExpressionBindingPost(expression.Left); VisitExpressionBindingPost(expression.Right); } /// is null /// Visitor pattern method for /// The DbApplyExpression that is being visited. ///. /// public override void Visit(DbApplyExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Input); // #433613: PreSharp warning 56506: Parameter 'expression.Apply' to this public method must be validated: A null-dereference can occur here. if (expression.Apply != null) { VisitExpression(expression.Apply.Expression); } VisitExpressionBindingPost(expression.Input); } /// is null /// Visitor pattern method for /// The DbExpression that is being visited. ///. /// public override void Visit(DbGroupByExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitGroupExpressionBindingPre(expression.Input); VisitExpressionList(expression.Keys); VisitGroupExpressionBindingMid(expression.Input); VisitAggregateList(expression.Aggregates); VisitGroupExpressionBindingPost(expression.Input); } /// is null /// Visitor pattern method for /// The DbSkipExpression that is being visited. ///. /// public override void Visit(DbSkipExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Input); foreach (DbSortClause sortKey in expression.SortOrder) { VisitExpression(sortKey.Expression); } VisitExpressionBindingPost(expression.Input); VisitExpression(expression.Count); } /// is null /// Visitor pattern method for /// The DbSortExpression that is being visited. ///. /// public override void Visit(DbSortExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Input); for(int idx = 0; idx < expression.SortOrder.Count; idx++) { VisitExpression(expression.SortOrder[idx].Expression); } VisitExpressionBindingPost(expression.Input); } /// is null /// Visitor pattern method for /// The DbQuantifierExpression that is being visited. ///. /// public override void Visit(DbQuantifierExpression expression) { // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here. EntityUtil.CheckArgumentNull(expression, "expression"); VisitExpressionBindingPre(expression.Input); VisitExpression(expression.Predicate); VisitExpressionBindingPost(expression.Input); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. is null
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GridViewRowCollection.cs
- NotifyParentPropertyAttribute.cs
- Point3D.cs
- DelegateBodyWriter.cs
- WebBrowserPermission.cs
- ProviderConnectionPoint.cs
- UnsafeNativeMethods.cs
- SqlMethodAttribute.cs
- SingleAnimationBase.cs
- DbConnectionPoolOptions.cs
- SHA1Managed.cs
- MbpInfo.cs
- RequestNavigateEventArgs.cs
- DataTrigger.cs
- DecimalKeyFrameCollection.cs
- CodeNamespaceCollection.cs
- JavaScriptSerializer.cs
- DirectoryInfo.cs
- TreeNode.cs
- TdsParserSafeHandles.cs
- securestring.cs
- CssStyleCollection.cs
- AssemblyBuilderData.cs
- Instrumentation.cs
- PromptStyle.cs
- HwndKeyboardInputProvider.cs
- EntityDataSourceValidationException.cs
- ConfigurationStrings.cs
- AsymmetricKeyExchangeDeformatter.cs
- DescendantQuery.cs
- ScaleTransform.cs
- ProxySimple.cs
- ClientSettingsStore.cs
- StateBag.cs
- TransactionProxy.cs
- CallbackException.cs
- MouseEventArgs.cs
- XmlCollation.cs
- CqlParserHelpers.cs
- MimeReturn.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- TdsParserSafeHandles.cs
- TextContainer.cs
- ArcSegment.cs
- DataStreamFromComStream.cs
- securestring.cs
- NativeMethods.cs
- RecordConverter.cs
- ICspAsymmetricAlgorithm.cs
- XmlWhitespace.cs
- FrameworkTemplate.cs
- ByteStream.cs
- Overlapped.cs
- SequentialUshortCollection.cs
- ReflectionPermission.cs
- PeerNameRecordCollection.cs
- WeakReference.cs
- HitTestWithGeometryDrawingContextWalker.cs
- PathFigureCollectionValueSerializer.cs
- Suspend.cs
- FastPropertyAccessor.cs
- ConfigXmlAttribute.cs
- ICspAsymmetricAlgorithm.cs
- BindMarkupExtensionSerializer.cs
- ClientProtocol.cs
- ObjectToIdCache.cs
- UnSafeCharBuffer.cs
- PersonalizationAdministration.cs
- KeySpline.cs
- TagNameToTypeMapper.cs
- MouseDevice.cs
- MeasurementDCInfo.cs
- CommonDialog.cs
- ConstrainedDataObject.cs
- counter.cs
- AttributedMetaModel.cs
- MeasureData.cs
- StreamInfo.cs
- DataRelationPropertyDescriptor.cs
- ActivityCodeDomSerializer.cs
- DrawingGroupDrawingContext.cs
- DataTablePropertyDescriptor.cs
- SQLRoleProvider.cs
- Point3DCollectionConverter.cs
- Pair.cs
- DataListItemCollection.cs
- LongValidatorAttribute.cs
- XmlReader.cs
- EmulateRecognizeCompletedEventArgs.cs
- CustomCredentialPolicy.cs
- KnowledgeBase.cs
- PtsContext.cs
- MemoryMappedViewStream.cs
- ImportCatalogPart.cs
- MulticastOption.cs
- Rectangle.cs
- ExpressionNode.cs
- VirtualPath.cs
- Lazy.cs
- InvariantComparer.cs