Библиотека (основной код которой в common и она должна работать и в jvm и в js желательно) объявляет интерфейс Entity. Библиотека используется в проекте, который объявляет кучу классов-наследников Entity, иногда у них так же есть наследники.
В библиотеке объявлен класс Result в свойстве которого может быть любой наследник Entity.
Как я понимаю, мне надо
https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/polymorphism.md#serializing-interfaces и для этого надо всех наследников указывать вот в такой конструкции
val module = SerializersModule {
polymorphic(Project::class) {
subclass(OwnedProject::class)
}
}
Что ну ... не очень удобно чтоли. Мне посоветовали, что можно достать все классы через kapt, в котором я как то сходу не разобрался. Можете ткнуть менять в капт или может есть еще вариант?