Types are split into two separate families: value types and object types. A special {@link UnknownType} exists to represent a wildcard type on whichno information can be gathered. In particular, it can assign to everyone, is a subtype of everyone (and everyone is a subtype of it).
If you remove the {@link UnknownType}, the set of types in the type system forms a lattice with the {@link #isSubtype} relation defining the partialorder of types. All types are united at the top of the lattice by the {@link AllType} and at the bottom by the {@link NoType}.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|