Class Modifier
- Assembly
- TimeCockpit.Data.dll
Since AST Nodes are read-only, modifying an AST means copying (parts) the tree to a new tree with the nodes requiring modification being replaced. This visitor implementation aids building new AST trees by copying from exisiting and replacing modified nodes through delegation to another visitor.
public class Modifier : Visitor
- Inheritance
-
ObjectModifier
- Inherited Members
-
Object.ToString()Object.Equals(Object)Object.Equals(Object, Object)Object.ReferenceEquals(Object, Object)Object.GetHashCode()Object.GetType()Object.MemberwiseClone()
Constructors
Modifier(Visitor)
Initializes a new instance of the Modifier class.
public Modifier(Visitor replacementVisitor)
Parameters
replacementVisitorVisitorThe visitor producing replacements.
Methods
VisitAggregationFunctionCall(AggregationFunctionCall)
Visits an AggregationFunctionCall AST node.
public override Expression VisitAggregationFunctionCall(AggregationFunctionCall aggregateFunctionCall)
Parameters
aggregateFunctionCallAggregationFunctionCallThe AggregateFunction call to visit.
Returns
- Expression
Returns a new AST Node Expression if modified, or the existing aggregateFunctionCall if no modification occurred.
VisitBackReferenceSource(BackReferenceSource)
Visits a BackReferenceSource AST node.
public override QuerySource VisitBackReferenceSource(BackReferenceSource backReferenceSource)
Parameters
backReferenceSourceBackReferenceSourceThe back reference source to visit.
Returns
- QuerySource
Returns the value returned by the replacement visitor.
VisitBinaryExpression(BinaryExpression)
Visits a BinaryExpression.
public override Expression VisitBinaryExpression(BinaryExpression binaryExpression)
Parameters
binaryExpressionBinaryExpressionThe binary expression to visit / modify.
Returns
- Expression
Returns a new BinaryExpression or the existing binaryExpression parameter if no modification occurred.
VisitBooleanConstant(BooleanConstant)
Visits a BooleanConstant AST node.
public override Expression VisitBooleanConstant(BooleanConstant booleanConstant)
Parameters
booleanConstantBooleanConstantThe null constant to visit.
Returns
- Expression
Returns the value returned by the replacement visitor.
VisitDateConstant(DateConstant)
Visits a DateConstant AST node.
public override Expression VisitDateConstant(DateConstant dateConstant)
Parameters
dateConstantDateConstantThe date constant to visit.
Returns
- Expression
Returns the value returned by the replacement visitor.
VisitDateTimeConstant(DateTimeConstant)
Visits a DateTimeConstant AST node.
public override Expression VisitDateTimeConstant(DateTimeConstant dateTimeConstant)
Parameters
dateTimeConstantDateTimeConstantThe DateTimeConstant to visit.
Returns
- Expression
Returns the value returned by the replacement visitor.
VisitDeadOfSource(DeadOfSource)
Calls the replacement visitor to determine if the dead of source should be replaced.
public override QuerySource VisitDeadOfSource(DeadOfSource deadOfSource)
Parameters
deadOfSourceDeadOfSourceThe deadOfSource to check.
Returns
- QuerySource
Returns the (possibly modified) query source.
VisitDecimalConstant(DecimalConstant)
Visits a DecimalConstant AST node.
public override Expression VisitDecimalConstant(DecimalConstant decimalConstant)
Parameters
decimalConstantDecimalConstantThe decimal constant to visit.
Returns
- Expression
Returns the value returned by the replacement visitor.
VisitEntitySource(EntitySource)
Visits a EntitySource AST Node.
public override QuerySource VisitEntitySource(EntitySource queryTableSource)
Parameters
queryTableSourceEntitySourceThe query table source to visit.
Returns
- QuerySource
Returns a new instance of the queryTableSource or queryTableSource itself, if no modification occurred.
VisitEntitySourceIncludeConditional(EntitySourceIncludeConditional)
Visits a EntitySourceIncludeConditional AST node.
public override EntitySourceInclude VisitEntitySourceIncludeConditional(EntitySourceIncludeConditional includeConditional)
Parameters
includeConditionalEntitySourceIncludeConditionalThe conditional include to visit.
Returns
- EntitySourceInclude
Returns a new instance of the includeConditional or includeCoditional itself, if no modification occurred.
VisitEntitySourceIncludeRelation(EntitySourceIncludeRelation)
Visits a EntitySourceIncludeRelation AST node.
public override EntitySourceInclude VisitEntitySourceIncludeRelation(EntitySourceIncludeRelation includeRelation)
Parameters
includeRelationEntitySourceIncludeRelationThe AST node to visit.
Returns
- EntitySourceInclude
Returns the new / unmodified instance of the EntitySourceIncludeRelation AST node.
VisitExplicitSet(ExplicitSet)
Visits a ExplicitSet AST node.
public override Set VisitExplicitSet(ExplicitSet explicitSet)
Parameters
explicitSetExplicitSetThe null constant to visit.
Returns
- Set
Returns the value returned by the replacement visitor.
VisitFunctionCall(FunctionCall)
Visits a FunctionCall AST Node.
public override Expression VisitFunctionCall(FunctionCall functionCall)
Parameters
functionCallFunctionCallThe functionCall AST node to visit / possibly modify..
Returns
- Expression
Returns a new FunctionCall or the functionCall parameter itself, if no modification occurred.
VisitGuidConstant(GuidConstant)
Visits a GuidConstant AST node.
public override Expression VisitGuidConstant(GuidConstant guidConstant)
Parameters
guidConstantGuidConstantThe guid constant to visit.
Returns
- Expression
Returns the value returned by the replacement visitor.
VisitHasChangedFunction(HasChangedFunction)
Visits a HasChangedFunction.
public override Expression VisitHasChangedFunction(HasChangedFunction hasChangedFunction)
Parameters
hasChangedFunctionHasChangedFunctionThe HasChangedFunction to visit.
Returns
- Expression
Returns the possibly modified expression.
VisitMemberAccess(MemberAccess)
Visits a MemberAccess AST node.
public override Expression VisitMemberAccess(MemberAccess memberAccess)
Parameters
memberAccessMemberAccessThe null constant to visit.
Returns
- Expression
Returns the value returned by the replacement visitor.
VisitMemberDeclarationForwarded(MemberDeclarationForwarded)
Visits the MemberDeclarationForwarded AST node.
public override MemberDeclaration VisitMemberDeclarationForwarded(MemberDeclarationForwarded forwarded)
Parameters
forwardedMemberDeclarationForwardedThe forwarded member declaration to visit / modify.
Returns
- MemberDeclaration
Returns a new instance of the MemberDeclarationForwarded AST node or forwarded itself, if no modification occurred.
VisitMemberDeclarationNamedExpression(MemberDeclarationNamedExpression)
Visits a MemberDeclarationNamedExpression AST node.
public override MemberDeclaration VisitMemberDeclarationNamedExpression(MemberDeclarationNamedExpression namedExpression)
Parameters
namedExpressionMemberDeclarationNamedExpressionThe named expression to visit / modify.
Returns
- MemberDeclaration
Returns a new MemberDeclarationNamedExpression or the namedExpression parameter if no modification occurred.
VisitMemberDeclaratorNamedIdentifier(MemberDeclarationNamedIdentifier)
Visits the MemberDeclarationNamedIdentifier AST node.
public override MemberDeclaration VisitMemberDeclaratorNamedIdentifier(MemberDeclarationNamedIdentifier namedIdentifier)
Parameters
namedIdentifierMemberDeclarationNamedIdentifierThe named identifier to visit / modify.
Returns
- MemberDeclaration
Returns a the result of the replacementVisitor call to VisitAndConvert<T>(T).
VisitNamedSetReference(NamedSetReference)
Visits a NamedSetReference AST node.
public override Set VisitNamedSetReference(NamedSetReference namedSetReference)
Parameters
namedSetReferenceNamedSetReferenceThe named set reference to visit.
Returns
- Set
Returns the value returned by the replacement visitor.
VisitNull(NullConstant)
Visits a NullConstant AST node.
public override Expression VisitNull(NullConstant nullConstant)
Parameters
nullConstantNullConstantThe null constant to visit.
Returns
- Expression
Returns the value returned by the replacement visitor.
VisitOrderBy(OrderBy)
Visits an OrderBy.
public override OrderBy VisitOrderBy(OrderBy orderBy)
Parameters
orderByOrderByThe orderBy to modify / visit.
Returns
- OrderBy
Returns a new OrderBy if modified, the existing modify otherwise.
VisitOrderByExpression(OrderByExpression)
Visits an orderby expression.
public override OrderByExpression VisitOrderByExpression(OrderByExpression orderBy)
Parameters
orderByOrderByExpressionThe orderBy expression to visit / modify.
Returns
- OrderByExpression
Returns a new OrderByExpression if it was modified, the existing orderBy AST node is returned otherwise.
VisitParameter(Parameter)
Visits a Parameter AST node.
public override Expression VisitParameter(Parameter parameter)
Parameters
parameterParameterThe null constant to visit.
Returns
- Expression
Returns the value returned by the replacement visitor.
VisitQuery(Query)
Visits a query. Calls the replacementVisitor and a modified instance of query if necessary.
public override Query VisitQuery(Query query)
Parameters
queryQueryThe query to modify.
Returns
VisitQueryOptions(QueryOptions)
visits a QueryOptions AST node.
public override QueryOptions VisitQueryOptions(QueryOptions queryOptions)
Parameters
queryOptionsQueryOptionsThe QueryOptions object to visit / modify.
Returns
- QueryOptions
Returns the value returned by the call to VisitAndConvert<T>(T) on TimeCockpit.Data.QueryLanguage.Syntax.Modifier.replacementVisitor.
VisitSelectAlias(SelectAlias)
Calls the replacement visitor for the select alias.
public override Select VisitSelectAlias(SelectAlias selectAlias)
Parameters
selectAliasSelectAliasThe select alias to modify.
Returns
- Select
Returns a new SelectAlias, if it has been modified, or the passed selectAlias if no modification was performed.
VisitSelectNewWith(SelectNewWith)
Visits a select New With.
public override Select VisitSelectNewWith(SelectNewWith selectNewWith)
Parameters
selectNewWithSelectNewWithThe select New With to visit.
Returns
- Select
Returns a new SelectNewWith or the existing one if it has not been modified.
VisitSkipAndTake(SkipAndTake)
visits a SkipAndTake AST node.
public override SkipAndTake VisitSkipAndTake(SkipAndTake skipAndTake)
Parameters
skipAndTakeSkipAndTakeThe SkipAndTake node to visit / modify.
Returns
- SkipAndTake
Returns the value returned by VisitAndConvert<T>(T) on TimeCockpit.Data.QueryLanguage.Syntax.Modifier.replacementVisitor.
VisitStringConstant(StringConstant)
Visits a StringConstant AST node.
public override Expression VisitStringConstant(StringConstant stringConstant)
Parameters
stringConstantStringConstantThe string constant to visit.
Returns
- Expression
Returns the value returned by the replacement visitor.