From fda8ddc5fe8a764c0dc91fecb92af1bdf3078485 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adolfo=20Ochagav=C3=ADa?= Date: Mon, 5 Nov 2018 18:38:34 +0100 Subject: Introduce Location and make SyntaxError fields private --- crates/ra_syntax/src/reparsing.rs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'crates/ra_syntax/src/reparsing.rs') diff --git a/crates/ra_syntax/src/reparsing.rs b/crates/ra_syntax/src/reparsing.rs index 9f5baf1ef..3c4ea5c22 100644 --- a/crates/ra_syntax/src/reparsing.rs +++ b/crates/ra_syntax/src/reparsing.rs @@ -165,20 +165,14 @@ fn merge_errors( ) -> Vec { let mut res = Vec::new(); for e in old_errors { - if e.range.start() <= old_node.range().start() { + if e.offset() <= old_node.range().start() { res.push(e) - } else if e.range.start() >= old_node.range().end() { - res.push(SyntaxError { - kind: e.kind, - range: e.range + TextUnit::of_str(&edit.insert) - edit.delete.len(), - }) + } else if e.offset() >= old_node.range().end() { + res.push(e.add_offset(TextUnit::of_str(&edit.insert) - edit.delete.len())); } } for e in new_errors { - res.push(SyntaxError { - kind: e.kind, - range: e.range + old_node.range().start(), - }) + res.push(e.add_offset(old_node.range().start())); } res } -- cgit v1.2.3