aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/nameres/collector.rs
diff options
context:
space:
mode:
authoruHOOCCOOHu <[email protected]>2019-09-29 19:50:56 +0100
committeruHOOCCOOHu <[email protected]>2019-10-02 19:27:11 +0100
commitffe179a73663b111e4b3ee8a3f525fb3e461c78e (patch)
tree15a479dad38fe31c524f0deff725a701782ec90d /crates/ra_hir/src/nameres/collector.rs
parentba3ec8b1508e6f07159fd78ed569bbf47e9936ba (diff)
Pass attributes as token tree to DefCollector
Diffstat (limited to 'crates/ra_hir/src/nameres/collector.rs')
-rw-r--r--crates/ra_hir/src/nameres/collector.rs19
1 files changed, 9 insertions, 10 deletions
diff --git a/crates/ra_hir/src/nameres/collector.rs b/crates/ra_hir/src/nameres/collector.rs
index a568fdabd..40e56dfe0 100644
--- a/crates/ra_hir/src/nameres/collector.rs
+++ b/crates/ra_hir/src/nameres/collector.rs
@@ -523,7 +523,7 @@ where
523 // `#[macro_use] extern crate` is hoisted to imports macros before collecting 523 // `#[macro_use] extern crate` is hoisted to imports macros before collecting
524 // any other items. 524 // any other items.
525 for item in items { 525 for item in items {
526 if let raw::RawItem::Import(import_id) = *item { 526 if let raw::RawItemKind::Import(import_id) = item.kind {
527 let import = self.raw_items[import_id].clone(); 527 let import = self.raw_items[import_id].clone();
528 if import.is_extern_crate && import.is_macro_use { 528 if import.is_extern_crate && import.is_macro_use {
529 self.def_collector.import_macros_from_extern_crate(self.module_id, &import); 529 self.def_collector.import_macros_from_extern_crate(self.module_id, &import);
@@ -532,15 +532,14 @@ where
532 } 532 }
533 533
534 for item in items { 534 for item in items {
535 match *item { 535 match item.kind {
536 raw::RawItem::Module(m) => self.collect_module(&self.raw_items[m]), 536 raw::RawItemKind::Module(m) => self.collect_module(&self.raw_items[m]),
537 raw::RawItem::Import(import_id) => self.def_collector.unresolved_imports.push(( 537 raw::RawItemKind::Import(import_id) => self
538 self.module_id, 538 .def_collector
539 import_id, 539 .unresolved_imports
540 self.raw_items[import_id].clone(), 540 .push((self.module_id, import_id, self.raw_items[import_id].clone())),
541 )), 541 raw::RawItemKind::Def(def) => self.define_def(&self.raw_items[def]),
542 raw::RawItem::Def(def) => self.define_def(&self.raw_items[def]), 542 raw::RawItemKind::Macro(mac) => self.collect_macro(&self.raw_items[mac]),
543 raw::RawItem::Macro(mac) => self.collect_macro(&self.raw_items[mac]),
544 } 543 }
545 } 544 }
546 } 545 }