Show / Hide Table of Contents

    Class EffectfulInstructionAnalysis

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

    Inheritance
    System.Object
    EffectfulInstructionAnalysis
    Implements
    IFlowGraphAnalysis<EffectfulInstructions>
    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 Source

    EffectfulInstructionAnalysis()

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

    Declaration
    public EffectfulInstructionAnalysis()
    | Improve this Doc 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
    System.Predicate<NamedInstruction> isEffectful

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

    Properties

    | Improve this Doc View Source

    IsEffectful

    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 Source

    Analyze(FlowGraph)

    Declaration
    public EffectfulInstructions Analyze(FlowGraph graph)
    Parameters
    Type Name Description
    FlowGraph graph
    Returns
    Type Description
    EffectfulInstructions
    | Improve this Doc View Source

    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

    Implements

    IFlowGraphAnalysis<T>
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX