Skip to main content

parsed_doc

Function parsed_doc 

Source
pub fn parsed_doc<'db>(db: &'db dyn Database, file: SourceFile) -> ParsedArc
Expand description

Parse the file’s source text. no_eq because ParsedArc has no structural equality — invalidation is driven entirely by input changes, not by comparing the new value against the old one.

Phase F: lru = 2048 bounds the number of cached ASTs. Parsed docs own bumpalo arenas and are the largest memoized values in the db; dropping older entries caps resident memory at roughly 2048 × avg_ast_size. Re-reads after eviction reparse from the live SourceFile::text input (cheap Arc<str> clone). This replaces the hand-written DocumentStore::indexed_order LRU that used to bound Document entries.