Enum
const abstract class Enum : Obj
Enum is the base class for enum classes defined using the enum keyword. An enum models a fixed range of discrete values. Each value has an Int ordinal and a Str name.
Every enum class implicitly has the following slots auto-generated by the compiler:
- a static const field for each name in the enum's range.
- a static field called "vals" which contains the list of discrete values indexed by ordinal.
- a static method called "fromStr" which maps an enum name to an enum instance
See Enums for details.
Always returns name()
Compare based on ordinal value
Enums are only equal if same instance using ===
Get the programatic name for this enum
Return ordinal value which is a zero based index into values
virtual Int compare(Obj obj)
Compare based on ordinal value.
virtual Bool equals(Obj? obj)
Enums are only equal if same instance using ===.
Str name()
Get the programatic name for this enum.
Int ordinal()
Return ordinal value which is a zero based index into values.
virtual Str toStr()
Always returns name().