altavir
07/15/2021, 9:21 AMkotlinx.serialization.MissingFieldException: Field 'properties' is required for type with serial name 'solid.box', but it was missing.
The propertiese
field has default null value and is declared like
public var properties: Config? = null
protected set
The error is thrown when trying deserialize descendant that has the default null value. Seems like a bug to me.altavir
07/15/2021, 9:35 AMaltavir
07/15/2021, 9:37 AMaltavir
07/15/2021, 9:40 AMptsiogas
08/10/2021, 9:13 AMaltavir
08/10/2021, 9:14 AMptsiogas
08/10/2021, 9:17 AMaltavir
08/10/2021, 9:18 AMptsiogas
08/10/2021, 9:26 AMaltavir
08/10/2021, 9:30 AMclass Abstract(val v: Double)
in one module and class class Impl(): Abstract()
in another module.
You mark v
as @Transient
and introduce another class AbstractInMyModule: Abstract
and dublicate the field there (just mirror it from the parent). Then you make Imple():AbstractInMyModule
and it works. I can push the working code later because I planned to work on this problem myself today.
It is a crutch, but you can remove intermediate class later, when the problem is fixed, without breaking the API.ptsiogas
08/10/2021, 9:32 AMaltavir
08/10/2021, 9:32 AMptsiogas
08/10/2021, 9:37 AMptsiogas
08/10/2021, 10:28 AM@Transient
variable in class Impl()
the workaround doesn’t work anymore.altavir
08/10/2021, 10:29 AM