Search Results for

    Show / Hide Table of Contents

    Struct IrCodec

    An encoder/decoder for every configurable element of Flame's intermediate representation.

    Inherited Members
    ValueType.Equals(object)
    ValueType.GetHashCode()
    ValueType.ToString()
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Flame.Ir
    Assembly: Flame.Ir.dll
    Syntax
    public struct IrCodec

    Constructors

    | Edit this page View Source

    IrCodec(Codec<Constant, LNode>, Codec<InstructionPrototype, LNode>, Codec<IType, LNode>, Codec<ITypeMember, LNode>, Codec<ITypeMember, LNode>, Codec<IType, LNode>, Codec<IAttribute, LNode>)

    Creates a codec for Flame IR from a number of sub-codecs.

    Declaration
    public IrCodec(Codec<Constant, LNode> constants, Codec<InstructionPrototype, LNode> instructionCodec, Codec<IType, LNode> typeCodec, Codec<ITypeMember, LNode> typeMemberCodec, Codec<ITypeMember, LNode> typeMemberDefinitionCodec, Codec<IType, LNode> typeDefinitionCodec, Codec<IAttribute, LNode> attributeCodec)
    Parameters
    Type Name Description
    Codec<Constant, LNode> constants

    A codec for constants.

    Codec<InstructionPrototype, LNode> instructionCodec

    An instruction prototype codec.

    Codec<IType, LNode> typeCodec

    A codec for type references.

    Codec<ITypeMember, LNode> typeMemberCodec

    A codec for type member references.

    Codec<ITypeMember, LNode> typeMemberDefinitionCodec

    A codec for type member definitions.

    Codec<IType, LNode> typeDefinitionCodec

    A codec for method definitions.

    Codec<IAttribute, LNode> attributeCodec

    A codec for attributes.

    Fields

    | Edit this page View Source

    Default

    The default codec for Flame IR as used by unmodified versions of Flame.

    Declaration
    public static IrCodec Default
    Field Value
    Type Description
    IrCodec

    Properties

    | Edit this page View Source

    Attributes

    Gets the encoder/decoder for attributes.

    Declaration
    public readonly Codec<IAttribute, LNode> Attributes { get; }
    Property Value
    Type Description
    Codec<IAttribute, LNode>

    The attribute codec.

    | Edit this page View Source

    Constants

    Gets the encoder for constants.

    Declaration
    public readonly Codec<Constant, LNode> Constants { get; }
    Property Value
    Type Description
    Codec<Constant, LNode>

    The constant codec.

    | Edit this page View Source

    Instructions

    Gets the encoder for instruction prototypes.

    Declaration
    public readonly Codec<InstructionPrototype, LNode> Instructions { get; }
    Property Value
    Type Description
    Codec<InstructionPrototype, LNode>

    The instruction prototype codec.

    | Edit this page View Source

    TypeDefinitions

    Gets the encoder/decoder for type definitions.

    Declaration
    public readonly Codec<IType, LNode> TypeDefinitions { get; }
    Property Value
    Type Description
    Codec<IType, LNode>

    The type definition codec.

    | Edit this page View Source

    TypeMemberDefinitions

    Gets the encoder/decoder for type member definitions.

    Declaration
    public readonly Codec<ITypeMember, LNode> TypeMemberDefinitions { get; }
    Property Value
    Type Description
    Codec<ITypeMember, LNode>

    The type member definition codec.

    | Edit this page View Source

    TypeMembers

    Gets the encoder/decoder for type member references.

    Declaration
    public readonly Codec<ITypeMember, LNode> TypeMembers { get; }
    Property Value
    Type Description
    Codec<ITypeMember, LNode>

    The type member reference codec.

    | Edit this page View Source

    Types

    Gets the encoder/decoder for type references.

    Declaration
    public readonly Codec<IType, LNode> Types { get; }
    Property Value
    Type Description
    Codec<IType, LNode>

    The type reference codec.

    Methods

    | Edit this page View Source

    WithTypes(Codec<IType, LNode>)

    Creates an IR codec with a particular type codec. All other fields are copied from this codec.

    Declaration
    public IrCodec WithTypes(Codec<IType, LNode> typeCodec)
    Parameters
    Type Name Description
    Codec<IType, LNode> typeCodec

    A type codec.

    Returns
    Type Description
    IrCodec

    An IR codec.

    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX