Search Results for

    Show / Hide Table of Contents

    Class JumpFlow

    Control flow that unconditionally jumps to a particular branch.

    Inheritance
    object
    BlockFlow
    JumpFlow
    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>)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Flame.Compiler.Flow
    Assembly: Flame.Compiler.dll
    Syntax
    public sealed class JumpFlow : BlockFlow

    Constructors

    | Edit this page View Source

    JumpFlow(BasicBlockTag)

    Creates control flow that unconditionally jumps to a particular block, passing no arguments.

    Declaration
    public JumpFlow(BasicBlockTag target)
    Parameters
    Type Name Description
    BasicBlockTag target

    The target block.

    | Edit this page View Source

    JumpFlow(BasicBlockTag, IReadOnlyList<BranchArgument>)

    Creates control flow that unconditionally jumps to a particular block, passing a list of arguments.

    Declaration
    public JumpFlow(BasicBlockTag target, IReadOnlyList<BranchArgument> arguments)
    Parameters
    Type Name Description
    BasicBlockTag target

    The target block.

    IReadOnlyList<BranchArgument> arguments

    A list of arguments to pass to the target block.

    | Edit this page View Source

    JumpFlow(BasicBlockTag, IReadOnlyList<ValueTag>)

    Creates control flow that unconditionally jumps to a particular block, passing a list of arguments.

    Declaration
    public JumpFlow(BasicBlockTag target, IReadOnlyList<ValueTag> arguments)
    Parameters
    Type Name Description
    BasicBlockTag target

    The target block.

    IReadOnlyList<ValueTag> arguments

    A list of arguments to pass to the target block.

    | Edit this page View Source

    JumpFlow(Branch)

    Creates control flow that unconditionally jumps to a particular branch.

    Declaration
    public JumpFlow(Branch branch)
    Parameters
    Type Name Description
    Branch branch

    The branch to jump to.

    Properties

    | Edit this page View Source

    Branch

    Gets the branch that is unconditionally taken by this flow.

    Declaration
    public Branch Branch { get; }
    Property Value
    Type Description
    Branch

    The jump branch.

    | Edit this page View Source

    Branches

    Gets a list of branches this flow may take.

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

    A list of potential branches.

    Overrides
    BlockFlow.Branches
    | Edit this page View Source

    Instructions

    Gets a list of inner instructions for this block flow.

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

    The inner instructions.

    Overrides
    BlockFlow.Instructions

    Methods

    | Edit this page View Source

    GetInstructionBuilder(BasicBlockBuilder, int)

    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.

    int 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, int)
    | Edit this page 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
    IReadOnlyList<Branch> branches

    The new branches.

    Returns
    Type Description
    BlockFlow

    A new flow.

    Overrides
    BlockFlow.WithBranches(IReadOnlyList<Branch>)
    | Edit this page View Source

    WithInstructions(IReadOnlyList<Instruction>)

    Replaces this flow's inner instructions.

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

    The new instructions.

    Returns
    Type Description
    BlockFlow

    A new flow.

    Overrides
    BlockFlow.WithInstructions(IReadOnlyList<Instruction>)
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX