Class CorlibTypeEnvironment
A type environment that extracts relevant BCL types from a single core library based on their names.
Inherited Members
Namespace: Flame.Clr
Assembly: Flame.Clr.dll
Syntax
public sealed class CorlibTypeEnvironment : TypeEnvironment
Constructors
| Improve this Doc View SourceCorlibTypeEnvironment(IAssembly)
Creates a type system based on a core library assembly.
Declaration
public CorlibTypeEnvironment(IAssembly corlib)
Parameters
Type | Name | Description |
---|---|---|
IAssembly | corlib | The core library, which supplies the types in the type system. |
CorlibTypeEnvironment(ReadOnlyTypeResolver)
Creates a type system based on a core library type resolver.
Declaration
public CorlibTypeEnvironment(ReadOnlyTypeResolver corlibTypeResolver)
Parameters
Type | Name | Description |
---|---|---|
ReadOnlyTypeResolver | corlibTypeResolver | A type resolver for the core library, which supplies the types in the type system. |
Properties
| Improve this Doc View SourceCapturedException
Gets the canonical type of a captured exception in this environment.
Declaration
public override IType CapturedException { get; }
Property Value
Type | Description |
---|---|
IType | The captured exception type. |
Overrides
| Improve this Doc View SourceChar
Gets the character type in this type environment.
Declaration
public override IType Char { get; }
Property Value
Type | Description |
---|---|
IType | The character type. |
Overrides
| Improve this Doc View SourceCorlibTypeResolver
Gets a type resolver for the core library from which types are resolved.
Declaration
public ReadOnlyTypeResolver CorlibTypeResolver { get; }
Property Value
Type | Description |
---|---|
ReadOnlyTypeResolver | The core library type resolver. |
FieldToken
Gets the canonical type of a field token in this environment, if there is such a type.
Declaration
public override IType FieldToken { get; }
Property Value
Type | Description |
---|---|
IType | The field token type. |
Overrides
| Improve this Doc View SourceFloat32
Gets the 32-bit floating point type in this type environment.
Declaration
public override IType Float32 { get; }
Property Value
Type | Description |
---|---|
IType | A 32-bit floating point type. |
Overrides
| Improve this Doc View SourceFloat64
Gets the 64-bit floating point type in this type environment.
Declaration
public override IType Float64 { get; }
Property Value
Type | Description |
---|---|
IType | A 64-bit floating point type. |
Overrides
| Improve this Doc View SourceMethodToken
Gets the canonical type of a method token in this environment, if there is such a type.
Declaration
public override IType MethodToken { get; }
Property Value
Type | Description |
---|---|
IType | The method token type. |
Overrides
| Improve this Doc View SourceNaturalInt
Gets the natural signed integer type in this type environment.
Declaration
public override IType NaturalInt { get; }
Property Value
Type | Description |
---|---|
IType | The natural signed integer type. |
Overrides
| Improve this Doc View SourceNaturalUInt
Gets the natural unsigned integer type in this type environment.
Declaration
public override IType NaturalUInt { get; }
Property Value
Type | Description |
---|---|
IType | The natural unsigned integer type. |
Overrides
| Improve this Doc View SourceObject
Gets the root type for this environment, if there is a root type.
Declaration
public override IType Object { get; }
Property Value
Type | Description |
---|---|
IType | The root type. |
Overrides
| Improve this Doc View SourceString
Gets the character string type in this type environment.
Declaration
public override IType String { get; }
Property Value
Type | Description |
---|---|
IType | The character string type. |
Overrides
| Improve this Doc View SourceSubtyping
Gets the subtyping rules for this type environment.
Declaration
public override SubtypingRules Subtyping { get; }
Property Value
Type | Description |
---|---|
SubtypingRules | The subtyping rules. |
Overrides
| Improve this Doc View SourceTypeToken
Gets the canonical type of a type token in this environment, if there is such a type.
Declaration
public override IType TypeToken { get; }
Property Value
Type | Description |
---|---|
IType | The type token type. |
Overrides
| Improve this Doc View SourceVoid
Gets the Void type in this type environment.
Declaration
public override IType Void { get; }
Property Value
Type | Description |
---|---|
IType | The Void type. |
Overrides
Methods
| Improve this Doc View SourceTryMakeArrayType(IType, Int32, out IType)
Tries to create an array type with a particular element type and rank.
Declaration
public override bool TryMakeArrayType(IType elementType, int rank, out IType arrayType)
Parameters
Type | Name | Description |
---|---|---|
IType | elementType | The type of value to store in the array. |
System.Int32 | rank | The rank of the array, that is, the number of dimensions in the array. |
IType | arrayType | An array with the specified element type and rank. |
Returns
Type | Description |
---|---|
System.Boolean |
|
Overrides
| Improve this Doc View SourceTryMakeSignedIntegerType(Int32, out IType)
Tries to create a signed integer type with a particular number of bits of storage.
Declaration
public override bool TryMakeSignedIntegerType(int sizeInBits, out IType integerType)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | sizeInBits | The size in bits of the integer type to create. |
IType | integerType | The integer type. |
Returns
Type | Description |
---|---|
System.Boolean |
|
Overrides
| Improve this Doc View SourceTryMakeUnsignedIntegerType(Int32, out IType)
Tries to create an unsigned integer type with a particular number of bits of storage.
Declaration
public override bool TryMakeUnsignedIntegerType(int sizeInBits, out IType integerType)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | sizeInBits | The size in bits of the integer type to create. |
IType | integerType | The integer type. |
Returns
Type | Description |
---|---|
System.Boolean |
|