Show / Hide Table of Contents

Class ScopedExpressionVisitor<TState, TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>

Expression visitor with scope tracking for ParameterExpression nodes.

Inheritance
System.Object
ExpressionVisitor<TExpression>
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>
ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>
ScopedExpressionVisitor<TState, TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>
Inherited Members
ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitBlock(BlockExpression)
ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitBlockCore(BlockExpression)
ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitCatchBlock(CatchBlock)
ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitCatchBlockCore(CatchBlock)
ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitLambda<T>(Expression<T>)
ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitLambdaCore<T>(Expression<T>)
ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.Push(IEnumerable<ParameterExpression>)
ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.Pop()
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitBinary(BinaryExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeBinary(BinaryExpression, TExpression, TLambdaExpression, TExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitBlock(BlockExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeBlock(BlockExpression, ReadOnlyCollection<TParameterExpression>, ReadOnlyCollection<TExpression>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitCatchBlock(CatchBlock)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeCatchBlock(CatchBlock, TParameterExpression, TExpression, TExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitConditional(ConditionalExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeConditional(ConditionalExpression, TExpression, TExpression, TExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitConstant(ConstantExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeConstant(ConstantExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitDebugInfo(DebugInfoExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeDebugInfo(DebugInfoExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitDefault(DefaultExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeDefault(DefaultExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitDynamic(DynamicExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeDynamic(DynamicExpression, ReadOnlyCollection<TExpression>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitElementInit(ElementInit)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeElementInit(ElementInit, ReadOnlyCollection<TExpression>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitExtension(Expression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitGoto(GotoExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeGoto(GotoExpression, TLabelTarget, TExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitIndex(IndexExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeIndex(IndexExpression, TExpression, ReadOnlyCollection<TExpression>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitInvocation(InvocationExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeInvocation(InvocationExpression, TExpression, ReadOnlyCollection<TExpression>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitLabel(LabelExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeLabel(LabelExpression, TLabelTarget, TExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitLabelTarget(LabelTarget)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeLabelTarget(LabelTarget)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitLambda<T>(Expression<T>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeLambda<T>(Expression<T>, TExpression, ReadOnlyCollection<TParameterExpression>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitListInit(ListInitExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeListInit(ListInitExpression, TNewExpression, ReadOnlyCollection<TElementInit>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitLoop(LoopExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeLoop(LoopExpression, TExpression, TLabelTarget, TLabelTarget)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitMember(MemberExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeMember(MemberExpression, TExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitMemberAssignment(MemberAssignment)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeMemberAssignment(MemberAssignment, TExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitMemberBinding(MemberBinding)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitMemberInit(MemberInitExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeMemberInit(MemberInitExpression, TNewExpression, ReadOnlyCollection<TMemberBinding>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitMemberListBinding(MemberListBinding)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeMemberListBinding(MemberListBinding, ReadOnlyCollection<TElementInit>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitMemberMemberBinding(MemberMemberBinding)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeMemberMemberBinding(MemberMemberBinding, ReadOnlyCollection<TMemberBinding>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitMethodCall(MethodCallExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeMethodCall(MethodCallExpression, TExpression, ReadOnlyCollection<TExpression>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitNew(NewExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeNew(NewExpression, ReadOnlyCollection<TExpression>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitNewArray(NewArrayExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeNewArray(NewArrayExpression, ReadOnlyCollection<TExpression>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitParameter(ParameterExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeParameter(ParameterExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitRuntimeVariables(RuntimeVariablesExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeRuntimeVariables(RuntimeVariablesExpression, ReadOnlyCollection<TParameterExpression>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitSwitch(SwitchExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeSwitch(SwitchExpression, TExpression, TExpression, ReadOnlyCollection<TSwitchCase>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitSwitchCase(SwitchCase)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeSwitchCase(SwitchCase, TExpression, ReadOnlyCollection<TExpression>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitTry(TryExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeTry(TryExpression, TExpression, TExpression, TExpression, ReadOnlyCollection<TCatchBlock>)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitTypeBinary(TypeBinaryExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeTypeBinary(TypeBinaryExpression, TExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.VisitUnary(UnaryExpression)
ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.MakeUnary(UnaryExpression, TExpression)
ExpressionVisitor<TExpression>.Visit(Expression)
ExpressionVisitor<TExpression>.Visit<T>(ReadOnlyCollection<T>)
ExpressionVisitor<TExpression>.VisitAndConvert<TStronglyTypedResult>(Expression)
ExpressionVisitor<TExpression>.VisitAndConvert<T, TStronglyTypedResult>(ReadOnlyCollection<T>)
ExpressionVisitor<TExpression>.VisitIfNotNull<T, TResult>(T, Func<T, TResult>)
ExpressionVisitor<TExpression>.VisitBinary(BinaryExpression)
ExpressionVisitor<TExpression>.VisitBlock(BlockExpression)
ExpressionVisitor<TExpression>.VisitConditional(ConditionalExpression)
ExpressionVisitor<TExpression>.VisitConstant(ConstantExpression)
ExpressionVisitor<TExpression>.VisitDebugInfo(DebugInfoExpression)
ExpressionVisitor<TExpression>.VisitDefault(DefaultExpression)
ExpressionVisitor<TExpression>.VisitDynamic(DynamicExpression)
ExpressionVisitor<TExpression>.VisitExtension(Expression)
ExpressionVisitor<TExpression>.VisitGoto(GotoExpression)
ExpressionVisitor<TExpression>.VisitIndex(IndexExpression)
ExpressionVisitor<TExpression>.VisitInvocation(InvocationExpression)
ExpressionVisitor<TExpression>.VisitLabel(LabelExpression)
ExpressionVisitor<TExpression>.VisitLambda<T>(Expression<T>)
ExpressionVisitor<TExpression>.VisitListInit(ListInitExpression)
ExpressionVisitor<TExpression>.VisitLoop(LoopExpression)
ExpressionVisitor<TExpression>.VisitMember(MemberExpression)
ExpressionVisitor<TExpression>.VisitMemberInit(MemberInitExpression)
ExpressionVisitor<TExpression>.VisitMethodCall(MethodCallExpression)
ExpressionVisitor<TExpression>.VisitNew(NewExpression)
ExpressionVisitor<TExpression>.VisitNewArray(NewArrayExpression)
ExpressionVisitor<TExpression>.VisitParameter(ParameterExpression)
ExpressionVisitor<TExpression>.VisitRuntimeVariables(RuntimeVariablesExpression)
ExpressionVisitor<TExpression>.VisitSwitch(SwitchExpression)
ExpressionVisitor<TExpression>.VisitTry(TryExpression)
ExpressionVisitor<TExpression>.VisitTypeBinary(TypeBinaryExpression)
ExpressionVisitor<TExpression>.VisitUnary(UnaryExpression)
Namespace: System.Linq.CompilerServices
Assembly: Nuqleon.Linq.CompilerServices.dll
Syntax
public abstract class ScopedExpressionVisitor<TState, TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget> : ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget> where TLambdaExpression : TExpression where TParameterExpression : TExpression where TNewExpression : TExpression where TMemberAssignment : TMemberBinding where TMemberListBinding : TMemberBinding where TMemberMemberBinding : TMemberBinding
Type Parameters
Name Description
TState

Type of the state objects that will be associated with parameter expressions during the expression tree visit.

TExpression

Target type for expressions.

TLambdaExpression

Target type for lambda expressions. This type has to derive from TExpression.

TParameterExpression

Target type for parameter expressions. This type has to derive from TExpression.

TNewExpression

Target type for new expressions. This type has to derive from TExpression.

TElementInit

Target type for element initializers.

TMemberBinding

Target type for member bindings.

TMemberAssignment

Target type for member assignments. This type has to derive from TMemberBinding.

TMemberListBinding

Target type for member list bindings. This type has to derive from TMemberBinding.

TMemberMemberBinding

Target type for member member bindings. This type has to derive from TMemberBinding.

TCatchBlock

Target type for catch blocks.

TSwitchCase

Target type for switch cases.

TLabelTarget

Target type for label targets.

Constructors

ScopedExpressionVisitor()

Creates a new expression visitor with scope tracking facilities.

Declaration
protected ScopedExpressionVisitor()

Properties

GlobalScope

Gets the global scope's symbol table which can be used to track unbound parameters.

Declaration
public SymbolTable<ParameterExpression, TState> GlobalScope { get; }
Property Value
Type Description
SymbolTable<System.Linq.Expressions.ParameterExpression, TState>

Methods

GetState(ParameterExpression)

Maps the specified parameter on state tracked in the scoped symbol table. This method gets called for each declaration site of a variable.

Declaration
protected abstract TState GetState(ParameterExpression parameter)
Parameters
Type Name Description
System.Linq.Expressions.ParameterExpression parameter

Parameter expression that's being declared.

Returns
Type Description
TState

State to associate with the given parameter.

Pop()

Pops a scope from the symbol table.

Declaration
protected override void Pop()
Overrides
System.Linq.CompilerServices.ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.Pop()

Push(IEnumerable<KeyValuePair<ParameterExpression, TState>>)

Pushes a new scope in the symbol table.

Declaration
protected virtual void Push(IEnumerable<KeyValuePair<ParameterExpression, TState>> scope)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.Linq.Expressions.ParameterExpression, TState>> scope

New scope to push in the symbol table.

Push(IEnumerable<ParameterExpression>)

Pushes the parameters of a new declaration site into a new scope in the symbol table.

Declaration
protected override void Push(IEnumerable<ParameterExpression> parameters)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters

Parameters of the declaration site.

Overrides
System.Linq.CompilerServices.ScopedExpressionVisitorBase<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>.Push(System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>)

TryLookup(ParameterExpression, out TState)

Looks up the state associated with the specified parameter expression by scanning the scoped symbol table, starting from the current scope.

Declaration
protected bool TryLookup(ParameterExpression parameter, out TState state)
Parameters
Type Name Description
System.Linq.Expressions.ParameterExpression parameter

Parameter expression to look up.

TState state

State associated with the specified parameter expression.

Returns
Type Description
System.Boolean

true if the symbol was found; otherwise, false.

In This Article
Back to top Generated by DocFX