Companion

object Companion

Types

Link copied to clipboard
object Exceptions

Declarations related to exception objects.

Properties

Link copied to clipboard

Answer the metatype for all object types. This is just an instance meta on the mostGeneralObjectType.

Link copied to clipboard

Answer the top (i.e., most general) object type.

Link copied to clipboard

A canonical mapping of all object types that have become shared. Without too much runtime cost, this should reduce the memory footprint, as well as improve the efficiency of the VettingsCache, stored inside each ObjectDescriptor that has been compared against a shared object type.

Functions

Link copied to clipboard

Create a mutable object type using the provided ObjectLayoutVariant, but without initializing its fields. The caller is responsible for initializing the fields before use.

Link copied to clipboard
fun getFieldType(self: AvailObject, slotIndex: Int): AvailObject

Extract the field type at the specified slot index.

Link copied to clipboard

Answer the set of named base types for the specified user-defined object type.

Link copied to clipboard

Answer information about the user-assigned name of the specified user-defined object type.

Link copied to clipboard
fun namesForType(anObjectType: A_Type): A_Set

Answer the user-assigned names of the specified user-defined object type.

Link copied to clipboard

Create an object type using the given A_Map from A_Atoms to types.

Link copied to clipboard

Create an object type from the specified A_Tuple.

Link copied to clipboard
fun removeNameFromType(aString: A_String, anObjectType: A_Type)

Remove a type name from the specified user-defined object type. If the object type does not currently have the specified type name, or if this name has already been removed, do nothing.

Link copied to clipboard
fun setNameForType(anObjectType: A_Type, aString: A_String, allowSpecialAtomsToHoldName: Boolean)

Assign a name to the specified object type. If the only field key A_Atoms in the object type are special atoms, then the name will not be recorded (unless allowSpecialAtomsToHoldName is true, which is really only for naming special object types like Exceptions.exceptionType). Note that it is technically legal for there to be multiple names for a particular object type, although this is of questionable value.

Link copied to clipboard

Produce the given object type's ObjectLayoutVariant's variantId.