#[non_exhaustive]pub struct HirFile {
pub items: Vec<HirItem>,
pub scope_graph: ScopeGraph,
pub stash_graph: StashGraph,
pub compile_environment: CompileEnvironment,
}Expand description
HIR for one parsed file.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.items: Vec<HirItem>Items lowered in stable depth-first source order.
scope_graph: ScopeGraphScope and binding graph lowered beside HIR items.
stash_graph: StashGraphPackage stash graph lowered beside HIR items.
compile_environment: CompileEnvironmentCompile-environment facts lowered beside HIR items.
Implementations§
Source§impl HirFile
impl HirFile
Sourcepub fn compile_effects(&self) -> Vec<CompileEffect>
pub fn compile_effects(&self) -> Vec<CompileEffect>
Project compile-time effects using the default model metadata.
This is a compiler-substrate proof surface only. It links existing HIR facts to the state mutations that produced them without changing LSP provider behavior.
Sourcepub fn compile_effects_with_source_hash(
&self,
source_hash: Option<String>,
) -> Vec<CompileEffect>
pub fn compile_effects_with_source_hash( &self, source_hash: Option<String>, ) -> Vec<CompileEffect>
Project compile-time effects and attach a caller-supplied source hash.
Parser-core does not own a source database, so persisted workspace
callers can pass the source hash they use for freshness. Fixture-only
callers may use HirFile::compile_effects.
Sourcepub fn framework_facts(&self) -> FrameworkFactGraph
pub fn framework_facts(&self) -> FrameworkFactGraph
Project framework-adapter facts using the default registry.
This is a compiler-substrate proof surface only. It does not change LSP provider behavior.