Skip to main content

analyse_functions

Function analyse_functions 

Source
pub fn analyse_functions<F>(
    func: &mut HirFunction,
    env: &mut Environment,
    debug_logger: &mut F,
) -> Result<(), CompilerDiagnostic>
Expand description

Analyse all nested function expressions and object methods in func.

For each inner function found, runs lower_with_mutation_aliasing to infer its aliasing effects, then resets context variable mutable ranges.

The optional debug_logger callback is invoked after processing each inner function, receiving (&HirFunction, &Environment) so the caller can produce debug output. This mirrors the TS fn.env.logger?.debugLogIRs call inside lowerWithMutationAliasing.

Corresponds to TS analyseFunctions(func: HIRFunction): void.