Обратный экземпляр enum непосредственно без класса в Котлине

В Kotlin я не могу напрямую ссылаться на экземпляры перечисления, когда E находится в том же файле, что и код, в котором я использую его экземпляры:

enum class E { A, B } 

Что я хочу сделать:

 val e = A 

Что я могу сделать:

 val e = EA 

Это возможно?

Да, это возможно!

В Kotlin экземпляры enum можно импортировать, как и большинство других вещей, поэтому, если enum class E находится в пакете по умолчанию, вы можете просто добавить import E.* в начало исходного файла, который хотел бы использовать его экземпляры напрямую. Например:

 import E.* val a = A // now translates to EA 

Каждый экземпляр можно также импортировать отдельно, а не просто импортировать все в перечисление:

 import EA import EB //etc... 

Это также работает, даже если перечисление объявлено в том же файле:

 import E.* enum class E{A,B} val a = A