diff options
Diffstat (limited to 'crates/ra_hir/src')
-rw-r--r-- | crates/ra_hir/src/ids.rs | 2 | ||||
-rw-r--r-- | crates/ra_hir/src/nameres/raw.rs | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/crates/ra_hir/src/ids.rs b/crates/ra_hir/src/ids.rs index e0d0d4209..9ea4e695d 100644 --- a/crates/ra_hir/src/ids.rs +++ b/crates/ra_hir/src/ids.rs | |||
@@ -90,7 +90,7 @@ impl HirFileId { | |||
90 | }) | 90 | }) |
91 | .ok()?; | 91 | .ok()?; |
92 | match macro_file.macro_file_kind { | 92 | match macro_file.macro_file_kind { |
93 | MacroFileKind::Items => Some(Parse::to_syntax(mbe::token_tree_to_ast_item_list(&tt))), | 93 | MacroFileKind::Items => mbe::token_tree_to_items(&tt).ok().map(Parse::to_syntax), |
94 | MacroFileKind::Expr => mbe::token_tree_to_expr(&tt).ok().map(Parse::to_syntax), | 94 | MacroFileKind::Expr => mbe::token_tree_to_expr(&tt).ok().map(Parse::to_syntax), |
95 | } | 95 | } |
96 | } | 96 | } |
diff --git a/crates/ra_hir/src/nameres/raw.rs b/crates/ra_hir/src/nameres/raw.rs index c646d3d00..04b97cb90 100644 --- a/crates/ra_hir/src/nameres/raw.rs +++ b/crates/ra_hir/src/nameres/raw.rs | |||
@@ -76,8 +76,10 @@ impl RawItems { | |||
76 | source_map: ImportSourceMap::default(), | 76 | source_map: ImportSourceMap::default(), |
77 | }; | 77 | }; |
78 | if let Some(node) = db.parse_or_expand(file_id) { | 78 | if let Some(node) = db.parse_or_expand(file_id) { |
79 | if let Some(source_file) = ast::SourceFile::cast(node) { | 79 | if let Some(source_file) = ast::SourceFile::cast(node.clone()) { |
80 | collector.process_module(None, source_file); | 80 | collector.process_module(None, source_file); |
81 | } else if let Some(item_list) = ast::MacroItems::cast(node) { | ||
82 | collector.process_module(None, item_list); | ||
81 | } | 83 | } |
82 | } | 84 | } |
83 | (Arc::new(collector.raw_items), Arc::new(collector.source_map)) | 85 | (Arc::new(collector.raw_items), Arc::new(collector.source_map)) |