aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/ast/edit.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_syntax/src/ast/edit.rs')
-rw-r--r--crates/ra_syntax/src/ast/edit.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/crates/ra_syntax/src/ast/edit.rs b/crates/ra_syntax/src/ast/edit.rs
index d2630e9e9..1858e2b6c 100644
--- a/crates/ra_syntax/src/ast/edit.rs
+++ b/crates/ra_syntax/src/ast/edit.rs
@@ -249,6 +249,16 @@ impl ast::PathSegment {
249 } 249 }
250} 250}
251 251
252impl ast::UseItem {
253 #[must_use]
254 pub fn with_use_tree(&self, use_tree: ast::UseTree) -> ast::UseItem {
255 if let Some(old) = self.use_tree() {
256 return replace_descendants(self, iter::once((old, use_tree)));
257 }
258 self.clone()
259 }
260}
261
252#[must_use] 262#[must_use]
253pub fn strip_attrs_and_docs<N: ast::AttrsOwner>(node: &N) -> N { 263pub fn strip_attrs_and_docs<N: ast::AttrsOwner>(node: &N) -> N {
254 N::cast(strip_attrs_and_docs_inner(node.syntax().clone())).unwrap() 264 N::cast(strip_attrs_and_docs_inner(node.syntax().clone())).unwrap()