diff options
Diffstat (limited to 'crates/ra_hir/src/attr.rs')
-rw-r--r-- | crates/ra_hir/src/attr.rs | 23 |
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 | ||