facet_generate 0.16.0

Generate Swift, Kotlin and TypeScript from types annotated with `#[derive(Facet)]`
Documentation
//! Kotlin code generation — the canonical target-language implementation.
//!
//! This module translates a [`Registry`](crate::Registry) of reflected type
//! definitions into idiomatic Kotlin source code. It serves as the reference
//! implementation for adding new target languages.
//!
//! # Submodules (in pipeline order)
//!
//! 1. **[`generator`]** — Top-level orchestrator. [`CodeGenerator`] implements
//!    [`CodeGen`](super::CodeGen) to produce a complete Kotlin source file from a
//!    registry. It resolves qualified type names against the configuration
//!    (external packages, namespaces) and then delegates writing to the emitter
//!    layer.
//!
//! 2. **[`emitter`]** — AST-to-source rendering. Implements
//!    [`Emitter<Kotlin>`](super::Emitter) for each AST node type
//!    ([`Module`](super::module::Module), [`Container`](super::Container),
//!    `Named<Format>`, `Format`, `Doc`). This is where the Kotlin language
//!    mapping lives: type names, serialization annotations, `data class` /
//!    `sealed interface` / `enum class` selection, and bincode
//!    serialize/deserialize method generation. Feature helpers (BigInt, ListOfT,
//!    etc.) are embedded as `include_bytes!` snippets and emitted as needed.
//!
//! 3. **[`installer`]** — Project scaffolding. [`Installer`] implements
//!    [`SourceInstaller`](super::SourceInstaller) to write a ready-to-build
//!    Kotlin project: it copies serde/bincode runtime sources, splits the
//!    registry by namespace into per-module files, and generates a
//!    `build.gradle.kts` manifest.

mod emitter;
mod generator;
mod installer;

pub use generator::CodeGenerator;
pub use installer::Installer;