ANY

ANY(TOP, TypeTag.ANY_TYPE_TAG, TypeTag.TOP_TAG)

This is the second-most general type in Avail's type lattice. It is the only direct descendant of top (⊤), and all types except ⊤ are subtypes of it. Like ⊤, all Avail objects are instances of ANY. Technically there is also a nil, but that is only used internally by the Avail machinery (e.g., the value of an unassigned variable) and can never be manipulated by an Avail program.

Properties

Link copied to clipboard
val instanceTag: TypeTag
Link copied to clipboard
val intersectionTypes: Array<A_Type?>

An array of A_Types, where the entries correspond to ordinals of other Types, and hold the intersection of that type and the current type.

Link copied to clipboard
val name: String
Link copied to clipboard
lateinit val o: AvailObject

Create the A_Type associated with this Types entry.

Link copied to clipboard
val ordinal: Int
Link copied to clipboard
val parent: PrimitiveTypeDescriptor.Types?
Link copied to clipboard
val superTests: BooleanArray

A boolean array where the entries correspond to ordinals of other Types. They are true precisely when the type with that ordinal is a supertype of the current type.

Link copied to clipboard
val typeTag: TypeTag
Link copied to clipboard
val unionTypes: Array<A_Type?>

An array of A_Types, where the entries correspond to ordinals of other Types, and hold the unions of that type and the current type.