Show / Hide Table of Contents

    Class ContainerType

    A base type for types that refer to some number of homogeneously-typed elements.

    Inheritance
    System.Object
    ContainerType
    ClrModifierType
    PointerType
    Implements
    IType
    IGenericMember
    IMember
    Inherited Members
    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.TypeSystem
    Assembly: Flame.dll
    Syntax
    public abstract class ContainerType : IType, IGenericMember, IMember

    Constructors

    | Improve this Doc View Source

    ContainerType(IType)

    Creates an uninitialized container type from an element type.

    Declaration
    protected ContainerType(IType elementType)
    Parameters
    Type Name Description
    IType elementType

    The element type.

    | Improve this Doc View Source

    ContainerType(IType, UnqualifiedName, QualifiedName, AttributeMap)

    Creates an initialized container type from an element type, a name, a full name and an attribute map.

    Declaration
    public ContainerType(IType elementType, UnqualifiedName name, QualifiedName fullName, AttributeMap attributes)
    Parameters
    Type Name Description
    IType elementType

    The element type.

    UnqualifiedName name

    The container type's name.

    QualifiedName fullName

    The container type's fully qualified name.

    AttributeMap attributes

    The container type's attributes.

    Properties

    | Improve this Doc View Source

    Attributes

    Gets the member's attributes.

    Declaration
    public AttributeMap Attributes { get; }
    Property Value
    Type Description
    AttributeMap
    | Improve this Doc View Source

    BaseTypes

    Gets this type's base types. Base types can be either classes or interfaces.

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

    A read-only list of base types.

    | Improve this Doc View Source

    ElementType

    Gets the type of this container's elements.

    Declaration
    public IType ElementType { get; }
    Property Value
    Type Description
    IType

    The element type.

    | Improve this Doc View Source

    Fields

    Gets this type's fields.

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

    A read-only list of fields.

    | Improve this Doc View Source

    FullName

    Gets the member's full name.

    Declaration
    public QualifiedName FullName { get; }
    Property Value
    Type Description
    QualifiedName
    | Improve this Doc View Source

    GenericParameters

    Gets the list of generic parameters for this generic member.

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

    The generic parameters.

    | Improve this Doc View Source

    Methods

    Gets this type's methods.

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

    A read-only list of methods.

    | Improve this Doc View Source

    Name

    Gets the member's unqualified name.

    Declaration
    public UnqualifiedName Name { get; }
    Property Value
    Type Description
    UnqualifiedName
    | Improve this Doc View Source

    NestedTypes

    Gets the nested types defined by this type.

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

    A read-only list of nested types.

    | Improve this Doc View Source

    Parent

    Gets the parent entity that defines and owns this type.

    Declaration
    public TypeParent Parent { get; }
    Property Value
    Type Description
    TypeParent

    The parent entity.

    | Improve this Doc View Source

    Properties

    Gets this type's properties.

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

    A read-only list of properties.

    Methods

    | Improve this Doc View Source

    Initialize(UnqualifiedName, QualifiedName, AttributeMap)

    Initializes an uninitialized container type.

    Declaration
    protected void Initialize(UnqualifiedName name, QualifiedName fullName, AttributeMap attributes)
    Parameters
    Type Name Description
    UnqualifiedName name

    The container type's name.

    QualifiedName fullName

    The container type's fully qualified name.

    AttributeMap attributes

    The container type's attributes.

    | Improve this Doc View Source

    ToString()

    Declaration
    public override string ToString()
    Returns
    Type Description
    System.String
    Overrides
    System.Object.ToString()
    | Improve this Doc View Source

    WithElementType(IType)

    Creates a container type that is identical to this one except for its element type, which is set to a given type.

    Declaration
    public abstract ContainerType WithElementType(IType newElementType)
    Parameters
    Type Name Description
    IType newElementType

    The element type of the new container type.

    Returns
    Type Description
    ContainerType

    Another container type.

    Implements

    IType
    IGenericMember
    IMember

    Extension Methods

    TypeExtensions.GetAllInstanceFields(IType)
    TypeExtensions.GetImplementationOf(IType, IMethod)
    TypeExtensions.GetDefiningAssemblyOrNull(IType)
    TypeExtensions.IsPointerType(IType)
    TypeExtensions.IsPointerType(IType, PointerKind)
    TypeExtensions.MakePointerType(IType, PointerKind)
    TypeExtensions.MakeGenericType(IType, IReadOnlyList<IType>)
    TypeExtensions.MakeGenericType(IType, IType[])
    TypeExtensions.IsRecursiveGenericInstance(IType)
    TypeExtensions.GetRecursiveGenericDeclaration(IType)
    TypeExtensions.MakeRecursiveGenericType(IType, IReadOnlyList<IType>)
    TypeExtensions.GetRecursiveGenericArguments(IType)
    TypeExtensions.GetGenericArguments(IType)
    TypeExtensions.GetRecursiveGenericParameters(IType)
    TypeExtensions.GetRecursiveGenericArgumentMapping(IType)
    AccessModifierAttribute.GetAccessModifier(IMember)
    FlagAttribute.IsReferenceType(IType)
    FlagAttribute.IsSpecialType(IType)
    FlagAttribute.IsInterfaceType(IType)
    FlagAttribute.IsAbstract(IType)
    FlagAttribute.IsVirtual(IType)
    IntegerSpecAttribute.GetIntegerSpecOrNull(IType)
    IntegerSpecAttribute.IsIntegerType(IType)
    IntegerSpecAttribute.IsSignedIntegerType(IType)
    IntegerSpecAttribute.IsUnsignedIntegerType(IType)
    VirtualMethodSetExtensions.GetVirtualMethodSet(IType)
    VirtualMethodSetExtensions.GetMethodsAndAccessors(IType)
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX