Search Results for

    Show / Hide Table of Contents

    Class EffectfulInstructionAnalysis

    An analysis that produces the set of all effectful instructions in a graph.

    Inheritance
    object
    EffectfulInstructionAnalysis
    Implements
    IFlowGraphAnalysis<EffectfulInstructions>
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Flame.Compiler.Analysis
    Assembly: Flame.Compiler.dll
    Syntax
    public sealed class EffectfulInstructionAnalysis : IFlowGraphAnalysis<EffectfulInstructions>

    Constructors

    | Edit this page View Source

    EffectfulInstructionAnalysis()

    Creates an effectful instruction analysis based on the default effectfulness predicate.

    Declaration
    public EffectfulInstructionAnalysis()
    | Edit this page View Source

    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
    Predicate<NamedInstruction> isEffectful

    A predicate that takes an instruction and tells if it is effectful or not.

    Properties

    | Edit this page View Source

    IsEffectful

    Tells if a particular instruction is effectful.

    Declaration
    public Predicate<NamedInstruction> IsEffectful { get; }
    Property Value
    Type Description
    Predicate<NamedInstruction>

    A predicate that takes an instruction and tells if it is effectful or not.

    Methods

    | Edit this page View Source

    Analyze(FlowGraph)

    Analyzes a flow graph from scratch.

    Declaration
    public EffectfulInstructions Analyze(FlowGraph graph)
    Parameters
    Type Name Description
    FlowGraph graph

    The flow graph to analyze.

    Returns
    Type Description
    EffectfulInstructions

    The analysis' output.

    | Edit this page View Source

    AnalyzeWithUpdates(FlowGraph, EffectfulInstructions, IReadOnlyList<FlowGraphUpdate>)

    Analyzes a flow graph based on the flow graph, the previous result, and a list of updates that were applied to the graph since the previous result.

    Declaration
    public EffectfulInstructions AnalyzeWithUpdates(FlowGraph graph, EffectfulInstructions previousResult, IReadOnlyList<FlowGraphUpdate> updates)
    Parameters
    Type Name Description
    FlowGraph graph

    The current version of the flow graph to analyze.

    EffectfulInstructions previousResult

    A previous result produced by this analysis.

    IReadOnlyList<FlowGraphUpdate> updates

    A list of updates that were applied to the flow graph since the previous result was computed.

    Returns
    Type Description
    EffectfulInstructions

    The analysis' output, which must be equal to a call to Analyze.

    Implements

    IFlowGraphAnalysis<T>
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX