aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/attr.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/attr.rs')
-rw-r--r--crates/ra_hir/src/attr.rs23
1 files changed, 16 insertions, 7 deletions
diff --git a/crates/ra_hir/src/attr.rs b/crates/ra_hir/src/attr.rs
index f67e80bfd..a0a74ab8c 100644
--- a/crates/ra_hir/src/attr.rs
+++ b/crates/ra_hir/src/attr.rs
@@ -64,13 +64,22 @@ impl Attr {
64 } 64 }
65 65
66 pub(crate) fn as_cfg(&self) -> Option<&Subtree> { 66 pub(crate) fn as_cfg(&self) -> Option<&Subtree> {
67 if self.is_simple_atom("cfg") { 67 if !self.is_simple_atom("cfg") {
68 match &self.input { 68 return None;
69 Some(AttrInput::TokenTree(subtree)) => Some(subtree), 69 }
70 _ => None, 70 match &self.input {
71 } 71 Some(AttrInput::TokenTree(subtree)) => Some(subtree),
72 } else { 72 _ => None,
73 None 73 }
74 }
75
76 pub(crate) fn as_path(&self) -> Option<&SmolStr> {
77 if !self.is_simple_atom("path") {
78 return None;
79 }
80 match &self.input {
81 Some(AttrInput::Literal(it)) => Some(it),
82 _ => None,
74 } 83 }
75 } 84 }
76 85