aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/syntax_tree.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide_api/src/syntax_tree.rs')
-rw-r--r--crates/ra_ide_api/src/syntax_tree.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/crates/ra_ide_api/src/syntax_tree.rs b/crates/ra_ide_api/src/syntax_tree.rs
index 8bdd08d58..b3e08c041 100644
--- a/crates/ra_ide_api/src/syntax_tree.rs
+++ b/crates/ra_ide_api/src/syntax_tree.rs
@@ -13,9 +13,9 @@ pub(crate) fn syntax_tree(
13 file_id: FileId, 13 file_id: FileId,
14 text_range: Option<TextRange>, 14 text_range: Option<TextRange>,
15) -> String { 15) -> String {
16 let parse = db.parse(file_id);
16 if let Some(text_range) = text_range { 17 if let Some(text_range) = text_range {
17 let file = db.parse(file_id).tree; 18 let node = match algo::find_covering_element(parse.tree().syntax(), text_range) {
18 let node = match algo::find_covering_element(file.syntax(), text_range) {
19 SyntaxElement::Node(node) => node, 19 SyntaxElement::Node(node) => node,
20 SyntaxElement::Token(token) => { 20 SyntaxElement::Token(token) => {
21 if let Some(tree) = syntax_tree_for_string(token, text_range) { 21 if let Some(tree) = syntax_tree_for_string(token, text_range) {
@@ -27,7 +27,7 @@ pub(crate) fn syntax_tree(
27 27
28 node.debug_dump() 28 node.debug_dump()
29 } else { 29 } else {
30 db.parse(file_id).tree.syntax().debug_dump() 30 parse.tree().syntax().debug_dump()
31 } 31 }
32} 32}
33 33
@@ -84,8 +84,8 @@ fn syntax_tree_for_token(node: SyntaxToken, text_range: TextRange) -> Option<Str
84 84
85 // If the "file" parsed without errors, 85 // If the "file" parsed without errors,
86 // return its syntax 86 // return its syntax
87 if parsed.errors.is_empty() { 87 if parsed.errors().is_empty() {
88 return Some(parsed.tree.syntax().debug_dump()); 88 return Some(parsed.tree().syntax().debug_dump());
89 } 89 }
90 90
91 None 91 None