You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(ffi): extract ABI registry into a dedicated ffi module
Move per-ABI classification logic out of the extractors and the bridge
resolver into a new crate-private `ffi` module. Each ABI now lives in
its own spec file (`ffi/c.rs`, `ffi/jni.rs`, `ffi/python.rs`,
`ffi/wasm.rs`, `ffi/node_api.rs`), with a thin `ffi/spec.rs` wiring
them into the three shared entry-points consumed by the rest of the
crate (`rust_exports`, `c_name_export_abi`, `consumers`).
Consequences:
- `src/extract/rust.rs`: inline attribute-parsing block replaced by a
call to `ffi::rust_exports`; `first_quoted` helper removed.
- `src/extract/c.rs`: JNI hard-code replaced by `ffi::c_name_export_abi`.
- `src/graph/types.rs`: `FfiAbi::consumers` method removed; the same
data now lives in the per-ABI spec files.
- `src/resolve/ffi_bridge.rs` (flat file) replaced by
`src/resolve/ffi_bridge/` directory (`mod.rs` + `resolver.rs`).
Adding an ABI now requires one spec file plus one `SPECS` entry — no
growing match arms in extractors or inline resolver blocks.
0 commit comments