Expand description
Crate zerodds-idl-lower. Safety classification: SAFE.
Lowers the IDL CST into the common AST: scopes and name binding, resolution, and the IDL rules the model cannot express structurally.
A name that cannot be resolved yet becomes a pending reference rather than an error — the model is built for partial knowledge, and forward declarations depend on it.
§Spec
docs/specs/zerodds-idl-frontend-1.0.md§4 (lowering), §5 (completion), §6 (validation).docs/specs/zerodds-ast-1.0.md§2 (references), §5 (transactions).
§Layer position
Layer 2 of the frontend — over zerodds-idl-parse and zerodds-ast.
Re-exports§
pub use complete::hashed_member_id;pub use scope::ScopeStack;pub use validate::rule_name;
Modules§
- complete
- Completion by specification rule. Spec §5.
- scope
- Scopes and name binding. Spec §4.
- validate
- The IDL rules the model cannot express structurally. Spec §6.
Structs§
Enums§
- Hashed
IdCounter - Whether a
@hashidmember advances the sequential counter. - Hashed
Name Spelling - Which spelling of an escaped name a member-id hash reads.
- KeyOn
Union Discriminator - Whether
@keyon a union discriminator is carried into the model. - Name
OfThe Enclosing Scope - Whether a declaration may reuse the name of its immediate scope.
Functions§
- lower
- Lower a parsed file into a fresh model.
- lower_
into - Lower a parsed file into an existing model.
- lower_
into_ with - Lower a parsed file into an existing model, deciding what the source left open.
- lower_
with - Lower a parsed file into a fresh model, deciding what the source left open.
- verbatim_
placement - The
@verbatimplacement a name stands for.