Котлин Аннотация IntDef
У меня есть этот пример кода:
class MeasureTextView: TextView {
constructor(context: Context?) : super(context)
constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes)
companion object{
val UNIT_NONE = -1
val UNIT_KG = 1
val UNIT_LB = 0
}
fun setMeasureText(number: Float, unitType: Int){
val suffix = when(unitType){
UNIT_NONE -> {
EMPTY_STRING
}
UNIT_KG -> {
KG_SUFIX
}
UNIT_LB -> {
LB_SUFIX
}
else -> throw IllegalArgumentException("Wrong unitType passed to formatter: MeasureTextView.setMeasureText")
}
// set the final text
text = "$number $suffix"
}
}
Я хочу иметь возможность использовать во время компиляции функцию автозаполнения в сочетании с аннотацией IntDef, поэтому при вызовеsetMeasureText(...)
статические переменные показаны как параметры аргумента этого метода.
Я искал об этом, и я не мог найти, если Kotlin поддерживает эти аннотации в стиле Java (например, intdef). Итак, я попробовал это, и сделал аннотацию для этого, но это не будет отображаться в автозаполнении.
Мой вопрос: - Поддерживается ли аннотация Java IntDef в Kotlin (последняя версия)
Если это так, как я могу включить ON в Android Studio IDE (если он работает, я не могу заставить компилятор предложить это).
Если это не так, есть ли какой-либо Kotlin-способ сделать эту проверку времени компиляции