aboutsummaryrefslogtreecommitdiff
path: root/crates/syntax/src/ast/expr_ext.rs
diff options
context:
space:
mode:
authorLukas Wirth <[email protected]>2020-11-14 16:49:36 +0000
committerLukas Wirth <[email protected]>2020-11-14 16:51:09 +0000
commite55a44a831477e2fc8e11340c3d91db883b97c8e (patch)
treedb334060759bcc4252689e305a466ec3dd2b5d8b /crates/syntax/src/ast/expr_ext.rs
parent99fa139beab0c03583c676554c3d807525f602af (diff)
Use shorthand record syntax when renaming struct initializer field
Diffstat (limited to 'crates/syntax/src/ast/expr_ext.rs')
-rw-r--r--crates/syntax/src/ast/expr_ext.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/crates/syntax/src/ast/expr_ext.rs b/crates/syntax/src/ast/expr_ext.rs
index 9253c97d0..e4a9b945c 100644
--- a/crates/syntax/src/ast/expr_ext.rs
+++ b/crates/syntax/src/ast/expr_ext.rs
@@ -22,6 +22,18 @@ impl ast::Expr {
22 _ => false, 22 _ => false,
23 } 23 }
24 } 24 }
25
26 pub fn name_ref(&self) -> Option<ast::NameRef> {
27 if let ast::Expr::PathExpr(expr) = self {
28 let path = expr.path()?;
29 let segment = path.segment()?;
30 let name_ref = segment.name_ref()?;
31 if path.qualifier().is_none() {
32 return Some(name_ref);
33 }
34 }
35 None
36 }
25} 37}
26 38
27#[derive(Debug, Clone, PartialEq, Eq)] 39#[derive(Debug, Clone, PartialEq, Eq)]