pub fn analyse_project(
roots: &Roots,
overlay: &HashMap<PathBuf, String>,
schema_lock: &SchemaLock,
) -> ProjectAnalysisExpand description
The bynk-check-native discovery→parse→resolve→check entry point (P4.1,
#1115) — see this module’s own doc comment for the residual-gap
accounting against bynk-emit’s now-deleted (#1541) analyse_project_with.
Mirrored its call shape exactly where the two overlapped:
BuildTarget::Bundle-equivalent (this entry point has no build target at
all — it never emits), Platform::default().
schema_lock (#2081) is bynk.schema.lock’s content, pre-read by the
caller exactly as bynk check pre-reads it (this crate reads no lock from
disk). Under SchemaLock::On every event is reconciled against it and a
non-additive change, a corrupt lock or a mismatched @schema(N) is
reported as the build reports it; under SchemaLock::Off reconciliation
is skipped. Nothing is written either way.
Identity is project-relative (ADR 0198): a file’s source_path here is
unique across include roots, same as analyse_project_with used to be.