Show / Hide Table of Contents

    Class DynamicCastPrototype

    A prototype for dynamic cast instructions: instructions that convert one pointer type to another but check that this conversion is indeed legal; if it is not, then a null pointer is produced.

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

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

    TargetType

    Gets the pointer type to cast the input to.

    Declaration
    public PointerType TargetType { get; }
    Property Value
    Type Description
    PointerType

    The target pointer type.

    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(PointerType)

    Gets or creates a dynamic cast instruction prototype that converts pointers to a specific pointer type.

    Declaration
    public static DynamicCastPrototype Create(PointerType targetType)
    Parameters
    Type Name Description
    PointerType targetType

    The target pointer type.

    Returns
    Type Description
    DynamicCastPrototype

    A dynamic cast instruction prototype.

    | Improve this Doc View Source

    GetOperand(Instruction)

    Gets the input pointer of an instance of this dynamic cast instruction prototype.

    Declaration
    public ValueTag GetOperand(Instruction instance)
    Parameters
    Type Name Description
    Instruction instance

    An instance of this dynamic cast instruction prototype.

    Returns
    Type Description
    ValueTag

    The input pointer.

    | Improve this Doc View Source

    Instantiate(ValueTag)

    Creates an instance of this dynamic cast instruction prototype.

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

    A pointer to cast to another pointer type.

    Returns
    Type Description
    Instruction

    A dynamic cast 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