Class ExpandLinq
An optimization that replaces select LINQ methods with tailored implementations.
Inherited Members
Namespace: Flame.Clr.Transforms
Assembly: Flame.Clr.dll
Syntax
public sealed class ExpandLinq : IntraproceduralOptimization
Constructors
| Edit this page View SourceExpandLinq(IType, IType)
Creates a LINQ-expanding optimization.
Declaration
public ExpandLinq(IType booleanType, IType inductionVariableType)
Parameters
| Type | Name | Description |
|---|---|---|
| IType | booleanType | The type of a Boolean value. |
| IType | inductionVariableType | The type to use for integer induction variables. |
Properties
| Edit this page View SourceBooleanType
Gets the type of a Boolean value.
Declaration
public IType BooleanType { get; }
Property Value
| Type | Description |
|---|---|
| IType | A type. |
InductionVariableType
Gets the type to use for newly introduced integer induction variables.
Declaration
public IType InductionVariableType { get; }
Property Value
| Type | Description |
|---|---|
| IType | A type. |
Methods
| Edit this page View SourceApply(FlowGraph)
Applies this intraprocedural optimization to a flow graph.
Declaration
public override FlowGraph Apply(FlowGraph graph)
Parameters
| Type | Name | Description |
|---|---|---|
| FlowGraph | graph | The flow graph to transform. |
Returns
| Type | Description |
|---|---|
| FlowGraph | A transformed flow graph. |