Skip to main content

analyze

Function analyze 

Source
pub fn analyze(ast: &Ast) -> Vec<AnalysisError>
Expand description

Run all analysis passes over ast and collect every diagnostic.

All passes always run to completion regardless of errors found by the others; the returned Vec may contain diagnostics from multiple passes.

§Pass order (errors first, then warnings)

Errors: id_decoratorexhaustivenesstypesdead_endmenu_structure (empty menus) → const_reassign

Warnings: top_levellabelsunreachable_labelmenu_structure (single-option) → empty_dialogueduplicate_menu_destoverwritten_assignunused_vardead_branchpossible_typo

Opt-in: loop_detection (emits only for labels decorated with @lint(check_loops))