Show / Hide Table of Contents

Class BetaReductionNodeTypes

Flags to control which expression node types for invocation arguments are allowed during a beta reduction. Because beta reduction moves expressions to usage sites of parameters, timing of side-effects can change.

Inheritance
System.Object
BetaReductionNodeTypes
Namespace: System.Linq.CompilerServices
Assembly: Nuqleon.Linq.CompilerServices.dll
Syntax
public sealed class BetaReductionNodeTypes : Enum

Fields

Atoms

Expression tree nodes with atomic structure, which are free of side-effects and are safe for inlining during beta reduction.

Declaration
public const BetaReductionNodeTypes Atoms
Field Value
Type Description
BetaReductionNodeTypes

Constant

Nodes of type ExpressionType.Constant. Usage of constant expressions is free of side-effects and is safe for inlining during beta reduction.

Declaration
public const BetaReductionNodeTypes Constant
Field Value
Type Description
BetaReductionNodeTypes

Default

Nodes of type ExpressionType.Default. Usage of default expressions is free of side-effects and is safe for inlining during beta reduction.

Declaration
public const BetaReductionNodeTypes Default
Field Value
Type Description
BetaReductionNodeTypes

Molecules

Expression tree nodes with non-atomic structure, which may exhibit side-effects whose timing could be affected by beta reduction.

Declaration
public const BetaReductionNodeTypes Molecules
Field Value
Type Description
BetaReductionNodeTypes

None

No expression node types are considered.

Declaration
public const BetaReductionNodeTypes None
Field Value
Type Description
BetaReductionNodeTypes

Parameter

Nodes of type ExpressionType.Parameter. Usage of parameter expressions is free of side-effects and is safe for inlining during beta reduction.

Declaration
public const BetaReductionNodeTypes Parameter
Field Value
Type Description
BetaReductionNodeTypes

Quote

Nodes of type ExpressionType.Quote. Usage of quotation expressions is free of side-effects and is safe for inlining during beta reduction.

Declaration
public const BetaReductionNodeTypes Quote
Field Value
Type Description
BetaReductionNodeTypes

Unrestricted

All expression tree nodes. This includes expressions which may exhibit side-effects whose timing could be affected by beta reduction.

Declaration
public const BetaReductionNodeTypes Unrestricted
Field Value
Type Description
BetaReductionNodeTypes

value__

Declaration
public int value__
Field Value
Type Description
System.Int32
In This Article
Back to top Generated by DocFX