Skip to main content

cpp_reconcile_group

Function cpp_reconcile_group 

Source
pub fn cpp_reconcile_group(
    cpp: &dyn CppSource,
    key: &CppReconcileGroupKey,
    candidates: &CppReconcileCandidates,
    keep_going: &dyn Fn() -> bool,
    on_candidate: &dyn Fn(),
) -> Option<HashMap<String, Arc<CppReconciledDefinitionIndex>>>
Expand description

Reconcile every candidate one group key admits, grouped by the canonical fq_name each re-keyed definition belongs under.

Deliberately not a workspace-wide index: building one would need a full declaration scan, and a warm forward lookup must not trigger one (tests/analyzer_persistence.rs’s candidate-bounded contract). Instead each group reconciles only the candidates the persisted terminal identifier index already offers, which is the same bounded lookup the ordinary resolution path uses.

A definition whose reconciled identity equals its provisional one (the overwhelming majority, including genuine ns1::ns2::Klass::method namespace chains) contributes nothing.

None means keep_going went false mid-scan. Nothing may be memoized then; see cpp_reconcile_candidates.