pub fn phase_test_bodies(
test_groups: &BTreeMap<String, Vec<usize>>,
parsed: &[ParsedFile],
kinds: &BTreeMap<String, UnitKind>,
unit_tables: &HashMap<String, UnitTable>,
exports_visibility: &HashMap<String, HashMap<String, Visibility>>,
unit_consumes: &HashMap<String, Vec<String>>,
unit_consumes_aliases: &HashMap<String, HashMap<String, String>>,
unit_uses: &HashMap<String, Vec<String>>,
errors: &mut Vec<CompileError>,
refs: &mut RefSink,
tys: &Arc<Types>,
) -> HashMap<String, HashMap<String, ResolvedStub>>Expand description
P5.4 (design/tracks/semantics-in-the-checker.md §6): the checking half
of test <target> suite processing — target resolution, duplicate-case-
name detection, stub-clause resolution, and case/property body
type-checking. Formerly Phases 2-4 of bynk-emit’s own process_tests;
Phase 5 (TypeScript emission) stays in
bynk-emit::project::tests_emit::process_tests, which calls this
function for its checking half and then emits only for the targets this
returns — every target this function resolves, has no duplicate case
names, and whose bodies type-check clean is exactly “ready for
emission”. bynk_check::analysis::analyse_project calls this too and
discards the returned map — it never emits, so only the diagnostic/
RefSink side effects matter there. Closes category 7 of
bynk-check/src/analysis.rs’s own residual-gap accounting, alongside
phase_integration_bodies.