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. |