plsql_ir/table_stub.rs
1//! Layering shim for fact emission (support).
2//!
3//! `plsql-symbols::DeclTable` is the real declaration source,
4//! but `plsql-symbols` depends on `plsql-ir` — not the reverse.
5//! To let `fact_emit` pull declarations without inverting the
6//! crate layer order, the engine wiring layer implements this
7//! tiny [`DeclLike`] trait over whatever declaration container it
8//! holds. Keeps the dependency arrow pointing the right way.
9
10use crate::DeclId;
11
12/// Anything that can yield `(DeclId, logical_id)` pairs.
13pub trait DeclLike {
14 fn iter_decls(&self) -> Vec<(DeclId, String)>;
15}