https://kotlinlang.org logo
#russian
Title
# russian
n

nardinroot

04/10/2018, 9:41 PM
Думаю вопрос типовой (может даже тупой) но все перерыл немогу найти ответа 😞 Проблема со свойствами начинающимися с "is" определенными в интерфейсе
Copy code
interface I1 {
    /*@set:JvmName("getIsRequired")
    @get:JvmName("setIsRequired")*/
    var isRequired: Boolean

    var test: Boolean
}

class C1 : I1 {
    override var isRequired: Boolean = false

    override var test: Boolean = false

    @set:JvmName("getIsRequired1")
    @get:JvmName("setIsRequired1")
    var isRequired1: Boolean = false
}
JvmName - не получается применить в интефейсе (закоментированный код). И в java я получаю
isRequired
и
setRequired
а мне нужно
getIsRequired
и
setIsRequired
i

ilya.gorbunov

04/10/2018, 9:55 PM
Видимо пока придется объявить геттер и сеттер как отдельные функции, если обязательно нужны такие имена. Похожий вопрос обсуждается в https://youtrack.jetbrains.com/issue/KT-20068
n

nardinroot

04/10/2018, 10:06 PM
ух, спасибо за столь быстрый ответ. Да было ощущение, что неспроста так оно работает.
3 Views