abstract const class sys::Enum

sys::Obj
  sys::Enum

Source

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.

compare

virtual override Int compare(Obj obj)

Source

Compare based on ordinal value.

equals

virtual override Bool equals(Obj? obj)

Source

Enums are only equal if same instance using ===.

name

Str name()

Source

Get the programatic name for this enum.

ordinal

Int ordinal()

Source

Return ordinal value which is a zero based index into values.

toStr

virtual override Str toStr()

Source

Always returns name().