Class ContainerType
A base type for types that refer to some number of homogeneously-typed elements.
Inherited Members
Namespace: Flame.TypeSystem
Assembly: Flame.dll
Syntax
public abstract class ContainerType : IType, IGenericMember, IMember
  Constructors
| Improve this Doc View SourceContainerType(IType)
Creates an uninitialized container type from an element type.
Declaration
protected ContainerType(IType elementType)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IType | elementType | The element type.  | 
      
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 SourceAttributes
Gets the member's attributes.
Declaration
public AttributeMap Attributes { get; }
  Property Value
| Type | Description | 
|---|---|
| AttributeMap | 
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.  | 
      
ElementType
Gets the type of this container's elements.
Declaration
public IType ElementType { get; }
  Property Value
| Type | Description | 
|---|---|
| IType | The element type.  | 
      
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.  | 
      
FullName
Gets the member's full name.
Declaration
public QualifiedName FullName { get; }
  Property Value
| Type | Description | 
|---|---|
| QualifiedName | 
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.  | 
      
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.  | 
      
Name
Gets the member's unqualified name.
Declaration
public UnqualifiedName Name { get; }
  Property Value
| Type | Description | 
|---|---|
| UnqualifiedName | 
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.  | 
      
Parent
Gets the parent entity that defines and owns this type.
Declaration
public TypeParent Parent { get; }
  Property Value
| Type | Description | 
|---|---|
| TypeParent | The parent entity.  | 
      
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 SourceInitialize(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.  | 
      
ToString()
Declaration
public override string ToString()
  Returns
| Type | Description | 
|---|---|
| System.String | 
Overrides
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.  |