Does anyone know how kotlinx.serialization works internally? The class structure introspector to be more specific

I’m in a project where I need to introspect the structure of a serializable class, find the fields, it’s types, and additional metadata (which I know Kotlinx.serialization is aware of). I’ve been looking in the source but couldn’t figure it out yet, maybe someone could please explain me what is the process that kotlinx.serialization does to parse a class and be aware of it’s structure?

I know this job is already done, I’m avoiding re-doing the same thing again with bare reflection

submitted by /u/_nathata
[link] [comments]