Я не могу больше скомпилировать после обновления до Kotlin 1.3.0 ( работает в 1.2.71 ) при попытке использовать by lazy
и object
. Кажется, это происходит только в моем проекте. Демонстрационный проект работает нормально.
Я хочу добавить интерфейс к данному классу и лениво загрузить его значения.
Я создал небольшой пример, который не работает в моем проекте , но отлично работает в любом другом :
open class Foo
interface Bar {
val lazyLoadedString : String
}
class Test {
private val foo by lazy {
object : Foo(), Bar {
override val lazyLoadedString = "Demo"
}
}
}
Как только я объединю object
и by lazy
, он больше не может скомпилироваться и выдает следующую ошибку. Использование каждого по отдельности работает.
Test.java: 9: ошибка: не удается найти символ
закрытый финал my.package.Test $ foo $ 2 $ 1 getFoo ()
символ: класс Test $ foo $ 2 $ 1
Расположение: пакет my.package
Если присмотреться, вы увидите, что сгенерированный файл Java показывает эту ошибку, а не код kotlin.
Есть идеи по этому поводу?