Show / Hide Table of Contents

    Class UnreachableFlow

    Control flow that marks the end of a basic block as unreachable.

    Inheritance
    System.Object
    BlockFlow
    UnreachableFlow
    Inherited Members
    BlockFlow.BranchTargets
    BlockFlow.Values
    BlockFlow.GetInstructionBuilders(BasicBlockBuilder)
    BlockFlow.MapValues(Func<ValueTag, ValueTag>)
    BlockFlow.MapValues(IReadOnlyDictionary<ValueTag, ValueTag>)
    BlockFlow.MapBlocks(Func<BasicBlockTag, BasicBlockTag>)
    BlockFlow.MapBlocks(IReadOnlyDictionary<BasicBlockTag, BasicBlockTag>)
    BlockFlow.MapBranches(Func<Branch, Branch>)
    BlockFlow.MapArguments(Func<BranchArgument, BranchArgument>)
    BlockFlow.MapArguments(IReadOnlyDictionary<BranchArgument, BranchArgument>)
    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.Flow
    Assembly: Flame.Compiler.dll
    Syntax
    public sealed class UnreachableFlow : BlockFlow

    Fields

    | Improve this Doc View Source

    Instance

    Gets an instance of unreachable flow.

    Declaration
    public static readonly UnreachableFlow Instance
    Field Value
    Type Description
    UnreachableFlow

    Unreachable flow.

    Properties

    | Improve this Doc View Source

    Branches

    Gets a list of branches this flow may take.

    Declaration
    public override IReadOnlyList<Branch> Branches { get; }
    Property Value
    Type Description
    System.Collections.Generic.IReadOnlyList<Branch>

    A list of potential branches.

    Overrides
    BlockFlow.Branches
    | Improve this Doc View Source

    Instructions

    Gets a list of inner instructions for this block flow.

    Declaration
    public override IReadOnlyList<Instruction> Instructions { get; }
    Property Value
    Type Description
    System.Collections.Generic.IReadOnlyList<Instruction>

    The inner instructions.

    Overrides
    BlockFlow.Instructions

    Methods

    | Improve this Doc View Source

    GetInstructionBuilder(BasicBlockBuilder, Int32)

    Gets an instruction builder for the nth anonymous instruction in this block flow.

    Declaration
    public override InstructionBuilder GetInstructionBuilder(BasicBlockBuilder block, int instructionIndex)
    Parameters
    Type Name Description
    BasicBlockBuilder block

    The block that defines this flow.

    System.Int32 instructionIndex

    The index of the anonymous instruction to create a builder for.

    Returns
    Type Description
    InstructionBuilder

    An instruction builder for an anonymous instruction.

    Overrides
    BlockFlow.GetInstructionBuilder(BasicBlockBuilder, Int32)
    | Improve this Doc View Source

    WithBranches(IReadOnlyList<Branch>)

    Replaces this flow's branches with a particular list of branches.

    Declaration
    public override BlockFlow WithBranches(IReadOnlyList<Branch> branches)
    Parameters
    Type Name Description
    System.Collections.Generic.IReadOnlyList<Branch> branches

    The new branches.

    Returns
    Type Description
    BlockFlow

    A new flow.

    Overrides
    BlockFlow.WithBranches(IReadOnlyList<Branch>)
    | Improve this Doc View Source

    WithInstructions(IReadOnlyList<Instruction>)

    Replaces this flow's inner instructions.

    Declaration
    public override BlockFlow WithInstructions(IReadOnlyList<Instruction> instructions)
    Parameters
    Type Name Description
    System.Collections.Generic.IReadOnlyList<Instruction> instructions

    The new instructions.

    Returns
    Type Description
    BlockFlow

    A new flow.

    Overrides
    BlockFlow.WithInstructions(IReadOnlyList<Instruction>)
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX