Skip to main content

Module resolve

Module resolve 

Source
Expand description

Resolution: link references to definitions, producing cross-file edges.

A Resolver takes per-file FileFacts and returns a resolved CodeGraph. The trait is the tier seam: every resolver emits the same schema, tagging each edge with a Confidence. code2graph ships a fast, broad SymbolTableResolver (Tier A — name/scope matching across all languages); a precise stack-graphs resolver (Tier B) can slot in behind the same trait per language without changing the output shape.

Re-exports§

pub use conformance::ConformanceResolver;
pub use external::ExternalResolver;
pub use ffi_bridge::FfiBridgeResolver;
pub use layered::LayeredResolver;
pub use normalized_name::NormalizedNameResolver;
pub use scope_graph::ScopeGraphResolver;
pub use symbol_table::SymbolTableResolver;

Modules§

conformance
Conformance resolver: inherited-member recall over the type hierarchy.
external
SCA-reachability resolver: unresolved calls into dependency code.
ffi_bridge
FFI-bridge resolver — links cross-language call sites to FFI exports.
layered
LayeredResolver — unions multiple resolvers into one dense-by-default graph, deduplicating edges by confidence so the highest-precision resolution always wins, while distinct provenances at the same confidence tier are both preserved.
normalized_name
Lowest-tier recall resolver: case-folded name matching.
scope_graph
Tier-B scope-aware resolver — precise resolution via lexical scopes.
symbol_table
Tier A resolver: fast, broad, name/scope based.

Structs§

FileSubgraph
The resolution facts for ONE file, isolated from all other files.
IncrementalGraph
Incremental Tier-B resolution store. Holds one isolated subgraph per file plus a global definition index, so re-extracting a single changed file rebuilds only that file’s subgraph — never the whole graph — while graph stitches the current cross-file edges on demand.

Traits§

Resolver
Links references to definitions. Pure: no I/O, deterministic.