Я провел небольшое исследование, но, похоже, в библиотеке отражений * 1009 это не поддерживается. Фактически, я обнаружил, что линтер даже не правильно предлагает цель аннотации FIELD
для вашей аннотации, если вы даете ей ту, которая не работает для значений Enum, и вместо этого неправильно предлагает автоматически добавить цель CLASS
.
Проблема в том, что значения Enum в основном представляют собой поля c, которые не существуют в Kotlin, за исключением классов Enum. И классы отражения, кажется, не предоставляют способ доступа к этому особому случаю.
Однако я изо всех сил пытаюсь найти вариант использования для аннотаций значений Enum, которые не могут быть решены с помощью свойств в Enum конструктор (ы).
enum class MyEnum(val someConstant: String? = null) {
SomeValue("myConstant")
}