Show / Hide Table of Contents

Class TypeSlimDerivationVisitor

Expression slim visitor that recurses over the expression tree and attempts to return type information.

Inheritance
System.Object
ExpressionSlimVisitor<TypeSlim>
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>
TypeSlimDerivationVisitor
Inherited Members
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.Visit(ExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitBinary(BinaryExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeBinary(BinaryExpressionSlim, TypeSlim, TypeSlim, TypeSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitBlock(BlockExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeBlock(BlockExpressionSlim, ReadOnlyCollection<TypeSlim>, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitCatchBlock(CatchBlockSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeCatchBlock(CatchBlockSlim, TypeSlim, TypeSlim, TypeSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitConditional(ConditionalExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeConditional(ConditionalExpressionSlim, TypeSlim, TypeSlim, TypeSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitConstant(ConstantExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeConstant(ConstantExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitDefault(DefaultExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeDefault(DefaultExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitElementInit(ElementInitSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeElementInit(ElementInitSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitExtension(ExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitGoto(GotoExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeGoto(GotoExpressionSlim, TypeSlim, TypeSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitIndex(IndexExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeIndex(IndexExpressionSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitInvocation(InvocationExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeInvocation(InvocationExpressionSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitLabel(LabelExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeLabel(LabelExpressionSlim, TypeSlim, TypeSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitLabelTarget(LabelTargetSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeLabelTarget(LabelTargetSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitLambda(LambdaExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeLambda(LambdaExpressionSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitListInit(ListInitExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeListInit(ListInitExpressionSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitLoop(LoopExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeLoop(LoopExpressionSlim, TypeSlim, TypeSlim, TypeSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitMember(MemberExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeMember(MemberExpressionSlim, TypeSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitMemberAssignment(MemberAssignmentSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeMemberAssignment(MemberAssignmentSlim, TypeSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitMemberBinding(MemberBindingSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitMemberInit(MemberInitExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeMemberInit(MemberInitExpressionSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitMemberListBinding(MemberListBindingSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeMemberListBinding(MemberListBindingSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitMemberMemberBinding(MemberMemberBindingSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeMemberMemberBinding(MemberMemberBindingSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitMethodCall(MethodCallExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeMethodCall(MethodCallExpressionSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitNew(NewExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeNew(NewExpressionSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitNewArray(NewArrayExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeNewArray(NewArrayExpressionSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitParameter(ParameterExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeParameter(ParameterExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitSwitch(SwitchExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeSwitch(SwitchExpressionSlim, TypeSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitSwitchCase(SwitchCaseSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeSwitchCase(SwitchCaseSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitTry(TryExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeTry(TryExpressionSlim, TypeSlim, TypeSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitTypeBinary(TypeBinaryExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeTypeBinary(TypeBinaryExpressionSlim, TypeSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.VisitUnary(UnaryExpressionSlim)
ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>.MakeUnary(UnaryExpressionSlim, TypeSlim)
ExpressionSlimVisitor<TypeSlim>.Visit(ExpressionSlim)
ExpressionSlimVisitor<TypeSlim>.Visit<T>(ReadOnlyCollection<T>)
ExpressionSlimVisitor<TypeSlim>.VisitArguments(IArgumentProviderSlim)
ExpressionSlimVisitor<TypeSlim>.VisitAndConvert<TStronglyTypedResult>(ExpressionSlim)
ExpressionSlimVisitor<TypeSlim>.VisitAndConvert<T, TStronglyTypedResult>(ReadOnlyCollection<T>)
ExpressionSlimVisitor<TypeSlim>.VisitIfNotNull<T, TResult>(T, Func<T, TResult>)
ExpressionSlimVisitor<TypeSlim>.VisitBinary(BinaryExpressionSlim)
ExpressionSlimVisitor<TypeSlim>.VisitExtension(ExpressionSlim)
ExpressionSlimVisitor<TypeSlim>.VisitParameter(ParameterExpressionSlim)
ExpressionSlimVisitor<TypeSlim>.VisitUnary(UnaryExpressionSlim)
Namespace: System.Linq.CompilerServices.Bonsai
Assembly: Nuqleon.Linq.Expressions.Bonsai.dll
Syntax
public class TypeSlimDerivationVisitor : ExpressionSlimVisitor<TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim, TypeSlim>

Constructors

TypeSlimDerivationVisitor()

Creates a new TypeSlimDerivationVisitor with the default equality comparer for TypeSlim instances.

Declaration
public TypeSlimDerivationVisitor()

TypeSlimDerivationVisitor(IEqualityComparer<TypeSlim>)

Creates a new TypeSlimDerivationVisitor with the specified equality comparer for TypeSlim instances.

Declaration
public TypeSlimDerivationVisitor(IEqualityComparer<TypeSlim> typeSlimEqualityComparer)
Parameters
Type Name Description
System.Collections.Generic.IEqualityComparer<TypeSlim> typeSlimEqualityComparer

The equality comparer to use for TypeSlim equality checks.

Methods

CheckDerivedType(TypeSlim, ExpressionSlim)

Hook to check the derivation result for an expression. Could be used to detect occurrences of null results.

Declaration
protected virtual TypeSlim CheckDerivedType(TypeSlim type, ExpressionSlim node)
Parameters
Type Name Description
TypeSlim type

The derivation result.

ExpressionSlim node

The expression the result was derived from.

Returns
Type Description
TypeSlim

The derivation result.

MakeBinary(BinaryExpressionSlim, TypeSlim, TypeSlim, TypeSlim)

Attempt to derive a type from a binary expression.

Declaration
protected override TypeSlim MakeBinary(BinaryExpressionSlim node, TypeSlim left, TypeSlim conversion, TypeSlim right)
Parameters
Type Name Description
BinaryExpressionSlim node

The binary expression.

TypeSlim left

The type derived from the left expression.

TypeSlim conversion

The type derived from the conversion expression.

TypeSlim right

The type derived from the right expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeBinary(System.Linq.Expressions.BinaryExpressionSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim)

MakeBinaryArithmetic(BinaryExpressionSlim, TypeSlim, TypeSlim, TypeSlim)

Attempt to derive a type from an arithmetic binary expression.

Declaration
protected virtual TypeSlim MakeBinaryArithmetic(BinaryExpressionSlim node, TypeSlim left, TypeSlim conversion, TypeSlim right)
Parameters
Type Name Description
BinaryExpressionSlim node

The binary expression.

TypeSlim left

The type derived from the left expression.

TypeSlim conversion

The type derived from the conversion expression.

TypeSlim right

The type derived from the right expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

MakeBinaryArrayIndex(BinaryExpressionSlim, TypeSlim, TypeSlim, TypeSlim)

Attempt to derive a type from a binary array index expression.

Declaration
protected virtual TypeSlim MakeBinaryArrayIndex(BinaryExpressionSlim node, TypeSlim left, TypeSlim conversion, TypeSlim right)
Parameters
Type Name Description
BinaryExpressionSlim node

The binary expression.

TypeSlim left

The type derived from the left expression.

TypeSlim conversion

The type derived from the conversion expression.

TypeSlim right

The type derived from the right expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

MakeBinaryBitwise(BinaryExpressionSlim, TypeSlim, TypeSlim, TypeSlim)

Attempt to derive a type from a binary array index expression.

Declaration
protected virtual TypeSlim MakeBinaryBitwise(BinaryExpressionSlim node, TypeSlim left, TypeSlim conversion, TypeSlim right)
Parameters
Type Name Description
BinaryExpressionSlim node

The binary expression.

TypeSlim left

The type derived from the left expression.

TypeSlim conversion

The type derived from the conversion expression.

TypeSlim right

The type derived from the right expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

MakeBinaryCoalesce(BinaryExpressionSlim, TypeSlim, TypeSlim, TypeSlim)

Attempt to derive a type from a binary coalesce expression.

Declaration
protected virtual TypeSlim MakeBinaryCoalesce(BinaryExpressionSlim node, TypeSlim left, TypeSlim conversion, TypeSlim right)
Parameters
Type Name Description
BinaryExpressionSlim node

The binary expression.

TypeSlim left

The type derived from the left expression.

TypeSlim conversion

The type derived from the conversion expression.

TypeSlim right

The type derived from the right expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

MakeBinaryComparison(BinaryExpressionSlim, TypeSlim, TypeSlim, TypeSlim)

Attempt to derive a type from a binary comparison expression.

Declaration
protected virtual TypeSlim MakeBinaryComparison(BinaryExpressionSlim node, TypeSlim left, TypeSlim conversion, TypeSlim right)
Parameters
Type Name Description
BinaryExpressionSlim node

The binary expression.

TypeSlim left

The type derived from the left expression.

TypeSlim conversion

The type derived from the conversion expression.

TypeSlim right

The type derived from the right expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Remarks

There is a known issue for deriving incorrect types for user-defined binary operators.

MakeBinaryConditionalLogic(BinaryExpressionSlim, TypeSlim, TypeSlim, TypeSlim)

Attempt to derive a type from a logical binary expression.

Declaration
protected virtual TypeSlim MakeBinaryConditionalLogic(BinaryExpressionSlim node, TypeSlim left, TypeSlim conversion, TypeSlim right)
Parameters
Type Name Description
BinaryExpressionSlim node

The binary expression.

TypeSlim left

The type derived from the left expression.

TypeSlim conversion

The type derived from the conversion expression.

TypeSlim right

The type derived from the right expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

MakeBinaryMethodBased(BinaryExpressionSlim, TypeSlim, TypeSlim, TypeSlim)

Attempt to derive a type from a binary expression with a defined method.

Declaration
protected virtual TypeSlim MakeBinaryMethodBased(BinaryExpressionSlim node, TypeSlim left, TypeSlim conversion, TypeSlim right)
Parameters
Type Name Description
BinaryExpressionSlim node

The binary expression.

TypeSlim left

The type derived from the left expression.

TypeSlim conversion

The type derived from the conversion expression.

TypeSlim right

The type derived from the right expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

MakeBlock(BlockExpressionSlim, ReadOnlyCollection<TypeSlim>, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from a block expression.

Declaration
protected override TypeSlim MakeBlock(BlockExpressionSlim node, ReadOnlyCollection<TypeSlim> variables, ReadOnlyCollection<TypeSlim> expressions)
Parameters
Type Name Description
BlockExpressionSlim node

The block expression.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> variables

The derived types of the variable expressions.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> expressions

The derived type of the body expression.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeBlock(System.Linq.Expressions.BlockExpressionSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeCatchBlock(CatchBlockSlim, TypeSlim, TypeSlim, TypeSlim)

Attempt to derive a type from a catch block.

Declaration
protected override TypeSlim MakeCatchBlock(CatchBlockSlim node, TypeSlim variable, TypeSlim body, TypeSlim filter)
Parameters
Type Name Description
CatchBlockSlim node

The catch block.

TypeSlim variable

The derived type of the variable expression.

TypeSlim body

The derived type of the body expression.

TypeSlim filter

The derived type of the filter expression.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeCatchBlock(System.Linq.Expressions.CatchBlockSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim)

MakeConditional(ConditionalExpressionSlim, TypeSlim, TypeSlim, TypeSlim)

Attempt to derive a type from a conditional expression.

Declaration
protected override TypeSlim MakeConditional(ConditionalExpressionSlim node, TypeSlim test, TypeSlim ifTrue, TypeSlim ifFalse)
Parameters
Type Name Description
ConditionalExpressionSlim node

The conditional expression.

TypeSlim test

The derived type of the test expression.

TypeSlim ifTrue

The derived type of the if true branch expression.

TypeSlim ifFalse

The derived type of the if false branch expression.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeConditional(System.Linq.Expressions.ConditionalExpressionSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim)

MakeConstant(ConstantExpressionSlim)

Attempt to derive a type from a constant expression.

Declaration
protected override TypeSlim MakeConstant(ConstantExpressionSlim node)
Parameters
Type Name Description
ConstantExpressionSlim node

The constant expression.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeConstant(System.Linq.Expressions.ConstantExpressionSlim)

MakeDefault(DefaultExpressionSlim)

Attempt to derive a type from a default expression.

Declaration
protected override TypeSlim MakeDefault(DefaultExpressionSlim node)
Parameters
Type Name Description
DefaultExpressionSlim node

The default expression.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeDefault(System.Linq.Expressions.DefaultExpressionSlim)

MakeElementInit(ElementInitSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from an element init node.

Declaration
protected override TypeSlim MakeElementInit(ElementInitSlim node, ReadOnlyCollection<TypeSlim> arguments)
Parameters
Type Name Description
ElementInitSlim node

The element init node.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> arguments

The arguments to the element init.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeElementInit(System.Linq.Expressions.ElementInitSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeGoto(GotoExpressionSlim, TypeSlim, TypeSlim)

Attempt to derive a type from an goto expression.

Declaration
protected override TypeSlim MakeGoto(GotoExpressionSlim node, TypeSlim target, TypeSlim value)
Parameters
Type Name Description
GotoExpressionSlim node

The goto expression.

TypeSlim target

The derived type of the target label.

TypeSlim value

The derived type of the value expression.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeGoto(System.Linq.Expressions.GotoExpressionSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim)

MakeIndex(IndexExpressionSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from an index expression.

Declaration
protected override TypeSlim MakeIndex(IndexExpressionSlim node, TypeSlim object, ReadOnlyCollection<TypeSlim> arguments)
Parameters
Type Name Description
IndexExpressionSlim node

The index expression.

TypeSlim object

The derived type of the object expression.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> arguments

The derived types of the argument expressions.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeIndex(System.Linq.Expressions.IndexExpressionSlim, System.Reflection.TypeSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeInvocation(InvocationExpressionSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from an invocation expression.

Declaration
protected override TypeSlim MakeInvocation(InvocationExpressionSlim node, TypeSlim expression, ReadOnlyCollection<TypeSlim> arguments)
Parameters
Type Name Description
InvocationExpressionSlim node

The invocation expression.

TypeSlim expression

The derived type of the invocation target.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> arguments

The derived types of the invocation arguments.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeInvocation(System.Linq.Expressions.InvocationExpressionSlim, System.Reflection.TypeSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeLabel(LabelExpressionSlim, TypeSlim, TypeSlim)

Attempt to derive a type from an label expression.

Declaration
protected override TypeSlim MakeLabel(LabelExpressionSlim node, TypeSlim target, TypeSlim defaultValue)
Parameters
Type Name Description
LabelExpressionSlim node

The label expression.

TypeSlim target

The derived type of the target label.

TypeSlim defaultValue

The derived type of the default value expression.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeLabel(System.Linq.Expressions.LabelExpressionSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim)

MakeLabelTarget(LabelTargetSlim)

Attempt to derive a type from an label target.

Declaration
protected override TypeSlim MakeLabelTarget(LabelTargetSlim node)
Parameters
Type Name Description
LabelTargetSlim node

The label target.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeLabelTarget(System.Linq.Expressions.LabelTargetSlim)

MakeLambda(LambdaExpressionSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from a lambda expression.

Declaration
protected override TypeSlim MakeLambda(LambdaExpressionSlim node, TypeSlim body, ReadOnlyCollection<TypeSlim> parameters)
Parameters
Type Name Description
LambdaExpressionSlim node

The lambda expression.

TypeSlim body

The derived type of the body.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> parameters

The derived types of the parameters.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeLambda(System.Linq.Expressions.LambdaExpressionSlim, System.Reflection.TypeSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeListInit(ListInitExpressionSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from a list init expression.

Declaration
protected override TypeSlim MakeListInit(ListInitExpressionSlim node, TypeSlim newExpression, ReadOnlyCollection<TypeSlim> initializers)
Parameters
Type Name Description
ListInitExpressionSlim node

The list init expression.

TypeSlim newExpression

The derived type of the new expression.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> initializers

The derived types of the element initializers

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeListInit(System.Linq.Expressions.ListInitExpressionSlim, System.Reflection.TypeSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeLoop(LoopExpressionSlim, TypeSlim, TypeSlim, TypeSlim)

Attempt to derive a type from a loop expression.

Declaration
protected override TypeSlim MakeLoop(LoopExpressionSlim node, TypeSlim body, TypeSlim breakLabel, TypeSlim continueLabel)
Parameters
Type Name Description
LoopExpressionSlim node

The loop expression.

TypeSlim body

The derived type of the body expression.

TypeSlim breakLabel

The derived type of the break label.

TypeSlim continueLabel

The derived type of the continue label.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeLoop(System.Linq.Expressions.LoopExpressionSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim)

MakeMember(MemberExpressionSlim, TypeSlim)

Attempt to derive a type from a member expression.

Declaration
protected override TypeSlim MakeMember(MemberExpressionSlim node, TypeSlim expression)
Parameters
Type Name Description
MemberExpressionSlim node

The member expression.

TypeSlim expression

The derived type of the child expression.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeMember(System.Linq.Expressions.MemberExpressionSlim, System.Reflection.TypeSlim)

MakeMemberAssignment(MemberAssignmentSlim, TypeSlim)

Attempt to derive a type from a member assignment binding.

Declaration
protected override TypeSlim MakeMemberAssignment(MemberAssignmentSlim node, TypeSlim expression)
Parameters
Type Name Description
MemberAssignmentSlim node

The member assignment binding.

TypeSlim expression

The derived type of the assigned expression.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeMemberAssignment(System.Linq.Expressions.MemberAssignmentSlim, System.Reflection.TypeSlim)

MakeMemberInit(MemberInitExpressionSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from a member init expression.

Declaration
protected override TypeSlim MakeMemberInit(MemberInitExpressionSlim node, TypeSlim newExpression, ReadOnlyCollection<TypeSlim> bindings)
Parameters
Type Name Description
MemberInitExpressionSlim node

The member init expression.

TypeSlim newExpression

The derived type of the new expression.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> bindings

The derived types of the member bindings.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeMemberInit(System.Linq.Expressions.MemberInitExpressionSlim, System.Reflection.TypeSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeMemberListBinding(MemberListBindingSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from a member list binding.

Declaration
protected override TypeSlim MakeMemberListBinding(MemberListBindingSlim node, ReadOnlyCollection<TypeSlim> initializers)
Parameters
Type Name Description
MemberListBindingSlim node

The member list binding.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> initializers

The derived types of the element initializers.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeMemberListBinding(System.Linq.Expressions.MemberListBindingSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeMemberMemberBinding(MemberMemberBindingSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from a member member binding.

Declaration
protected override TypeSlim MakeMemberMemberBinding(MemberMemberBindingSlim node, ReadOnlyCollection<TypeSlim> bindings)
Parameters
Type Name Description
MemberMemberBindingSlim node

The member member binding.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> bindings

The derived types of the child member bindings.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeMemberMemberBinding(System.Linq.Expressions.MemberMemberBindingSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeMethodCall(MethodCallExpressionSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from a method call expression.

Declaration
protected override TypeSlim MakeMethodCall(MethodCallExpressionSlim node, TypeSlim object, ReadOnlyCollection<TypeSlim> arguments)
Parameters
Type Name Description
MethodCallExpressionSlim node

The method call expression.

TypeSlim object

The derived type of the instance.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> arguments

The derived types of the arguments.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeMethodCall(System.Linq.Expressions.MethodCallExpressionSlim, System.Reflection.TypeSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeNew(NewExpressionSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from a new expression.

Declaration
protected override TypeSlim MakeNew(NewExpressionSlim node, ReadOnlyCollection<TypeSlim> arguments)
Parameters
Type Name Description
NewExpressionSlim node

The new expression.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> arguments

The derived types of the arguments.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeNew(System.Linq.Expressions.NewExpressionSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeNewArray(NewArrayExpressionSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from a new array expression.

Declaration
protected override TypeSlim MakeNewArray(NewArrayExpressionSlim node, ReadOnlyCollection<TypeSlim> expressions)
Parameters
Type Name Description
NewArrayExpressionSlim node

The new array expression.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> expressions

The derived types of the arguments.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeNewArray(System.Linq.Expressions.NewArrayExpressionSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeParameter(ParameterExpressionSlim)

Attempt to derive a type from a parameter expression.

Declaration
protected override TypeSlim MakeParameter(ParameterExpressionSlim node)
Parameters
Type Name Description
ParameterExpressionSlim node

The parameter expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeParameter(System.Linq.Expressions.ParameterExpressionSlim)

MakeSwitch(SwitchExpressionSlim, TypeSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from a switch expression.

Declaration
protected override TypeSlim MakeSwitch(SwitchExpressionSlim node, TypeSlim switchValue, TypeSlim defaultBody, ReadOnlyCollection<TypeSlim> cases)
Parameters
Type Name Description
SwitchExpressionSlim node

The switch expression.

TypeSlim switchValue

The derived type of the switch value expression.

TypeSlim defaultBody

The derived types of the default body expressions.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> cases

The derived types of the switch cases.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeSwitch(System.Linq.Expressions.SwitchExpressionSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeSwitchCase(SwitchCaseSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from a switch case.

Declaration
protected override TypeSlim MakeSwitchCase(SwitchCaseSlim node, TypeSlim body, ReadOnlyCollection<TypeSlim> testValues)
Parameters
Type Name Description
SwitchCaseSlim node

The switch case.

TypeSlim body

The derived type of the body expression.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> testValues

The derived types of the test value expressions.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeSwitchCase(System.Linq.Expressions.SwitchCaseSlim, System.Reflection.TypeSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeTry(TryExpressionSlim, TypeSlim, TypeSlim, TypeSlim, ReadOnlyCollection<TypeSlim>)

Attempt to derive a type from a try expression.

Declaration
protected override TypeSlim MakeTry(TryExpressionSlim node, TypeSlim body, TypeSlim finally, TypeSlim fault, ReadOnlyCollection<TypeSlim> handlers)
Parameters
Type Name Description
TryExpressionSlim node

The try expression.

TypeSlim body

The derived type of the body expression.

TypeSlim finally

The derived type of the finally expression.

TypeSlim fault

The derived type of the fault expression.

System.Collections.ObjectModel.ReadOnlyCollection<TypeSlim> handlers

The derived types of the handler expressions.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeTry(System.Linq.Expressions.TryExpressionSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Collections.ObjectModel.ReadOnlyCollection<System.Reflection.TypeSlim>)

MakeTypeBinary(TypeBinaryExpressionSlim, TypeSlim)

Attempt to derive a type from a type binary expression.

Declaration
protected override TypeSlim MakeTypeBinary(TypeBinaryExpressionSlim node, TypeSlim expression)
Parameters
Type Name Description
TypeBinaryExpressionSlim node

The type binary expression.

TypeSlim expression

The derived type of the child expression.

Returns
Type Description
TypeSlim

Always throws exception.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeTypeBinary(System.Linq.Expressions.TypeBinaryExpressionSlim, System.Reflection.TypeSlim)

MakeUnary(UnaryExpressionSlim, TypeSlim)

Attempt to derive a type from a unary expression.

Declaration
protected override TypeSlim MakeUnary(UnaryExpressionSlim node, TypeSlim operand)
Parameters
Type Name Description
UnaryExpressionSlim node

The unary expression.

TypeSlim operand

The derived type of the operand.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.MakeUnary(System.Linq.Expressions.UnaryExpressionSlim, System.Reflection.TypeSlim)

MakeUnaryArithmetic(UnaryExpressionSlim, TypeSlim)

Attempt to derive a type from an arithmetic unary expression.

Declaration
protected virtual TypeSlim MakeUnaryArithmetic(UnaryExpressionSlim node, TypeSlim operand)
Parameters
Type Name Description
UnaryExpressionSlim node

The unary expression.

TypeSlim operand

The derived type of the operand.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

MakeUnaryArithmeticSigned(UnaryExpressionSlim, TypeSlim)

Attempt to derive a type from an arithmetic unary expression on signed arithmetic types.

Declaration
protected virtual TypeSlim MakeUnaryArithmeticSigned(UnaryExpressionSlim node, TypeSlim operand)
Parameters
Type Name Description
UnaryExpressionSlim node

The unary expression.

TypeSlim operand

The derived type of the operand.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

MakeUnaryMethodBased(UnaryExpressionSlim, TypeSlim)

Attempt to derive a type from a method-based unary expression.

Declaration
protected virtual TypeSlim MakeUnaryMethodBased(UnaryExpressionSlim node, TypeSlim operand)
Parameters
Type Name Description
UnaryExpressionSlim node

The unary expression.

TypeSlim operand

The derived type of the operand.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

MakeUnaryNot(UnaryExpressionSlim, TypeSlim)

Attempt to derive a type from a unary not expression.

Declaration
protected virtual TypeSlim MakeUnaryNot(UnaryExpressionSlim node, TypeSlim operand)
Parameters
Type Name Description
UnaryExpressionSlim node

The unary expression.

TypeSlim operand

The derived type of the operand.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

MakeUnaryOnesComplement(UnaryExpressionSlim, TypeSlim)

Attempt to derive a type from a unary ones complement expression.

Declaration
protected virtual TypeSlim MakeUnaryOnesComplement(UnaryExpressionSlim node, TypeSlim operand)
Parameters
Type Name Description
UnaryExpressionSlim node

The unary expression.

TypeSlim operand

The derived type of the operand.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

VisitBlock(BlockExpressionSlim)

Attempt to derive a type from a block expression.

Declaration
protected override TypeSlim VisitBlock(BlockExpressionSlim node)
Parameters
Type Name Description
BlockExpressionSlim node

The block expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitBlock(System.Linq.Expressions.BlockExpressionSlim)

VisitConditional(ConditionalExpressionSlim)

Attempt to derive a type from a conditional expression.

Declaration
protected override TypeSlim VisitConditional(ConditionalExpressionSlim node)
Parameters
Type Name Description
ConditionalExpressionSlim node

The conditional expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitConditional(System.Linq.Expressions.ConditionalExpressionSlim)

VisitConstant(ConstantExpressionSlim)

Attempt to derive a type from a constant expression.

Declaration
protected override TypeSlim VisitConstant(ConstantExpressionSlim node)
Parameters
Type Name Description
ConstantExpressionSlim node

The constant expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitConstant(System.Linq.Expressions.ConstantExpressionSlim)

VisitDefault(DefaultExpressionSlim)

Attempt to derive a type from a default expression.

Declaration
protected override TypeSlim VisitDefault(DefaultExpressionSlim node)
Parameters
Type Name Description
DefaultExpressionSlim node

The default expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitDefault(System.Linq.Expressions.DefaultExpressionSlim)

VisitGoto(GotoExpressionSlim)

Attempt to derive a type from an goto expression.

Declaration
protected override TypeSlim VisitGoto(GotoExpressionSlim node)
Parameters
Type Name Description
GotoExpressionSlim node

The goto expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitGoto(System.Linq.Expressions.GotoExpressionSlim)

VisitIndex(IndexExpressionSlim)

Attempt to derive a type from an index expression.

Declaration
protected override TypeSlim VisitIndex(IndexExpressionSlim node)
Parameters
Type Name Description
IndexExpressionSlim node

The index expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitIndex(System.Linq.Expressions.IndexExpressionSlim)

VisitInvocation(InvocationExpressionSlim)

Attempt to derive a type from an invocation expression.

Declaration
protected override TypeSlim VisitInvocation(InvocationExpressionSlim node)
Parameters
Type Name Description
InvocationExpressionSlim node

The invocation expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitInvocation(System.Linq.Expressions.InvocationExpressionSlim)

VisitLabel(LabelExpressionSlim)

Attempt to derive a type from an label expression.

Declaration
protected override TypeSlim VisitLabel(LabelExpressionSlim node)
Parameters
Type Name Description
LabelExpressionSlim node

The label expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitLabel(System.Linq.Expressions.LabelExpressionSlim)

VisitLabelTarget(LabelTargetSlim)

Attempt to derive a type from an label target.

Declaration
protected override TypeSlim VisitLabelTarget(LabelTargetSlim node)
Parameters
Type Name Description
LabelTargetSlim node

The label target.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitLabelTarget(System.Linq.Expressions.LabelTargetSlim)

VisitLambda(LambdaExpressionSlim)

Attempt to derive a type from a lambda expression.

Declaration
protected override TypeSlim VisitLambda(LambdaExpressionSlim node)
Parameters
Type Name Description
LambdaExpressionSlim node

The lambda expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitLambda(System.Linq.Expressions.LambdaExpressionSlim)

VisitListInit(ListInitExpressionSlim)

Attempt to derive a type from a list init expression.

Declaration
protected override TypeSlim VisitListInit(ListInitExpressionSlim node)
Parameters
Type Name Description
ListInitExpressionSlim node

The list init expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitListInit(System.Linq.Expressions.ListInitExpressionSlim)

VisitLoop(LoopExpressionSlim)

Attempt to derive a type from a loop expression.

Declaration
protected override TypeSlim VisitLoop(LoopExpressionSlim node)
Parameters
Type Name Description
LoopExpressionSlim node

The loop expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitLoop(System.Linq.Expressions.LoopExpressionSlim)

VisitMember(MemberExpressionSlim)

Attempt to derive a type from a member expression.

Declaration
protected override TypeSlim VisitMember(MemberExpressionSlim node)
Parameters
Type Name Description
MemberExpressionSlim node

The member expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitMember(System.Linq.Expressions.MemberExpressionSlim)

VisitMemberInit(MemberInitExpressionSlim)

Attempt to derive a type from a member init expression.

Declaration
protected override TypeSlim VisitMemberInit(MemberInitExpressionSlim node)
Parameters
Type Name Description
MemberInitExpressionSlim node

The member init expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitMemberInit(System.Linq.Expressions.MemberInitExpressionSlim)

VisitMethodCall(MethodCallExpressionSlim)

Attempt to derive a type from a method call expression.

Declaration
protected override TypeSlim VisitMethodCall(MethodCallExpressionSlim node)
Parameters
Type Name Description
MethodCallExpressionSlim node

The method call expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitMethodCall(System.Linq.Expressions.MethodCallExpressionSlim)

VisitNew(NewExpressionSlim)

Attempt to derive a type from a new expression.

Declaration
protected override TypeSlim VisitNew(NewExpressionSlim node)
Parameters
Type Name Description
NewExpressionSlim node

The new expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitNew(System.Linq.Expressions.NewExpressionSlim)

VisitNewArray(NewArrayExpressionSlim)

Attempt to derive a type from a new array expression.

Declaration
protected override TypeSlim VisitNewArray(NewArrayExpressionSlim node)
Parameters
Type Name Description
NewArrayExpressionSlim node

The new array expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitNewArray(System.Linq.Expressions.NewArrayExpressionSlim)

VisitSwitch(SwitchExpressionSlim)

Attempt to derive a type from a switch expression.

Declaration
protected override TypeSlim VisitSwitch(SwitchExpressionSlim node)
Parameters
Type Name Description
SwitchExpressionSlim node

The switch expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitSwitch(System.Linq.Expressions.SwitchExpressionSlim)

VisitSwitchCase(SwitchCaseSlim)

Attempt to derive a type from a switch case.

Declaration
protected override TypeSlim VisitSwitchCase(SwitchCaseSlim node)
Parameters
Type Name Description
SwitchCaseSlim node

The switch case.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitSwitchCase(System.Linq.Expressions.SwitchCaseSlim)

VisitTry(TryExpressionSlim)

Attempt to derive a type from a try expression.

Declaration
protected override TypeSlim VisitTry(TryExpressionSlim node)
Parameters
Type Name Description
TryExpressionSlim node

The try expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitTry(System.Linq.Expressions.TryExpressionSlim)

VisitTypeBinary(TypeBinaryExpressionSlim)

Attempt to derive a type from a type binary expression.

Declaration
protected override TypeSlim VisitTypeBinary(TypeBinaryExpressionSlim node)
Parameters
Type Name Description
TypeBinaryExpressionSlim node

The type binary expression.

Returns
Type Description
TypeSlim

The derived type, or null if it cannot be determined.

Overrides
System.Linq.Expressions.ExpressionSlimVisitor<System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim, System.Reflection.TypeSlim>.VisitTypeBinary(System.Linq.Expressions.TypeBinaryExpressionSlim)
In This Article
Back to top Generated by DocFX