Class ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget>
Expression visitor to rewrite an expression tree into a target type.
Inheritance
Inherited Members
Namespace: System.Linq.CompilerServices
Assembly: Nuqleon.Linq.CompilerServices.dll
Syntax
public abstract class ExpressionVisitor<TExpression, TLambdaExpression, TParameterExpression, TNewExpression, TElementInit, TMemberBinding, TMemberAssignment, TMemberListBinding, TMemberMemberBinding, TCatchBlock, TSwitchCase, TLabelTarget> : ExpressionVisitor<TExpression> where TLambdaExpression : TExpression where TParameterExpression : TExpression where TNewExpression : TExpression where TMemberAssignment : TMemberBinding where TMemberListBinding : TMemberBinding where TMemberMemberBinding : TMemberBinding
Type Parameters
Name | Description |
---|---|
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
ExpressionVisitor()
Declaration
protected ExpressionVisitor()
Methods
MakeBinary(BinaryExpression, TExpression, TLambdaExpression, TExpression)
Makes an expression representing a BinaryExpression with the given children.
Declaration
protected abstract TExpression MakeBinary(BinaryExpression node, TExpression left, TLambdaExpression conversion, TExpression right)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.BinaryExpression | node | Original expression. |
TExpression | left | Left expression. |
TLambdaExpression | conversion | Conversion expression. |
TExpression | right | Right expression. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeBlock(BlockExpression, ReadOnlyCollection<TParameterExpression>, ReadOnlyCollection<TExpression>)
Makes an expression representing a BlockExpression with the given children.
Declaration
protected abstract TExpression MakeBlock(BlockExpression node, ReadOnlyCollection<TParameterExpression> variables, ReadOnlyCollection<TExpression> expressions)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.BlockExpression | node | Original expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TParameterExpression> | variables | Variables in the block. |
System.Collections.ObjectModel.ReadOnlyCollection<TExpression> | expressions | Expressions in the block. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeCatchBlock(CatchBlock, TParameterExpression, TExpression, TExpression)
Makes a catch block object representing a CatchBlock with the given children.
Declaration
protected abstract TCatchBlock MakeCatchBlock(CatchBlock node, TParameterExpression variable, TExpression body, TExpression filter)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.CatchBlock | node | Original catch block. |
TParameterExpression | variable | Variable expression. |
TExpression | body | Body expression. |
TExpression | filter | Filter expression. |
Returns
Type | Description |
---|---|
TCatchBlock | Representation of the original catch block. |
MakeConditional(ConditionalExpression, TExpression, TExpression, TExpression)
Makes an expression representing a ConditionalExpression with the given children.
Declaration
protected abstract TExpression MakeConditional(ConditionalExpression node, TExpression test, TExpression ifTrue, TExpression ifFalse)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.ConditionalExpression | node | Original expression. |
TExpression | test | Test expression. |
TExpression | ifTrue | True branch expression. |
TExpression | ifFalse | False branch expression. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeConstant(ConstantExpression)
Makes an expression representing a ConstantExpression.
Declaration
protected abstract TExpression MakeConstant(ConstantExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.ConstantExpression | node | Original expression. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeDebugInfo(DebugInfoExpression)
Makes an expression representing a DebugInfoExpression.
Declaration
protected abstract TExpression MakeDebugInfo(DebugInfoExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.DebugInfoExpression | node | Original expression. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeDefault(DefaultExpression)
Makes an expression representing a DefaultExpression.
Declaration
protected abstract TExpression MakeDefault(DefaultExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.DefaultExpression | node | Original expression. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeDynamic(DynamicExpression, ReadOnlyCollection<TExpression>)
Makes an expression representing a DynamicExpression with the given children.
Declaration
protected abstract TExpression MakeDynamic(DynamicExpression node, ReadOnlyCollection<TExpression> arguments)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.DynamicExpression | node | Original expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TExpression> | arguments | Argument expressions. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeElementInit(ElementInit, ReadOnlyCollection<TExpression>)
Makes an element initializer object representing a ElementInit object with the given children.
Declaration
protected abstract TElementInit MakeElementInit(ElementInit node, ReadOnlyCollection<TExpression> arguments)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.ElementInit | node | Original element initializer. |
System.Collections.ObjectModel.ReadOnlyCollection<TExpression> | arguments | Argument expressions. |
Returns
Type | Description |
---|---|
TElementInit | Representation of the original element initializer. |
MakeGoto(GotoExpression, TLabelTarget, TExpression)
Makes an expression representing a GotoExpression with the given children.
Declaration
protected abstract TExpression MakeGoto(GotoExpression node, TLabelTarget target, TExpression value)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.GotoExpression | node | Original expression. |
TLabelTarget | target | Target label. |
TExpression | value | Value expression. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeIndex(IndexExpression, TExpression, ReadOnlyCollection<TExpression>)
Makes an expression representing a IndexExpression with the given children.
Declaration
protected abstract TExpression MakeIndex(IndexExpression node, TExpression object, ReadOnlyCollection<TExpression> arguments)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.IndexExpression | node | Original expression. |
TExpression | object | Object expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TExpression> | arguments | Argument expressions. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeInvocation(InvocationExpression, TExpression, ReadOnlyCollection<TExpression>)
Makes an expression representing a InvocationExpression with the given children.
Declaration
protected abstract TExpression MakeInvocation(InvocationExpression node, TExpression expression, ReadOnlyCollection<TExpression> arguments)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.InvocationExpression | node | Original expression. |
TExpression | expression | Function expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TExpression> | arguments | Argument expressions. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeLabel(LabelExpression, TLabelTarget, TExpression)
Makes an expression representing a LabelExpression with the given children.
Declaration
protected abstract TExpression MakeLabel(LabelExpression node, TLabelTarget target, TExpression defaultValue)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.LabelExpression | node | Original expression. |
TLabelTarget | target | Target label. |
TExpression | defaultValue | Default value expression. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeLabelTarget(LabelTarget)
Makes a label target object representing a LabelTarget.
Declaration
protected abstract TLabelTarget MakeLabelTarget(LabelTarget node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.LabelTarget | node | Original label target. |
Returns
Type | Description |
---|---|
TLabelTarget | Representation of the label target. |
MakeLambda<T>(Expression<T>, TExpression, ReadOnlyCollection<TParameterExpression>)
Makes an expression representing a LambdaExpression with the given children.
Declaration
protected abstract TLambdaExpression MakeLambda<T>(Expression<T> node, TExpression body, ReadOnlyCollection<TParameterExpression> parameters)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.Expression<T> | node | Original expression. |
TExpression | body | Body expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TParameterExpression> | parameters | Parameter expressions. |
Returns
Type | Description |
---|---|
TLambdaExpression | Representation of the original expression. |
Type Parameters
Name | Description |
---|---|
T | The type of the delegate. |
MakeListInit(ListInitExpression, TNewExpression, ReadOnlyCollection<TElementInit>)
Makes an expression representing a ListInitExpression with the given children.
Declaration
protected abstract TExpression MakeListInit(ListInitExpression node, TNewExpression newExpression, ReadOnlyCollection<TElementInit> initializers)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.ListInitExpression | node | Original expression. |
TNewExpression | newExpression | New expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TElementInit> | initializers | Element initializers. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeLoop(LoopExpression, TExpression, TLabelTarget, TLabelTarget)
Makes an expression representing a LoopExpression with the given children.
Declaration
protected abstract TExpression MakeLoop(LoopExpression node, TExpression body, TLabelTarget breakLabel, TLabelTarget continueLabel)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.LoopExpression | node | Original expression. |
TExpression | body | Body expression. |
TLabelTarget | breakLabel | Break label. |
TLabelTarget | continueLabel | Continue label. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeMember(MemberExpression, TExpression)
Makes an expression representing a MemberExpression with the given children.
Declaration
protected abstract TExpression MakeMember(MemberExpression node, TExpression expression)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MemberExpression | node | Original expression. |
TExpression | expression | Object expression. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeMemberAssignment(MemberAssignment, TExpression)
Makes a member binding object representing a MemberAssignment with the given children.
Declaration
protected abstract TMemberAssignment MakeMemberAssignment(MemberAssignment node, TExpression expression)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MemberAssignment | node | Original member assignment. |
TExpression | expression | Assigned expression. |
Returns
Type | Description |
---|---|
TMemberAssignment | Representation of the original member assignment. |
MakeMemberInit(MemberInitExpression, TNewExpression, ReadOnlyCollection<TMemberBinding>)
Makes an expression representing a MemberInitExpression with the given children.
Declaration
protected abstract TExpression MakeMemberInit(MemberInitExpression node, TNewExpression newExpression, ReadOnlyCollection<TMemberBinding> bindings)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MemberInitExpression | node | Original expression. |
TNewExpression | newExpression | New expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TMemberBinding> | bindings | Member bindings. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeMemberListBinding(MemberListBinding, ReadOnlyCollection<TElementInit>)
Makes a member binding object representing a MemberListBinding with the given children.
Declaration
protected abstract TMemberListBinding MakeMemberListBinding(MemberListBinding node, ReadOnlyCollection<TElementInit> initializers)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MemberListBinding | node | Original member list binding. |
System.Collections.ObjectModel.ReadOnlyCollection<TElementInit> | initializers | Element initializers. |
Returns
Type | Description |
---|---|
TMemberListBinding | Representation of the original member list binding. |
MakeMemberMemberBinding(MemberMemberBinding, ReadOnlyCollection<TMemberBinding>)
Makes a member binding object representing a MemberMemberBinding with the given children.
Declaration
protected abstract TMemberMemberBinding MakeMemberMemberBinding(MemberMemberBinding node, ReadOnlyCollection<TMemberBinding> bindings)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MemberMemberBinding | node | Original member member binding. |
System.Collections.ObjectModel.ReadOnlyCollection<TMemberBinding> | bindings | Member bindings. |
Returns
Type | Description |
---|---|
TMemberMemberBinding | Representation of the original member member binding. |
MakeMethodCall(MethodCallExpression, TExpression, ReadOnlyCollection<TExpression>)
Makes an expression representing a MethodCallExpression with the given children.
Declaration
protected abstract TExpression MakeMethodCall(MethodCallExpression node, TExpression object, ReadOnlyCollection<TExpression> arguments)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MethodCallExpression | node | Original expression. |
TExpression | object | Object expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TExpression> | arguments | Argument expressions. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeNew(NewExpression, ReadOnlyCollection<TExpression>)
Makes an expression representing a NewExpression with the given children.
Declaration
protected abstract TExpression MakeNew(NewExpression node, ReadOnlyCollection<TExpression> arguments)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.NewExpression | node | Original expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TExpression> | arguments | Argument expressions. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeNewArray(NewArrayExpression, ReadOnlyCollection<TExpression>)
Makes an expression representing a NewArrayExpression with the given children.
Declaration
protected abstract TExpression MakeNewArray(NewArrayExpression node, ReadOnlyCollection<TExpression> expressions)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.NewArrayExpression | node | Original expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TExpression> | expressions | Child expressions. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeParameter(ParameterExpression)
Makes an expression representing a ParameterExpression.
Declaration
protected abstract TParameterExpression MakeParameter(ParameterExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.ParameterExpression | node | Original expression. |
Returns
Type | Description |
---|---|
TParameterExpression | Representation of the original expression. |
MakeRuntimeVariables(RuntimeVariablesExpression, ReadOnlyCollection<TParameterExpression>)
Makes an expression representing a RuntimeVariablesExpression with the given children.
Declaration
protected abstract TExpression MakeRuntimeVariables(RuntimeVariablesExpression node, ReadOnlyCollection<TParameterExpression> variables)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.RuntimeVariablesExpression | node | Original expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TParameterExpression> | variables | Variable expressions. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeSwitch(SwitchExpression, TExpression, TExpression, ReadOnlyCollection<TSwitchCase>)
Makes an expression representing a SwitchExpression with the given children.
Declaration
protected abstract TExpression MakeSwitch(SwitchExpression node, TExpression switchValue, TExpression defaultBody, ReadOnlyCollection<TSwitchCase> cases)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.SwitchExpression | node | Original expression. |
TExpression | switchValue | Switch value expression. |
TExpression | defaultBody | Default body expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TSwitchCase> | cases | Switch cases. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeSwitchCase(SwitchCase, TExpression, ReadOnlyCollection<TExpression>)
Makes a switch case object representing a SwitchCase with the given children.
Declaration
protected abstract TSwitchCase MakeSwitchCase(SwitchCase node, TExpression body, ReadOnlyCollection<TExpression> testValues)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.SwitchCase | node | Original switch case. |
TExpression | body | Body expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TExpression> | testValues | Test value expressions. |
Returns
Type | Description |
---|---|
TSwitchCase | Representation of the original switch case. |
MakeTry(TryExpression, TExpression, TExpression, TExpression, ReadOnlyCollection<TCatchBlock>)
Makes an expression representing a TryExpression with the given children.
Declaration
protected abstract TExpression MakeTry(TryExpression node, TExpression body, TExpression finally, TExpression fault, ReadOnlyCollection<TCatchBlock> handlers)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.TryExpression | node | Original expression. |
TExpression | body | Body expression. |
TExpression | finally | Finally expression. |
TExpression | fault | Fault expression. |
System.Collections.ObjectModel.ReadOnlyCollection<TCatchBlock> | handlers | Catch handlers. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeTypeBinary(TypeBinaryExpression, TExpression)
Makes an expression representing a TypeBinaryExpression with the given children.
Declaration
protected abstract TExpression MakeTypeBinary(TypeBinaryExpression node, TExpression expression)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.TypeBinaryExpression | node | Original expression. |
TExpression | expression | Child expression. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
MakeUnary(UnaryExpression, TExpression)
Makes an expression representing a UnaryExpression with the given children.
Declaration
protected abstract TExpression MakeUnary(UnaryExpression node, TExpression operand)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.UnaryExpression | node | Original expression. |
TExpression | operand | Operand expression. |
Returns
Type | Description |
---|---|
TExpression | Representation of the original expression. |
VisitBinary(BinaryExpression)
Visits the children of the BinaryExpression.
Declaration
protected override TExpression VisitBinary(BinaryExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.BinaryExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitBlock(BlockExpression)
Visits the children of the BlockExpression.
Declaration
protected override TExpression VisitBlock(BlockExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.BlockExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitCatchBlock(CatchBlock)
Visits the children of the CatchBlock.
Declaration
protected virtual TCatchBlock VisitCatchBlock(CatchBlock node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.CatchBlock | node | Catch block to visit. |
Returns
Type | Description |
---|---|
TCatchBlock | Result of visiting the catch block. |
VisitConditional(ConditionalExpression)
Visits the children of the ConditionalExpression.
Declaration
protected override TExpression VisitConditional(ConditionalExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.ConditionalExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitConstant(ConstantExpression)
Visits the children of the ConstantExpression.
Declaration
protected override TExpression VisitConstant(ConstantExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.ConstantExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitDebugInfo(DebugInfoExpression)
Visits the children of the DebugInfoExpression.
Declaration
protected override TExpression VisitDebugInfo(DebugInfoExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.DebugInfoExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitDefault(DefaultExpression)
Visits the children of the DefaultExpression.
Declaration
protected override TExpression VisitDefault(DefaultExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.DefaultExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitDynamic(DynamicExpression)
Visits the children of the DynamicExpression.
Declaration
protected override TExpression VisitDynamic(DynamicExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.DynamicExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitElementInit(ElementInit)
Visits the children of the ElementInit.
Declaration
protected virtual TElementInit VisitElementInit(ElementInit node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.ElementInit | node | Element initializer to visit. |
Returns
Type | Description |
---|---|
TElementInit | Result of visiting the element initializer. |
VisitExtension(Expression)
Visits the children of the extension expression node.
Declaration
protected override TExpression VisitExtension(Expression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.Expression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitGoto(GotoExpression)
Visits the children of the GotoExpression.
Declaration
protected override TExpression VisitGoto(GotoExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.GotoExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitIndex(IndexExpression)
Visits the children of the IndexExpression.
Declaration
protected override TExpression VisitIndex(IndexExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.IndexExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitInvocation(InvocationExpression)
Visits the children of the InvocationExpression.
Declaration
protected override TExpression VisitInvocation(InvocationExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.InvocationExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitLabel(LabelExpression)
Visits the children of the LabelExpression.
Declaration
protected override TExpression VisitLabel(LabelExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.LabelExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitLabelTarget(LabelTarget)
Visits the children of the LabelTarget.
Declaration
protected virtual TLabelTarget VisitLabelTarget(LabelTarget node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.LabelTarget | node | Label target to visit. |
Returns
Type | Description |
---|---|
TLabelTarget | Result of visiting the label target. |
VisitLambda<T>(Expression<T>)
Visits the children of the LambdaExpression.
Declaration
protected override TExpression VisitLambda<T>(Expression<T> node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.Expression<T> | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Type Parameters
Name | Description |
---|---|
T | The type of the delegate. |
Overrides
VisitListInit(ListInitExpression)
Visits the children of the ListInitExpression.
Declaration
protected override TExpression VisitListInit(ListInitExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.ListInitExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitLoop(LoopExpression)
Visits the children of the LoopExpression.
Declaration
protected override TExpression VisitLoop(LoopExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.LoopExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitMember(MemberExpression)
Visits the children of the MemberExpression.
Declaration
protected override TExpression VisitMember(MemberExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MemberExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitMemberAssignment(MemberAssignment)
Visits the children of the MemberAssignment.
Declaration
protected virtual TMemberAssignment VisitMemberAssignment(MemberAssignment node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MemberAssignment | node | Member assignment to visit. |
Returns
Type | Description |
---|---|
TMemberAssignment | Result of visiting the member assignment. |
VisitMemberBinding(MemberBinding)
Visits the children of the MemberBinding.
Declaration
protected virtual TMemberBinding VisitMemberBinding(MemberBinding node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MemberBinding | node | Member binding to visit. |
Returns
Type | Description |
---|---|
TMemberBinding | Result of visiting the member binding. |
VisitMemberInit(MemberInitExpression)
Visits the children of the MemberInitExpression.
Declaration
protected override TExpression VisitMemberInit(MemberInitExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MemberInitExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitMemberListBinding(MemberListBinding)
Visits the children of the MemberListBinding.
Declaration
protected virtual TMemberListBinding VisitMemberListBinding(MemberListBinding node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MemberListBinding | node | Member list binding to visit. |
Returns
Type | Description |
---|---|
TMemberListBinding | Result of visiting the member list binding. |
VisitMemberMemberBinding(MemberMemberBinding)
Visits the children of the MemberMemberBinding.
Declaration
protected virtual TMemberMemberBinding VisitMemberMemberBinding(MemberMemberBinding node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MemberMemberBinding | node | Member member binding to visit. |
Returns
Type | Description |
---|---|
TMemberMemberBinding | Result of visiting the member member binding. |
VisitMethodCall(MethodCallExpression)
Visits the children of the MethodCallExpression.
Declaration
protected override TExpression VisitMethodCall(MethodCallExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.MethodCallExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitNew(NewExpression)
Visits the children of the NewExpression.
Declaration
protected override TExpression VisitNew(NewExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.NewExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitNewArray(NewArrayExpression)
Visits the children of the NewArrayExpression.
Declaration
protected override TExpression VisitNewArray(NewArrayExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.NewArrayExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitParameter(ParameterExpression)
Visits the children of the ParameterExpression.
Declaration
protected override TExpression VisitParameter(ParameterExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.ParameterExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitRuntimeVariables(RuntimeVariablesExpression)
Visits the children of the RuntimeVariablesExpression.
Declaration
protected override TExpression VisitRuntimeVariables(RuntimeVariablesExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.RuntimeVariablesExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitSwitch(SwitchExpression)
Visits the children of the SwitchExpression.
Declaration
protected override TExpression VisitSwitch(SwitchExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.SwitchExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitSwitchCase(SwitchCase)
Visits the children of the SwitchCase.
Declaration
protected virtual TSwitchCase VisitSwitchCase(SwitchCase node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.SwitchCase | node | Switch case to visit. |
Returns
Type | Description |
---|---|
TSwitchCase | Result of visiting the switch case. |
VisitTry(TryExpression)
Visits the children of the TryExpression.
Declaration
protected override TExpression VisitTry(TryExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.TryExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitTypeBinary(TypeBinaryExpression)
Visits the children of the TypeBinaryExpression.
Declaration
protected override TExpression VisitTypeBinary(TypeBinaryExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.TypeBinaryExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Overrides
VisitUnary(UnaryExpression)
Visits the children of the UnaryExpression.
Declaration
protected override TExpression VisitUnary(UnaryExpression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.UnaryExpression | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |