Class ExpandLinq
An optimization that replaces select LINQ methods with tailored implementations.
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Flame.Clr.Transforms
Assembly: Flame.Clr.dll
Syntax
public sealed class ExpandLinq : IntraproceduralOptimization
Constructors
| Improve this Doc 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
| Improve this Doc 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
| Improve this Doc 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. |