diff options
author | Aleksey Kladov <[email protected]> | 2018-08-28 12:06:30 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2018-08-28 12:06:30 +0100 |
commit | 7e74af32268f9b0783ca94107b0b10d52e4ebe5e (patch) | |
tree | 179d818c695a27ceee3f8193e219234854190f9a /crates/libsyntax2/src/lib.rs | |
parent | 363f466627db373fab23d1df94b7382223b8675a (diff) |
Avoid materializing strings
Diffstat (limited to 'crates/libsyntax2/src/lib.rs')
-rw-r--r-- | crates/libsyntax2/src/lib.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/crates/libsyntax2/src/lib.rs b/crates/libsyntax2/src/lib.rs index 93057dd6a..ccf13e4ab 100644 --- a/crates/libsyntax2/src/lib.rs +++ b/crates/libsyntax2/src/lib.rs | |||
@@ -81,7 +81,7 @@ impl File { | |||
81 | pub fn incremental_reparse(&self, edit: &AtomEdit) -> Option<File> { | 81 | pub fn incremental_reparse(&self, edit: &AtomEdit) -> Option<File> { |
82 | let (node, reparser) = find_reparsable_node(self.syntax(), edit.delete)?; | 82 | let (node, reparser) = find_reparsable_node(self.syntax(), edit.delete)?; |
83 | let text = replace_range( | 83 | let text = replace_range( |
84 | node.text(), | 84 | node.text().to_string(), |
85 | edit.delete - node.range().start(), | 85 | edit.delete - node.range().start(), |
86 | &edit.insert, | 86 | &edit.insert, |
87 | ); | 87 | ); |
@@ -97,7 +97,7 @@ impl File { | |||
97 | Some(File::new(green_root, errors)) | 97 | Some(File::new(green_root, errors)) |
98 | } | 98 | } |
99 | fn full_reparse(&self, edit: &AtomEdit) -> File { | 99 | fn full_reparse(&self, edit: &AtomEdit) -> File { |
100 | let text = replace_range(self.syntax().text(), edit.delete, &edit.insert); | 100 | let text = replace_range(self.syntax().text().to_string(), edit.delete, &edit.insert); |
101 | File::parse(&text) | 101 | File::parse(&text) |
102 | } | 102 | } |
103 | pub fn ast(&self) -> ast::Root { | 103 | pub fn ast(&self) -> ast::Root { |