summaryrefslogtreecommitdiff
path: root/cli/diagnostics.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/diagnostics.rs')
-rw-r--r--cli/diagnostics.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/cli/diagnostics.rs b/cli/diagnostics.rs
index 846cd7751..0a674a2c4 100644
--- a/cli/diagnostics.rs
+++ b/cli/diagnostics.rs
@@ -11,10 +11,11 @@ use deno_ast::SourcePos;
use deno_ast::SourceRange;
use deno_ast::SourceRanged;
use deno_ast::SourceTextInfo;
-use deno_graph::ParsedSourceStore;
use deno_runtime::colors;
use unicode_width::UnicodeWidthStr;
+use crate::cache::LazyGraphSourceParser;
+
pub trait SourceTextStore {
fn get_source_text<'a>(
&'a self,
@@ -22,14 +23,14 @@ pub trait SourceTextStore {
) -> Option<Cow<'a, SourceTextInfo>>;
}
-pub struct SourceTextParsedSourceStore<'a>(pub &'a dyn ParsedSourceStore);
+pub struct SourceTextParsedSourceStore<'a>(pub LazyGraphSourceParser<'a>);
impl SourceTextStore for SourceTextParsedSourceStore<'_> {
fn get_source_text<'a>(
&'a self,
specifier: &ModuleSpecifier,
) -> Option<Cow<'a, SourceTextInfo>> {
- let parsed_source = self.0.get_parsed_source(specifier)?;
+ let parsed_source = self.0.get_or_parse_source(specifier).ok()??;
Some(Cow::Owned(parsed_source.text_info().clone()))
}
}