Class MutableTypeEnvironment
A type environment that wraps an inner type environment that can be changed at will.
The main use-case for this kind of environment is a situation where the type environment for an assembly is defined by that assembly itself but the assembly does not allow for the type environment to change.
Inherited Members
Namespace: Flame.TypeSystem
Assembly: Flame.dll
Syntax
public sealed class MutableTypeEnvironment : TypeEnvironment
  Constructors
| Improve this Doc View SourceMutableTypeEnvironment(TypeEnvironment)
Creates a mutable type environment.
Declaration
public MutableTypeEnvironment(TypeEnvironment innerEnvironment)
  Parameters
| Type | Name | Description | 
|---|---|---|
| TypeEnvironment | innerEnvironment | An inner environment to forward requests to.  | 
      
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 SourceFieldToken
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 SourceInnerEnvironment
Gets or sets the inner environment, to which all requests are forwarded by this type environment.
Declaration
public TypeEnvironment InnerEnvironment { get; set; }
  Property Value
| Type | Description | 
|---|---|
| TypeEnvironment | The inner type environment.  | 
      
MethodToken
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 | 
  |