Package-level declarations

Types

Link copied to clipboard

The default SnapshotExtractor: a vendored, runtime SerialDescriptor walk (design §4, spike #6). It reads compatibility-bearing facts straight off the compiled descriptor — the highest-fidelity source, seeing @SerialName, isElementOptional, nullability, @JsonNames, enum values, sealed subtypes, and SerializersModule-resolved open polymorphism.

Link copied to clipboard

How the set of checked root types is decided when none are listed explicitly (issue #115). Filtering applies to scanned types only: classpath-manifest entries and explicit type lists are deliberate acts and always win.

Link copied to clipboard

Reads the compatibility-bearing settings straight off a user's real Json instance (Json.configuration) into a SnapshotConfig (design §6).

Link copied to clipboard

The program the Gradle serialkompatExtract task launches on the target project's runtime classpath (design §4). Running on that classpath is what lets it Class.forName the project's @Serializable types, obtain their real compiled serializers, and walk the descriptors at highest fidelity.

Link copied to clipboard

Builds a Snapshot from compiled @Serializable SerialDescriptors — the anti-corruption boundary between kotlinx-serialization and the pure engine. The rest of the tool depends only on Snapshot, so a future compiler-plugin extractor (Approach C) can drop in behind this interface without touching the differ, classifier, or rules (design §3–§4).