aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir
diff options
context:
space:
mode:
authoruHOOCCOOHu <[email protected]>2019-09-29 22:15:03 +0100
committeruHOOCCOOHu <[email protected]>2019-09-30 09:17:53 +0100
commit5a4b4f507e9b90bfe41b451763868cba0a70c392 (patch)
tree7e136a69aa5bf67a2dacf74fdee189558970ff20 /crates/ra_hir
parent71efdaa6364142b359c59659ec10f35a1e53b5d2 (diff)
Fix API of Attr
Diffstat (limited to 'crates/ra_hir')
-rw-r--r--crates/ra_hir/src/lang_item.rs2
-rw-r--r--crates/ra_hir/src/nameres/raw.rs5
2 files changed, 3 insertions, 4 deletions
diff --git a/crates/ra_hir/src/lang_item.rs b/crates/ra_hir/src/lang_item.rs
index bcce314d8..dbba433fe 100644
--- a/crates/ra_hir/src/lang_item.rs
+++ b/crates/ra_hir/src/lang_item.rs
@@ -151,7 +151,7 @@ impl LangItems {
151 151
152fn lang_item_name<T: AttrsOwner>(node: &T) -> Option<SmolStr> { 152fn lang_item_name<T: AttrsOwner>(node: &T) -> Option<SmolStr> {
153 node.attrs() 153 node.attrs()
154 .filter_map(|a| a.as_key_value()) 154 .filter_map(|a| a.as_simple_key_value())
155 .filter(|(key, _)| key == "lang") 155 .filter(|(key, _)| key == "lang")
156 .map(|(_, val)| val) 156 .map(|(_, val)| val)
157 .nth(0) 157 .nth(0)
diff --git a/crates/ra_hir/src/nameres/raw.rs b/crates/ra_hir/src/nameres/raw.rs
index c494b95b0..0e27dd2db 100644
--- a/crates/ra_hir/src/nameres/raw.rs
+++ b/crates/ra_hir/src/nameres/raw.rs
@@ -353,8 +353,7 @@ impl<DB: AstDatabase> RawItemsCollector<&DB> {
353 353
354 let name = m.name().map(|it| it.as_name()); 354 let name = m.name().map(|it| it.as_name());
355 let ast_id = self.source_ast_id_map.ast_id(&m); 355 let ast_id = self.source_ast_id_map.ast_id(&m);
356 let export = m.has_atom_attr("macro_export") 356 let export = m.attrs().filter_map(|x| x.simple_name()).any(|name| name == "macro_export");
357 || m.attrs().filter_map(|x| x.as_call()).any(|(name, _)| name == "macro_export");
358 357
359 let m = self.raw_items.macros.alloc(MacroData { ast_id, path, name, export }); 358 let m = self.raw_items.macros.alloc(MacroData { ast_id, path, name, export });
360 self.push_item(current_module, RawItem::Macro(m)); 359 self.push_item(current_module, RawItem::Macro(m));
@@ -385,7 +384,7 @@ impl<DB: AstDatabase> RawItemsCollector<&DB> {
385 384
386fn extract_mod_path_attribute(module: &ast::Module) -> Option<SmolStr> { 385fn extract_mod_path_attribute(module: &ast::Module) -> Option<SmolStr> {
387 module.attrs().into_iter().find_map(|attr| { 386 module.attrs().into_iter().find_map(|attr| {
388 attr.as_key_value().and_then(|(name, value)| { 387 attr.as_simple_key_value().and_then(|(name, value)| {
389 let is_path = name == "path"; 388 let is_path = name == "path";
390 if is_path { 389 if is_path {
391 Some(value) 390 Some(value)