1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Intermediate representation for FFI code generation.
//!
//! The IR pipeline converts parsed Rust API definitions into target-language source code
//! in two stages:
//!
//! 1. [`build_contract`] scans a `Module` and produces an [`FfiContract`] containing
//! every record, enum, class, callback, and function the crate exports.
//!
//! 2. [`Lowerer`] takes that contract and produces an [`AbiContract`] where every type
//! has been resolved to its wire layout and every function has concrete parameter
//! strategies and read/write operation sequences.
//!
//! Backends in [`render`](crate::render) consume the [`AbiContract`] and emit source code.
//! They never see [`CodecPlan`], which stays internal to the lowering step.
pub use build_contract;
pub use *;
pub use *;
pub use *;
pub use *;
pub use Lowerer;
pub use *;
pub use *;
pub use *;
pub use ;
pub use *;