From 8296d3208d30b2b21c897d73e1c847d9549aef21 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 15 Jan 2020 17:56:25 +0100 Subject: Simplify --- crates/ra_syntax/src/ast/edit.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'crates/ra_syntax/src/ast') diff --git a/crates/ra_syntax/src/ast/edit.rs b/crates/ra_syntax/src/ast/edit.rs index 5438b8650..bd7f0aedc 100644 --- a/crates/ra_syntax/src/ast/edit.rs +++ b/crates/ra_syntax/src/ast/edit.rs @@ -23,8 +23,7 @@ impl ast::BinExpr { pub fn replace_op(&self, op: SyntaxKind) -> Option { let op_node: SyntaxElement = self.op_details()?.0.into(); let to_insert: Option = Some(tokens::op(op).into()); - let replace_range = op_node.clone()..=op_node; - Some(replace_children(self, replace_range, to_insert.into_iter())) + Some(replace_children(self, single_node(op_node), to_insert.into_iter())) } } @@ -43,8 +42,7 @@ impl ast::FnDef { return insert_children(self, InsertPosition::Last, to_insert.into_iter()); }; to_insert.push(body.syntax().clone().into()); - let replace_range = old_body_or_semi.clone()..=old_body_or_semi; - replace_children(self, replace_range, to_insert.into_iter()) + replace_children(self, single_node(old_body_or_semi), to_insert.into_iter()) } } @@ -109,7 +107,7 @@ impl ast::ItemList { let to_insert = iter::once(ws.ws().into()); match existing_ws { None => insert_children(self, InsertPosition::After(l_curly), to_insert), - Some(ws) => replace_children(self, ws.clone().into()..=ws.into(), to_insert), + Some(ws) => replace_children(self, single_node(ws), to_insert), } } } @@ -352,6 +350,11 @@ fn insert_children( N::cast(new_syntax).unwrap() } +fn single_node(element: impl Into) -> RangeInclusive { + let element = element.into(); + element.clone()..=element +} + #[must_use] fn replace_children( parent: &N, -- cgit v1.2.3