Skip to main content

Module graph_support

Module graph_support 

Source
Expand description

The analyzer-resident products C++’s language logic resolves through.

CppAnalyzer owns five moka caches, three Arc<OnceLock<..>> cells and one PoolSafeMemo; every one of them stays in brokk-bifrost-analysis because IAnalyzer::update/update_all rebuild the analyzer wholesale through Self::from_inner. What crosses the crate line is the decision that fills each cell – the builders in crate::hierarchy, crate::identity and crate::imports – plus this trait, which is how a free function reaches back for a memoized product without naming the analyzer type.

The census found no re-entrancy among these accessors, so this is a single tier rather than the two-tier split some fleet languages needed: the #1134 reconciliation reads visible_type_units, which reads include_target_index and the supertrait’s import_statements, and none of those reads back into reconciliation.

Three members are load-bearing beyond their signature:

Traits§

CppSource