Show / Hide Table of Contents

    Class ReturnFlow

    Control flow that returns control to the caller.

    Inheritance
    System.Object
    BlockFlow
    ReturnFlow
    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 ReturnFlow : BlockFlow

    Constructors

    | Improve this Doc View Source

    ReturnFlow(Instruction)

    Creates return flow that returns a particular value.

    Declaration
    public ReturnFlow(Instruction returnValue)
    Parameters
    Type Name Description
    Instruction returnValue

    The value to return.

    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
    | Improve this Doc View Source

    ReturnValue

    Gets the value returned by this return flow.

    Declaration
    public Instruction ReturnValue { get; }
    Property Value
    Type Description
    Instruction

    The returned value.

    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