Используя Gson, я хочу десериализовать класс Kotlin, который содержит ленивое свойство.
С Kotlin 1.0 beta 4 я получаю следующую ошибку во время десериализации объекта:
Caused by: java.lang.InstantiationException: can't instantiate class kotlin.Lazy
С Kotlin 1.0 beta 2 я использовал знак @Transient annotaiton, чтобы сообщить Gson пропустить его. С бета-версией 4 это больше невозможно, так как аннотация вызывает ошибку компиляции.
This annotation is not applicable to target 'member property without backing field'
Я не могу понять, как это исправить. Любые идеи?
Изменить: свойство lazy сериализуется в JSON ("my_lazy_prop$delegate":{}
), но это не то, что я хочу, поскольку оно вычисляется из других свойств. Я полагаю, что если я найду способ предотвратить сериализацию свойства, будет устранена авария десериализации.