type

Enum

abstract const 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.

methods

compare

Compare based on ordinal value.

equals

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

name

Get the programatic name for this enum.

ordinal

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

toStr

Always returns name().

Slot Details

compare

virtual override Int compare(Obj obj)

Compare based on ordinal value.

equals

virtual override Bool equals(Obj? obj)

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

name

Str name()

Get the programatic name for this enum.

ordinal

Int ordinal()

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

toStr

virtual override Str toStr()

Always returns name().