Skip to main content

analyse_project

Function analyse_project 

Source
pub fn analyse_project(
    roots: &Roots,
    overlay: &HashMap<PathBuf, String>,
    schema_lock: &SchemaLock,
) -> ProjectAnalysis
Expand 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.