Class EffectfulInstructionAnalysis
An analysis that produces the set of all effectful instructions in a graph.
Inheritance
System.Object
EffectfulInstructionAnalysis
Implements
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.Compiler.Analysis
Assembly: Flame.Compiler.dll
Syntax
public sealed class EffectfulInstructionAnalysis : IFlowGraphAnalysis<EffectfulInstructions>
Constructors
| Improve this Doc View SourceEffectfulInstructionAnalysis()
Creates an effectful instruction analysis based on the default effectfulness predicate.
Declaration
public EffectfulInstructionAnalysis()
EffectfulInstructionAnalysis(Predicate<NamedInstruction>)
Creates an effectful instruction analysis based on a predicate that tells if instructions are effectful.
Declaration
public EffectfulInstructionAnalysis(Predicate<NamedInstruction> isEffectful)
Parameters
Type | Name | Description |
---|---|---|
System.Predicate<NamedInstruction> | isEffectful | A predicate that takes an instruction and tells if it is effectful or not. |
Properties
| Improve this Doc View SourceIsEffectful
Tells if a particular instruction is effectful.
Declaration
public Predicate<NamedInstruction> IsEffectful { get; }
Property Value
Type | Description |
---|---|
System.Predicate<NamedInstruction> | A predicate that takes an instruction and tells if it is effectful or not. |
Methods
| Improve this Doc View SourceAnalyze(FlowGraph)
Declaration
public EffectfulInstructions Analyze(FlowGraph graph)
Parameters
Type | Name | Description |
---|---|---|
FlowGraph | graph |
Returns
Type | Description |
---|---|
EffectfulInstructions |
AnalyzeWithUpdates(FlowGraph, EffectfulInstructions, IReadOnlyList<FlowGraphUpdate>)
Declaration
public EffectfulInstructions AnalyzeWithUpdates(FlowGraph graph, EffectfulInstructions previousResult, IReadOnlyList<FlowGraphUpdate> updates)
Parameters
Type | Name | Description |
---|---|---|
FlowGraph | graph | |
EffectfulInstructions | previousResult | |
System.Collections.Generic.IReadOnlyList<FlowGraphUpdate> | updates |
Returns
Type | Description |
---|---|
EffectfulInstructions |