//--------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Collections.Generic; using System.Data.Metadata.Edm; namespace System.Data.Common.CommandTrees { /// /// The expression visitor pattern abstract base class that should be implemented by visitors that do not return a result value. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public abstract class DbExpressionVisitor { /// /// Called when an expression of an otherwise unrecognized type is encountered. /// /// The expression public abstract void Visit(DbExpression expression); /// /// Visitor pattern method for DbAndExpression. /// /// The DbAndExpression that is being visited. public abstract void Visit(DbAndExpression expression); /// /// Visitor pattern method for DbApplyExpression. /// /// The DbApplyExpression that is being visited. public abstract void Visit(DbApplyExpression expression); /// /// Visitor pattern method for DbArithmeticExpression. /// /// The DbArithmeticExpression that is being visited. public abstract void Visit(DbArithmeticExpression expression); /// /// Visitor pattern method for DbCaseExpression. /// /// The DbCaseExpression that is being visited. public abstract void Visit(DbCaseExpression expression); /// /// Visitor pattern method for DbCastExpression. /// /// The DbCastExpression that is being visited. public abstract void Visit(DbCastExpression expression); /// /// Visitor pattern method for DbComparisonExpression. /// /// The DbComparisonExpression that is being visited. public abstract void Visit(DbComparisonExpression expression); /// /// Visitor pattern method for DbConstantExpression. /// /// The DbConstantExpression that is being visited. public abstract void Visit(DbConstantExpression expression); /// /// Visitor pattern method for DbCrossJoinExpression. /// /// The DbCrossJoinExpression that is being visited. public abstract void Visit(DbCrossJoinExpression expression); /// /// Visitor pattern method for DbDerefExpression. /// /// The DbDerefExpression that is being visited. public abstract void Visit(DbDerefExpression expression); /// /// Visitor pattern method for DbDistinctExpression. /// /// The DbDistinctExpression that is being visited. public abstract void Visit(DbDistinctExpression expression); /// /// Visitor pattern method for DbElementExpression. /// /// The DbElementExpression that is being visited. public abstract void Visit(DbElementExpression expression); /// /// Visitor pattern method for DbExceptExpression. /// /// The DbExceptExpression that is being visited. public abstract void Visit(DbExceptExpression expression); /// /// Visitor pattern method for DbFilterExpression. /// /// The DbFilterExpression that is being visited. public abstract void Visit(DbFilterExpression expression); /// /// Visitor pattern method for DbFunctionExpression /// /// The DbFunctionExpression that is being visited. public abstract void Visit(DbFunctionExpression expression); /// /// Visitor pattern method for DbEntityRefExpression. /// /// The DbEntityRefExpression that is being visited. public abstract void Visit(DbEntityRefExpression expression); /// /// Visitor pattern method for DbRefKeyExpression. /// /// The DbRefKeyExpression that is being visited. public abstract void Visit(DbRefKeyExpression expression); /// /// Visitor pattern method for DbGroupByExpression. /// /// The DbGroupByExpression that is being visited. public abstract void Visit(DbGroupByExpression expression); /// /// Visitor pattern method for DbIntersectExpression. /// /// The DbIntersectExpression that is being visited. public abstract void Visit(DbIntersectExpression expression); /// /// Visitor pattern method for DbIsEmptyExpression. /// /// The DbIsEmptyExpression that is being visited. public abstract void Visit(DbIsEmptyExpression expression); /// /// Visitor pattern method for DbIsNullExpression. /// /// The DbIsNullExpression that is being visited. public abstract void Visit(DbIsNullExpression expression); /// /// Visitor pattern method for DbIsOfExpression. /// /// The DbIsOfExpression that is being visited. public abstract void Visit(DbIsOfExpression expression); /// /// Visitor pattern method for DbJoinExpression. /// /// The DbJoinExpression that is being visited. public abstract void Visit(DbJoinExpression expression); /// /// Visitor pattern method for DbLambdaExpression. /// /// The DbLambdaExpression that is being visited. public virtual void Visit(DbLambdaExpression expression) { throw EntityUtil.NotSupported(); } /// /// Visitor pattern method for DbLikeExpression. /// /// The DbLikeExpression that is being visited. public abstract void Visit(DbLikeExpression expression); /// /// Visitor pattern method for DbLimitExpression. /// /// The DbLimitExpression that is being visited. public abstract void Visit(DbLimitExpression expression); #if METHOD_EXPRESSION /// /// Visitor pattern method for MethodExpression. /// /// The MethodExpression that is being visited. public abstract void Visit(MethodExpression expression); #endif /// /// Visitor pattern method for DbNewInstanceExpression. /// /// The DbNewInstanceExpression that is being visited. public abstract void Visit(DbNewInstanceExpression expression); /// /// Visitor pattern method for DbNotExpression. /// /// The DbNotExpression that is being visited. public abstract void Visit(DbNotExpression expression); /// /// Visitor pattern method for DbNullExpression. /// /// The DbNullExpression that is being visited. public abstract void Visit(DbNullExpression expression); /// /// Visitor pattern method for DbOfTypeExpression. /// /// The DbOfTypeExpression that is being visited. public abstract void Visit(DbOfTypeExpression expression); /// /// Visitor pattern method for DbOrExpression. /// /// The DbOrExpression that is being visited. public abstract void Visit(DbOrExpression expression); /// /// Visitor pattern method for DbParameterReferenceExpression. /// /// The DbParameterReferenceExpression that is being visited. public abstract void Visit(DbParameterReferenceExpression expression); /// /// Visitor pattern method for DbProjectExpression. /// /// The DbProjectExpression that is being visited. public abstract void Visit(DbProjectExpression expression); /// /// Visitor pattern method for DbPropertyExpression. /// /// The DbPropertyExpression that is being visited. public abstract void Visit(DbPropertyExpression expression); /// /// Visitor pattern method for DbQuantifierExpression. /// /// The DbQuantifierExpression that is being visited. public abstract void Visit(DbQuantifierExpression expression); /// /// Visitor pattern method for DbRefExpression. /// /// The DbRefExpression that is being visited. public abstract void Visit(DbRefExpression expression); /// /// Visitor pattern method for DbRelationshipNavigationExpression. /// /// The DbRelationshipNavigationExpression that is being visited. public abstract void Visit(DbRelationshipNavigationExpression expression); /// /// Visitor pattern method for DbScanExpression. /// /// The DbScanExpression that is being visited. public abstract void Visit(DbScanExpression expression); /// /// Visitor pattern method for DbSkipExpression. /// /// The DbSkipExpression that is being visited. public abstract void Visit(DbSkipExpression expression); /// /// Visitor pattern method for DbSortExpression. /// /// The DbSortExpression that is being visited. public abstract void Visit(DbSortExpression expression); /// /// Visitor pattern method for DbTreatExpression. /// /// The DbTreatExpression that is being visited. public abstract void Visit(DbTreatExpression expression); /// /// Visitor pattern method for DbUnionAllExpression. /// /// The DbUnionAllExpression that is being visited. public abstract void Visit(DbUnionAllExpression expression); /// /// Visitor pattern method for DbVariableReferenceExpression. /// /// The DbVariableReferenceExpression that is being visited. public abstract void Visit(DbVariableReferenceExpression expression); } }