enum class Order { FIRST, SECOND, THIRD } enum class Planet(m: Double, r: Double) { EARTH { override fun sayHello() }, MERCURY { override fun sayHello() }, VENERA { override fun sayHello() }; abstract fun sayHello() companion object { const val G: Double } internal val r: Double val g: Double val m: Double } enum class PseudoInsn(signature: String) { AS_NOT_NULL, FAKE_ALWAYS_FALSE_IFEQ, FAKE_ALWAYS_TRUE_IFEQ, FIX_STACK_BEFORE_JUMP, RESTORE_STACK_IN_TRY_CATCH, SAVE_STACK_BEFORE_TRY, STORE_NOT_NULL; fun emit() val signature: String }