Expand description
§prebindgen-flat
The flat model prebindgen’s registry pipeline is built over.
flat::Flat::builder parses (syn::Item, [SourceLocation](prebindgen::SourceLocation))
records — read through prebindgen::Source — into one flat
namespace — the language-agnostic index of everything a #[prebindgen]
source crate declared. The Registry-based pipeline that resolves a binding
over this model — type conversion, boundary expansion, Rust emission —
ships in the separate
prebindgen-registry crate, which
re-exports this crate’s modules (flat, shape, types_util) at its own
root so a language adapter names one crate for the whole pipeline.
Secondary artifacts such as C headers or Kotlin sources are produced by the
language adapter after the Rust registry is resolved; see the separate
prebindgen-c and prebindgen-jni crates.
Re-exports§
pub use crate::flat::emit::Emit;pub use self::flat::Element;pub use self::flat::Flat;pub use self::flat::TypeKey;pub use self::flat::TypeKeyParseError;
Modules§
- flat
- The prebindgen source language: one parser from captured records to
Elements. - shape
Shape<N>— a leaf wrapped in an ordered stack of structural layers (Option,Vec), with a bottom-upfold_shapecombinator.- types_
util - Shared
syn::Typeshape utilities — the Option/Vec/reference peelers and short-name helpers every pipeline stage needs. One definition here replaces the per-module copies that used to live incore::unfold,core::expand, and the jnigen adapter.