diff options
author | Aleksey Kladov <[email protected]> | 2019-07-12 17:41:13 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-07-12 17:41:13 +0100 |
commit | deab4caa7b1ba81c1b7e6561bc270bbde6467f13 (patch) | |
tree | af552549d828905294f4f3c109cdc339c12020ad /crates/ra_ide_api/src/typing.rs | |
parent | 2e466bb365813620de15afd5e04736a92fffdca9 (diff) |
make Parse fields private
this is in preparation for the new rowan API
Diffstat (limited to 'crates/ra_ide_api/src/typing.rs')
-rw-r--r-- | crates/ra_ide_api/src/typing.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/crates/ra_ide_api/src/typing.rs b/crates/ra_ide_api/src/typing.rs index d3cb71ddb..01eb32b2f 100644 --- a/crates/ra_ide_api/src/typing.rs +++ b/crates/ra_ide_api/src/typing.rs | |||
@@ -11,7 +11,8 @@ use ra_syntax::{ | |||
11 | use ra_text_edit::{TextEdit, TextEditBuilder}; | 11 | use ra_text_edit::{TextEdit, TextEditBuilder}; |
12 | 12 | ||
13 | pub(crate) fn on_enter(db: &RootDatabase, position: FilePosition) -> Option<SourceChange> { | 13 | pub(crate) fn on_enter(db: &RootDatabase, position: FilePosition) -> Option<SourceChange> { |
14 | let file = db.parse(position.file_id).tree; | 14 | let parse = db.parse(position.file_id); |
15 | let file = parse.tree(); | ||
15 | let comment = find_token_at_offset(file.syntax(), position.offset) | 16 | let comment = find_token_at_offset(file.syntax(), position.offset) |
16 | .left_biased() | 17 | .left_biased() |
17 | .and_then(ast::Comment::cast)?; | 18 | .and_then(ast::Comment::cast)?; |
@@ -86,10 +87,10 @@ pub fn on_eq_typed(file: &SourceFile, eq_offset: TextUnit) -> Option<TextEdit> { | |||
86 | } | 87 | } |
87 | 88 | ||
88 | pub(crate) fn on_dot_typed(db: &RootDatabase, position: FilePosition) -> Option<SourceChange> { | 89 | pub(crate) fn on_dot_typed(db: &RootDatabase, position: FilePosition) -> Option<SourceChange> { |
89 | let file = db.parse(position.file_id).tree; | 90 | let parse = db.parse(position.file_id); |
90 | assert_eq!(file.syntax().text().char_at(position.offset), Some('.')); | 91 | assert_eq!(parse.tree().syntax().text().char_at(position.offset), Some('.')); |
91 | 92 | ||
92 | let whitespace = find_token_at_offset(file.syntax(), position.offset) | 93 | let whitespace = find_token_at_offset(parse.tree().syntax(), position.offset) |
93 | .left_biased() | 94 | .left_biased() |
94 | .and_then(ast::Whitespace::cast)?; | 95 | .and_then(ast::Whitespace::cast)?; |
95 | 96 | ||
@@ -139,8 +140,8 @@ mod tests { | |||
139 | let mut edit = TextEditBuilder::default(); | 140 | let mut edit = TextEditBuilder::default(); |
140 | edit.insert(offset, "=".to_string()); | 141 | edit.insert(offset, "=".to_string()); |
141 | let before = edit.finish().apply(&before); | 142 | let before = edit.finish().apply(&before); |
142 | let file = SourceFile::parse(&before).tree; | 143 | let parse = SourceFile::parse(&before); |
143 | if let Some(result) = on_eq_typed(&file, offset) { | 144 | if let Some(result) = on_eq_typed(parse.tree(), offset) { |
144 | let actual = result.apply(&before); | 145 | let actual = result.apply(&before); |
145 | assert_eq_text!(after, &actual); | 146 | assert_eq_text!(after, &actual); |
146 | } else { | 147 | } else { |