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
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 |