Class PartialExpressionVisitor<TExpression>
Base class for partial expression visitors that only support specific expression tree nodes.
Inherited Members
Namespace: System.Linq.CompilerServices
Assembly: Nuqleon.Linq.CompilerServices.dll
Syntax
public class PartialExpressionVisitor<TExpression> : ExpressionVisitor<TExpression>
Type Parameters
Name | Description |
---|---|
TExpression | Target type for expressions. |
Constructors
PartialExpressionVisitor()
Declaration
public PartialExpressionVisitor()
Methods
NotSupported(Expression)
Gets the exception thrown when a non-supported node is encountered.
Declaration
protected virtual Exception NotSupported(Expression node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.Expression | node | Node not handled by the visitor. |
Returns
Type | Description |
---|---|
System.Exception | Exception that will be thrown in the visit method for the unhandled node. |
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
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
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
VisitLambda<TDelegate>(Expression<TDelegate>)
Visits the children of the LambdaExpression.
Declaration
protected override TExpression VisitLambda<TDelegate>(Expression<TDelegate> node)
Parameters
Type | Name | Description |
---|---|---|
System.Linq.Expressions.Expression<TDelegate> | node | Expression to visit. |
Returns
Type | Description |
---|---|
TExpression | Result of visiting the expression. |
Type Parameters
Name | Description |
---|---|
TDelegate |
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
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
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
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. |