pub struct LoadedFile {
pub path: PathBuf,
pub cst: LoadedCst,
pub origin: FileOrigin,
pub version: RustyfiVersion,
}Expand description
One parsed file in a loaded program.
Fields§
§path: PathBufCanonicalized path to the file on disk.
cst: LoadedCstThe file’s parsed concrete syntax tree, tagged by grammar generation;
every consumer matches on the variant. See LoadedCst.
origin: FileOriginWhere this file came from (FileOrigin::Local for Legacy files and
Envelopes-mode locals; FileOrigin::Envelope for deps-config
envelope sources). Additive metadata — no consumer reads it yet.
version: RustyfiVersionThe RustyfiVersion grammar this SPECIFIC file was parsed under —
always matches cst’s variant (V0_0 <-> LoadedCst::V0_0, V0_1
<-> LoadedCst::V0_1). Cross-version import: under LoadMode:: Envelopes and under a LoadOptions { version: V0_0, .. } Legacy
load, every file in one LoadedProgram shares one version (the
load’s opts.version). Only a LoadOptions { version: V0_1, mode: Legacy, .. } load can produce a MIXED-version files list:
load_legacy’s worklist (see its doc comment) per-file-detects a
V0_0 dependency via the per-file version-detection rule below, so a
V0_1 document can @require: a frozen V0_0 package.