use brink_ir::suppressions::Suppressions;
use brink_ir::{Block, Diagnostic, HirFile, Knot, SymbolManifest};
use brink_syntax::Parse;
use rowan::GreenNode;
use crate::knot_cache::KnotEntry;
#[expect(
dead_code,
reason = "fields used for caching; consumers will read them"
)]
pub(crate) struct TopLevelEntry {
pub green_children: Vec<GreenNode>,
pub root_content: Block,
pub top_level_knots: Vec<Knot>,
pub manifest: SymbolManifest,
pub diagnostics: Vec<Diagnostic>,
}
#[expect(
dead_code,
reason = "fields used for caching; consumers will read them"
)]
pub(crate) struct FileState {
pub source: String,
pub parse: Parse,
pub knot_entries: Vec<KnotEntry>,
pub top_level: TopLevelEntry,
pub hir: HirFile,
pub manifest: SymbolManifest,
pub diagnostics: Vec<Diagnostic>,
pub suppressions: Suppressions,
}