Search Results for

    Show / Hide Table of Contents

    Class UnboxPrototype

    A prototype for instructions that unbox boxed value types. Unbox instructions take box pointers and turn them into reference pointers to their contents.

    Inheritance
    object
    InstructionPrototype
    UnboxPrototype
    Inherited Members
    InstructionPrototype.Members
    InstructionPrototype.Instantiate(IReadOnlyList<ValueTag>)
    InstructionPrototype.IsPrototypeOf(Instruction)
    InstructionPrototype.AssertIsPrototypeOf(Instruction, string)
    InstructionPrototype.AssertIsPrototypeOf(Instruction)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Flame.Compiler.Instructions
    Assembly: Flame.Compiler.dll
    Syntax
    public sealed class UnboxPrototype : InstructionPrototype

    Properties

    | Edit this page View Source

    ElementType

    Gets the type of value to unbox.

    Declaration
    public IType ElementType { get; }
    Property Value
    Type Description
    IType
    | Edit this page View Source

    ParameterCount

    Gets the number of arguments this instruction takes when instantiated.

    Declaration
    public override int ParameterCount { get; }
    Property Value
    Type Description
    int

    The number of arguments this instruction takes.

    Overrides
    InstructionPrototype.ParameterCount
    | Edit this page View Source

    ResultType

    Gets the type of value produced instantiations of this prototype.

    Declaration
    public override IType ResultType { get; }
    Property Value
    Type Description
    IType

    A type of value.

    Overrides
    InstructionPrototype.ResultType

    Methods

    | Edit this page View Source

    CheckConformance(Instruction, MethodBody)

    Checks if a particular instance of this prototype conforms to the rules for this instruction prototype.

    Declaration
    public override IReadOnlyList<string> CheckConformance(Instruction instance, MethodBody body)
    Parameters
    Type Name Description
    Instruction instance

    An instance of this prototype.

    MethodBody body

    The method body that defines the instruction.

    Returns
    Type Description
    IReadOnlyList<string>

    A list of conformance errors in the instruction.

    Overrides
    InstructionPrototype.CheckConformance(Instruction, MethodBody)
    | Edit this page View Source

    Create(IType)

    Gets the unbox instruction prototype for a particular result type.

    Declaration
    public static UnboxPrototype Create(IType elementType)
    Parameters
    Type Name Description
    IType elementType

    The type of the unboxed value to produce.

    Returns
    Type Description
    UnboxPrototype

    A unbox instruction prototype.

    | Edit this page View Source

    GetBoxPointer(Instruction)

    Gets the box pointer that is unboxed by an instance of this prototype.

    Declaration
    public ValueTag GetBoxPointer(Instruction instruction)
    Parameters
    Type Name Description
    Instruction instruction

    An instruction that conforms to this prototype.

    Returns
    Type Description
    ValueTag

    The box pointer.

    | Edit this page View Source

    Instantiate(ValueTag)

    Instantiates this unbox instruction prototype.

    Declaration
    public Instruction Instantiate(ValueTag value)
    Parameters
    Type Name Description
    ValueTag value

    A box pointer to unbox.

    Returns
    Type Description
    Instruction

    An unbox instruction.

    | Edit this page View Source

    Map(MemberMapping)

    Applies a member mapping to this instruction prototype.

    Declaration
    public override InstructionPrototype Map(MemberMapping mapping)
    Parameters
    Type Name Description
    MemberMapping mapping

    A member mapping.

    Returns
    Type Description
    InstructionPrototype

    A transformed instruction prototype.

    Overrides
    InstructionPrototype.Map(MemberMapping)
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX