summaryrefslogtreecommitdiff
path: root/cli/lsp/documents.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp/documents.rs')
-rw-r--r--cli/lsp/documents.rs26
1 files changed, 15 insertions, 11 deletions
diff --git a/cli/lsp/documents.rs b/cli/lsp/documents.rs
index ab053336f..b30217bcb 100644
--- a/cli/lsp/documents.rs
+++ b/cli/lsp/documents.rs
@@ -310,7 +310,7 @@ impl Document {
let (maybe_parsed_source, maybe_module) =
if media_type_is_diagnosable(media_type) {
parse_and_analyze_module(
- &specifier,
+ specifier.clone(),
text_info.clone(),
maybe_headers.as_ref(),
media_type,
@@ -370,10 +370,13 @@ impl Document {
let maybe_parsed_source;
let maybe_test_module_fut;
if media_type != self.media_type {
- let parsed_source_result =
- parse_source(&self.specifier, self.text_info.clone(), media_type);
+ let parsed_source_result = parse_source(
+ self.specifier.clone(),
+ self.text_info.clone(),
+ media_type,
+ );
let maybe_module = analyze_module(
- &self.specifier,
+ self.specifier.clone(),
&parsed_source_result,
self.maybe_headers.as_ref(),
self.file_referrer.as_ref(),
@@ -481,7 +484,7 @@ impl Document {
.unwrap_or(false)
{
parse_and_analyze_module(
- &self.specifier,
+ self.specifier.clone(),
text_info.clone(),
self.maybe_headers.as_ref(),
media_type,
@@ -1455,14 +1458,15 @@ impl<'a> deno_graph::source::Loader for OpenDocumentsGraphLoader<'a> {
}
fn parse_and_analyze_module(
- specifier: &ModuleSpecifier,
+ specifier: ModuleSpecifier,
text_info: SourceTextInfo,
maybe_headers: Option<&HashMap<String, String>>,
media_type: MediaType,
file_referrer: Option<&ModuleSpecifier>,
resolver: &LspResolver,
) -> (Option<ParsedSourceResult>, Option<ModuleResult>) {
- let parsed_source_result = parse_source(specifier, text_info, media_type);
+ let parsed_source_result =
+ parse_source(specifier.clone(), text_info, media_type);
let module_result = analyze_module(
specifier,
&parsed_source_result,
@@ -1474,12 +1478,12 @@ fn parse_and_analyze_module(
}
fn parse_source(
- specifier: &ModuleSpecifier,
+ specifier: ModuleSpecifier,
text_info: SourceTextInfo,
media_type: MediaType,
) -> ParsedSourceResult {
deno_ast::parse_module(deno_ast::ParseParams {
- specifier: specifier.clone(),
+ specifier,
text_info,
media_type,
capture_tokens: true,
@@ -1489,7 +1493,7 @@ fn parse_source(
}
fn analyze_module(
- specifier: &ModuleSpecifier,
+ specifier: ModuleSpecifier,
parsed_source_result: &ParsedSourceResult,
maybe_headers: Option<&HashMap<String, String>>,
file_referrer: Option<&ModuleSpecifier>,
@@ -1511,7 +1515,7 @@ fn analyze_module(
},
)),
Err(err) => Err(deno_graph::ModuleGraphError::ModuleError(
- deno_graph::ModuleError::ParseErr(specifier.clone(), err.clone()),
+ deno_graph::ModuleError::ParseErr(specifier, err.clone()),
)),
}
}