Skip to main content

Crate prebindgen_flat

Crate prebindgen_flat 

Source
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-up fold_shape combinator.
types_util
Shared syn::Type shape 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 in core::unfold, core::expand, and the jnigen adapter.