Show / Hide Table of Contents

    Class DescribedType

    A type that can be constructed incrementally in an imperative fashion.

    Inheritance
    System.Object
    DescribedMember
    DescribedGenericMember
    DescribedType
    Implements
    IType
    IGenericMember
    IMember
    Inherited Members
    DescribedGenericMember.GenericParameters
    DescribedGenericMember.AddGenericParameter(IGenericParameter)
    DescribedMember.FullName
    DescribedMember.Name
    DescribedMember.Attributes
    DescribedMember.AddAttribute(IAttribute)
    DescribedMember.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.TypeSystem
    Assembly: Flame.dll
    Syntax
    public class DescribedType : DescribedGenericMember, IType, IGenericMember, IMember

    Constructors

    | Improve this Doc View Source

    DescribedType(QualifiedName, IAssembly)

    Creates a type from a name and a parent assembly.

    Declaration
    public DescribedType(QualifiedName fullName, IAssembly assembly)
    Parameters
    Type Name Description
    QualifiedName fullName

    The type's full name.

    IAssembly assembly

    The assembly that defines the type.

    | Improve this Doc View Source

    DescribedType(UnqualifiedName, IType)

    Creates a type from a name and a parent type.

    Declaration
    public DescribedType(UnqualifiedName name, IType parentType)
    Parameters
    Type Name Description
    UnqualifiedName name

    The type's unqualified name.

    IType parentType

    The type's parent type, i.e., the type that defines it.

    Properties

    | 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

    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

    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

    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

    AddBaseType(IType)

    Makes a particular type a base type of this type.

    Declaration
    public void AddBaseType(IType type)
    Parameters
    Type Name Description
    IType type

    The type to add to this type's base type list.

    | Improve this Doc View Source

    AddField(IField)

    Adds a field to this type.

    Declaration
    public void AddField(IField field)
    Parameters
    Type Name Description
    IField field

    The field to add.

    | Improve this Doc View Source

    AddMethod(IMethod)

    Adds a method to this type.

    Declaration
    public void AddMethod(IMethod method)
    Parameters
    Type Name Description
    IMethod method

    The method to add.

    | Improve this Doc View Source

    AddNestedType(IType)

    Adds a nested type to this type.

    Declaration
    public void AddNestedType(IType nestedType)
    Parameters
    Type Name Description
    IType nestedType

    The nested type to add.

    | Improve this Doc View Source

    AddProperty(IProperty)

    Adds a property to this type.

    Declaration
    public void AddProperty(IProperty property)
    Parameters
    Type Name Description
    IProperty property

    The property to add.

    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