Skip to main content

analyze_program

Function analyze_program 

Source
pub fn analyze_program(resolved_fns: &[&ResolvedFnDef]) -> ProgramShape
Expand description

Build a ProgramShape over the post-resolver fn snapshot in one pass. Caller picks which fns participate (typically every ResolvedTopLevel::FnDef of the entry module, sometimes plus dep-module fns when a cross-module analysis needs the broader view).

Two-pass internally: facts first (needed to build the call graph for SCC detection), then classify with the facts + SCC ready. O(N) over fn bodies, O(N+E) Tarjan over the call graph; the per-compilation cache budget the peer-review pinned.