Show / Hide Table of Contents

Class QueryVisitor

Query expression visitor to rewrite a query expression tree.

Inheritance
System.Object
QueryVisitor<QueryTree, MonadMember, QueryOperator>
QueryVisitor
CoalescingOptimizer
QueryVisitorWithReflection
Inherited Members
QueryVisitor<QueryTree, MonadMember, QueryOperator>.Visit(QueryTree)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.VisitAndConvert<TStronglyTypedResult>(QueryTree)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.Visit<TSource, TResult>(ReadOnlyCollection<TSource>, Func<TSource, TResult>)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.VisitFirst(FirstOperator)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.MakeFirst(FirstOperator, MonadMember)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.VisitFirstPredicate(FirstPredicateOperator)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.MakeFirstPredicate(FirstPredicateOperator, MonadMember, QueryTree)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.VisitLambdaAbstraction(LambdaAbstraction)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.MakeLambdaAbstraction(LambdaAbstraction, ReadOnlyCollection<QueryTree>)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.VisitMonadAbstraction(MonadAbstraction)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.MakeMonadAbstraction(MonadAbstraction, QueryTree)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.VisitSelect(SelectOperator)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.MakeSelect(SelectOperator, MonadMember, QueryTree)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.VisitTake(TakeOperator)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.MakeTake(TakeOperator, MonadMember, QueryTree)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.VisitWhere(WhereOperator)
QueryVisitor<QueryTree, MonadMember, QueryOperator>.MakeWhere(WhereOperator, MonadMember, QueryTree)
Namespace: System.Linq.CompilerServices.Optimizers
Assembly: Nuqleon.Linq.CompilerServices.Optimizers.dll
Syntax
public class QueryVisitor : QueryVisitor<QueryTree, MonadMember, QueryOperator>

Constructors

QueryVisitor()

Declaration
public QueryVisitor()

Methods

MakeFirst(FirstOperator, MonadMember)

Makes a FirstOperator with the given children.

Declaration
protected override sealed QueryOperator MakeFirst(FirstOperator node, MonadMember source)
Parameters
Type Name Description
FirstOperator node

Original query expression.

MonadMember source

Source query expression.

Returns
Type Description
QueryOperator

Representation of the original query expression.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.MakeFirst(System.Linq.CompilerServices.Optimizers.FirstOperator, System.Linq.CompilerServices.Optimizers.MonadMember)

MakeFirstPredicate(FirstPredicateOperator, MonadMember, QueryTree)

Makes a FirstPredicateOperator with the given children.

Declaration
protected override sealed QueryOperator MakeFirstPredicate(FirstPredicateOperator node, MonadMember source, QueryTree predicate)
Parameters
Type Name Description
FirstPredicateOperator node

Original query expression.

MonadMember source

Source query expression.

QueryTree predicate

Predicate query expression.

Returns
Type Description
QueryOperator

Representation of the original query expression.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.MakeFirstPredicate(System.Linq.CompilerServices.Optimizers.FirstPredicateOperator, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryTree)

MakeLambdaAbstraction(LambdaAbstraction, ReadOnlyCollection<QueryTree>)

Makes a LambdaAbstraction with the given children.

Declaration
protected override sealed QueryTree MakeLambdaAbstraction(LambdaAbstraction node, ReadOnlyCollection<QueryTree> arguments)
Parameters
Type Name Description
LambdaAbstraction node

Original query expression.

System.Collections.ObjectModel.ReadOnlyCollection<QueryTree> arguments

Argument query expressions.

Returns
Type Description
QueryTree

Representation of the original query expression.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.MakeLambdaAbstraction(System.Linq.CompilerServices.Optimizers.LambdaAbstraction, System.Collections.ObjectModel.ReadOnlyCollection<System.Linq.CompilerServices.Optimizers.QueryTree>)

MakeMonadAbstraction(MonadAbstraction, QueryTree)

Makes a MonadAbstraction with the given children.

Declaration
protected override sealed MonadMember MakeMonadAbstraction(MonadAbstraction node, QueryTree inner)
Parameters
Type Name Description
MonadAbstraction node

Original query expression.

QueryTree inner

Inner query expression.

Returns
Type Description
MonadMember

Representation of the original query expression.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.MakeMonadAbstraction(System.Linq.CompilerServices.Optimizers.MonadAbstraction, System.Linq.CompilerServices.Optimizers.QueryTree)

MakeSelect(SelectOperator, MonadMember, QueryTree)

Makes a SelectOperator with the given children.

Declaration
protected override sealed QueryOperator MakeSelect(SelectOperator node, MonadMember source, QueryTree selector)
Parameters
Type Name Description
SelectOperator node

Original query expression.

MonadMember source

Source query expression.

QueryTree selector

Selector query expression.

Returns
Type Description
QueryOperator

Representation of the original query expression.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.MakeSelect(System.Linq.CompilerServices.Optimizers.SelectOperator, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryTree)

MakeTake(TakeOperator, MonadMember, QueryTree)

Makes a TakeOperator with the given children.

Declaration
protected override sealed QueryOperator MakeTake(TakeOperator node, MonadMember source, QueryTree count)
Parameters
Type Name Description
TakeOperator node

Original query expression.

MonadMember source

Source query expression.

QueryTree count

Count query expression.

Returns
Type Description
QueryOperator

Representation of the original query expression.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.MakeTake(System.Linq.CompilerServices.Optimizers.TakeOperator, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryTree)

MakeWhere(WhereOperator, MonadMember, QueryTree)

Makes a WhereOperator with the given children.

Declaration
protected override sealed QueryOperator MakeWhere(WhereOperator node, MonadMember source, QueryTree predicate)
Parameters
Type Name Description
WhereOperator node

Original query expression.

MonadMember source

Source query expression.

QueryTree predicate

Predicate query expression.

Returns
Type Description
QueryOperator

Representation of the original query expression.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.MakeWhere(System.Linq.CompilerServices.Optimizers.WhereOperator, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryTree)

Visit(ReadOnlyCollection<QueryTree>)

Visits the elements in the specified input collection.

Declaration
protected ReadOnlyCollection<QueryTree> Visit(ReadOnlyCollection<QueryTree> nodes)
Parameters
Type Name Description
System.Collections.ObjectModel.ReadOnlyCollection<QueryTree> nodes

Input collection whose elements to visit.

Returns
Type Description
System.Collections.ObjectModel.ReadOnlyCollection<QueryTree>

Collection of visited input elements.

VisitFirst(FirstOperator)

Visits a FirstOperator node.

Declaration
protected override QueryOperator VisitFirst(FirstOperator op)
Parameters
Type Name Description
FirstOperator op

Node to visit.

Returns
Type Description
QueryOperator

Result of visiting the node.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.VisitFirst(System.Linq.CompilerServices.Optimizers.FirstOperator)

VisitFirstPredicate(FirstPredicateOperator)

Visits a FirstPredicateOperator node.

Declaration
protected override QueryOperator VisitFirstPredicate(FirstPredicateOperator op)
Parameters
Type Name Description
FirstPredicateOperator op

Node to visit.

Returns
Type Description
QueryOperator

Result of visiting the node.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.VisitFirstPredicate(System.Linq.CompilerServices.Optimizers.FirstPredicateOperator)

VisitLambdaAbstraction(LambdaAbstraction)

Visits a LambdaAbstraction node.

Declaration
protected override QueryTree VisitLambdaAbstraction(LambdaAbstraction node)
Parameters
Type Name Description
LambdaAbstraction node

Node to visit.

Returns
Type Description
QueryTree

Result of visiting the node.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.VisitLambdaAbstraction(System.Linq.CompilerServices.Optimizers.LambdaAbstraction)

VisitMonadAbstraction(MonadAbstraction)

Visits a MonadAbstraction node.

Declaration
protected override MonadMember VisitMonadAbstraction(MonadAbstraction node)
Parameters
Type Name Description
MonadAbstraction node

Node to visit.

Returns
Type Description
MonadMember

Result of visiting the node.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.VisitMonadAbstraction(System.Linq.CompilerServices.Optimizers.MonadAbstraction)

VisitSelect(SelectOperator)

Visits a SelectOperator node.

Declaration
protected override QueryOperator VisitSelect(SelectOperator op)
Parameters
Type Name Description
SelectOperator op

Node to visit.

Returns
Type Description
QueryOperator

Result of visiting the node.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.VisitSelect(System.Linq.CompilerServices.Optimizers.SelectOperator)

VisitTake(TakeOperator)

Visits a TakeOperator node.

Declaration
protected override QueryOperator VisitTake(TakeOperator op)
Parameters
Type Name Description
TakeOperator op

Node to visit.

Returns
Type Description
QueryOperator

Result of visiting the node.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.VisitTake(System.Linq.CompilerServices.Optimizers.TakeOperator)

VisitWhere(WhereOperator)

Visits a WhereOperator node.

Declaration
protected override QueryOperator VisitWhere(WhereOperator op)
Parameters
Type Name Description
WhereOperator op

Node to visit.

Returns
Type Description
QueryOperator

Result of visiting the node.

Overrides
System.Linq.CompilerServices.Optimizers.QueryVisitor<System.Linq.CompilerServices.Optimizers.QueryTree, System.Linq.CompilerServices.Optimizers.MonadMember, System.Linq.CompilerServices.Optimizers.QueryOperator>.VisitWhere(System.Linq.CompilerServices.Optimizers.WhereOperator)
In This Article
Back to top Generated by DocFX