Skip to main content

pedant_types/resolution/
mod.rs

1//! The language-neutral symbol-resolution result schema.
2//!
3//! A resolution report says which source definition each reference in a
4//! repository denotes, and how certain that answer is. It contains no parser
5//! and no filesystem behavior: a producer states facts through
6//! [`ResolutionReportBuilder`], and every report — built in process or decoded
7//! from JSON — passes one shared validator before it exists.
8//!
9//! Identifiers are dense positions in sorted slices, so a consumer indexes the
10//! report directly, and reordering the filesystem walk that produced it cannot
11//! change a single identifier.
12
13mod builder;
14mod definition;
15mod error;
16mod finish;
17mod handle;
18mod id;
19mod record;
20mod reference;
21mod report;
22mod span;
23mod unit;
24mod validate;
25mod wire;
26mod wire_field;
27mod wire_reject;
28mod wire_sequence;
29
30pub use builder::{ResolutionReportBuilder, ResolutionReportLimits};
31pub use definition::{SymbolDefinition, SymbolKind};
32pub use error::{ReportCollection, ResolutionReportError};
33pub use handle::{CandidateInput, DefinitionHandle, ReferenceHandle, ResolutionUnitHandle};
34pub use id::{DefinitionId, ReferenceId, ResolutionUnitId};
35pub use record::{ResolutionCandidate, ResolutionCertainty, ResolutionGap, ResolutionRecord};
36pub use reference::{ReferenceKind, SymbolReference};
37pub use report::{ResolutionReport, ResolutionTier};
38pub use span::{SourcePosition, SourceSpan};
39pub use unit::ResolutionUnit;