Show / Hide Table of Contents

    Class IndirectCallPrototype

    An instruction prototype for indirect call instructions: instructions that call a delegate or function pointer.

    Inheritance
    System.Object
    InstructionPrototype
    IndirectCallPrototype
    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 IndirectCallPrototype : InstructionPrototype

    Properties

    | 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

    ParameterTypes

    Gets the list of parameter types.

    Declaration
    public IReadOnlyList<IType> ParameterTypes { get; }
    Property Value
    Type Description
    System.Collections.Generic.IReadOnlyList<IType>

    The parameter types.

    | 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(IType, IReadOnlyList<IType>)

    Gets the indirect call instruction prototype for a particular return type and parameter type list.

    Declaration
    public static IndirectCallPrototype Create(IType returnType, IReadOnlyList<IType> parameterTypes)
    Parameters
    Type Name Description
    IType returnType

    The type of value returned by the callee.

    System.Collections.Generic.IReadOnlyList<IType> parameterTypes

    A list of the callee's parameter types.

    Returns
    Type Description
    IndirectCallPrototype

    An indirect call 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

    GetCallee(Instruction)

    Gets the callee delegate or function pointer argument in an instruction that conforms to this prototype.

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

    An instruction that conforms to this prototype.

    Returns
    Type Description
    ValueTag

    The callee argument.

    | Improve this Doc View Source

    Instantiate(ValueTag, IReadOnlyList<ValueTag>)

    Instantiates this indirect call prototype.

    Declaration
    public Instruction Instantiate(ValueTag callee, IReadOnlyList<ValueTag> arguments)
    Parameters
    Type Name Description
    ValueTag callee

    The delegate or function pointer to call.

    System.Collections.Generic.IReadOnlyList<ValueTag> arguments

    The argument list for the call.

    Returns
    Type Description
    Instruction

    An indirect call instruction.

    | 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