Table of Contents

Class Modifier

Namespace
TimeCockpit.Data.QueryLanguage.Syntax
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
Object
Modifier
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

replacementVisitor Visitor

The visitor producing replacements.

Methods

VisitAggregationFunctionCall(AggregationFunctionCall)

Visits an AggregationFunctionCall AST node.

public override Expression VisitAggregationFunctionCall(AggregationFunctionCall aggregateFunctionCall)

Parameters

aggregateFunctionCall AggregationFunctionCall

The 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

backReferenceSource BackReferenceSource

The 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

binaryExpression BinaryExpression

The 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

booleanConstant BooleanConstant

The 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

dateConstant DateConstant

The 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

dateTimeConstant DateTimeConstant

The 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

deadOfSource DeadOfSource

The 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

decimalConstant DecimalConstant

The 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

queryTableSource EntitySource

The 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

includeConditional EntitySourceIncludeConditional

The 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

includeRelation EntitySourceIncludeRelation

The 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

explicitSet ExplicitSet

The 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

functionCall FunctionCall

The 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

guidConstant GuidConstant

The guid constant to visit.

Returns

Expression

Returns the value returned by the replacement visitor.

VisitHasChangedFunction(HasChangedFunction)

public override Expression VisitHasChangedFunction(HasChangedFunction hasChangedFunction)

Parameters

hasChangedFunction HasChangedFunction

The HasChangedFunction to visit.

Returns

Expression

Returns the possibly modified expression.

VisitMemberAccess(MemberAccess)

Visits a MemberAccess AST node.

public override Expression VisitMemberAccess(MemberAccess memberAccess)

Parameters

memberAccess MemberAccess

The 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

forwarded MemberDeclarationForwarded

The 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)

public override MemberDeclaration VisitMemberDeclarationNamedExpression(MemberDeclarationNamedExpression namedExpression)

Parameters

namedExpression MemberDeclarationNamedExpression

The 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

namedIdentifier MemberDeclarationNamedIdentifier

The 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

namedSetReference NamedSetReference

The 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

nullConstant NullConstant

The 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

orderBy OrderBy

The 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

orderBy OrderByExpression

The 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

parameter Parameter

The 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

query Query

The query to modify.

Returns

Query

Returns a new Query if it has been modified, the existing query otherwise.

VisitQueryOptions(QueryOptions)

visits a QueryOptions AST node.

public override QueryOptions VisitQueryOptions(QueryOptions queryOptions)

Parameters

queryOptions QueryOptions

The 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

selectAlias SelectAlias

The 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

selectNewWith SelectNewWith

The 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

skipAndTake SkipAndTake

The 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

stringConstant StringConstant

The string constant to visit.

Returns

Expression

Returns the value returned by the replacement visitor.