Show / Hide Table of Contents

    Class NewObjectPrototype

    A prototype for instructions that allocate storage on the heap for an object and initialize it using a constructor.

    Inheritance
    System.Object
    InstructionPrototype
    NewObjectPrototype
    Inherited Members
    InstructionPrototype.Members
    InstructionPrototype.Instantiate(IReadOnlyList<ValueTag>)
    InstructionPrototype.IsPrototypeOf(Instruction)
    InstructionPrototype.AssertIsPrototypeOf(Instruction, String)
    InstructionPrototype.AssertIsPrototypeOf(Instruction)
    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.Instructions
    Assembly: Flame.Compiler.dll
    Syntax
    public sealed class NewObjectPrototype : InstructionPrototype

    Properties

    | Improve this Doc View Source

    Constructor

    Gets the constructor to initialize objects with.

    Declaration
    public IMethod Constructor { get; }
    Property Value
    Type Description
    IMethod

    The constructor to use.

    | Improve this Doc View Source

    ParameterCount

    Gets the number of arguments this instruction takes when instantiated.

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

    The number of arguments this instruction takes.

    Overrides
    InstructionPrototype.ParameterCount
    | Improve this Doc 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

    | Improve this Doc 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
    System.Collections.Generic.IReadOnlyList<System.String>

    A list of conformance errors in the instruction.

    Overrides
    InstructionPrototype.CheckConformance(Instruction, MethodBody)
    | Improve this Doc View Source

    Create(IMethod)

    Gets the new-object instruction prototype for a particular constructor.

    Declaration
    public static NewObjectPrototype Create(IMethod constructor)
    Parameters
    Type Name Description
    IMethod constructor

    The constructor to initialize objects with.

    Returns
    Type Description
    NewObjectPrototype

    A new-object instruction prototype.

    | Improve this Doc View Source

    GetArgumentList(Instruction)

    Gets the argument list in an instruction that conforms to this prototype.

    Declaration
    public ReadOnlySlice<ValueTag> GetArgumentList(Instruction instruction)
    Parameters
    Type Name Description
    Instruction instruction

    An instruction that conforms to this prototype.

    Returns
    Type Description
    ReadOnlySlice<ValueTag>

    The formal argument list.

    | Improve this Doc 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)
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX