aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2019-11-26 18:34:15 +0000
committerGitHub <[email protected]>2019-11-26 18:34:15 +0000
commit3206b83a70b4e9140a5f0d9d8454abb7864b543a (patch)
tree81c441643aebd07039ca08c80c905d77a28eb800 /crates/ra_hir_def/src
parent141fca60061d85494fcb719a4c8237eaf6c7c134 (diff)
parent447268ceac497432822e8cf28525a6784f392020 (diff)
Merge #2418
2418: Hide MacroCallLoc outside hir_expand r=matklad a=edwin0cheng This PR refactor `MacroCallLoc` such that it be hided to become implementation details of hir_expand. Co-authored-by: Edwin Cheng <[email protected]>
Diffstat (limited to 'crates/ra_hir_def/src')
-rw-r--r--crates/ra_hir_def/src/body.rs5
-rw-r--r--crates/ra_hir_def/src/nameres/collector.rs7
2 files changed, 5 insertions, 7 deletions
diff --git a/crates/ra_hir_def/src/body.rs b/crates/ra_hir_def/src/body.rs
index d77ccb272..78a532bdd 100644
--- a/crates/ra_hir_def/src/body.rs
+++ b/crates/ra_hir_def/src/body.rs
@@ -6,8 +6,7 @@ pub mod scope;
6use std::{ops::Index, sync::Arc}; 6use std::{ops::Index, sync::Arc};
7 7
8use hir_expand::{ 8use hir_expand::{
9 either::Either, hygiene::Hygiene, AstId, HirFileId, MacroCallLoc, MacroDefId, MacroFileKind, 9 either::Either, hygiene::Hygiene, AstId, HirFileId, MacroDefId, MacroFileKind, Source,
10 Source,
11}; 10};
12use ra_arena::{map::ArenaMap, Arena}; 11use ra_arena::{map::ArenaMap, Arena};
13use ra_syntax::{ast, AstNode, AstPtr}; 12use ra_syntax::{ast, AstNode, AstPtr};
@@ -47,7 +46,7 @@ impl Expander {
47 46
48 if let Some(path) = macro_call.path().and_then(|path| self.parse_path(path)) { 47 if let Some(path) = macro_call.path().and_then(|path| self.parse_path(path)) {
49 if let Some(def) = self.resolve_path_as_macro(db, &path) { 48 if let Some(def) = self.resolve_path_as_macro(db, &path) {
50 let call_id = db.intern_macro(MacroCallLoc { def, ast_id }); 49 let call_id = def.as_call_id(db, ast_id);
51 let file_id = call_id.as_file(MacroFileKind::Expr); 50 let file_id = call_id.as_file(MacroFileKind::Expr);
52 if let Some(node) = db.parse_or_expand(file_id) { 51 if let Some(node) = db.parse_or_expand(file_id) {
53 if let Some(expr) = ast::Expr::cast(node) { 52 if let Some(expr) = ast::Expr::cast(node) {
diff --git a/crates/ra_hir_def/src/nameres/collector.rs b/crates/ra_hir_def/src/nameres/collector.rs
index 4ff6f72cf..ea3abfdae 100644
--- a/crates/ra_hir_def/src/nameres/collector.rs
+++ b/crates/ra_hir_def/src/nameres/collector.rs
@@ -6,7 +6,7 @@
6use hir_expand::{ 6use hir_expand::{
7 builtin_macro::find_builtin_macro, 7 builtin_macro::find_builtin_macro,
8 name::{self, AsName, Name}, 8 name::{self, AsName, Name},
9 HirFileId, MacroCallId, MacroCallLoc, MacroDefId, MacroDefKind, MacroFileKind, 9 HirFileId, MacroCallId, MacroDefId, MacroDefKind, MacroFileKind,
10}; 10};
11use ra_cfg::CfgOptions; 11use ra_cfg::CfgOptions;
12use ra_db::{CrateId, FileId}; 12use ra_db::{CrateId, FileId};
@@ -480,7 +480,7 @@ where
480 ); 480 );
481 481
482 if let Some(def) = resolved_res.resolved_def.take_macros() { 482 if let Some(def) = resolved_res.resolved_def.take_macros() {
483 let call_id = self.db.intern_macro(MacroCallLoc { def, ast_id: *ast_id }); 483 let call_id = def.as_call_id(self.db, *ast_id);
484 resolved.push((*module_id, call_id, def)); 484 resolved.push((*module_id, call_id, def));
485 res = ReachedFixedPoint::No; 485 res = ReachedFixedPoint::No;
486 return false; 486 return false;
@@ -773,8 +773,7 @@ where
773 if let Some(macro_def) = mac.path.as_ident().and_then(|name| { 773 if let Some(macro_def) = mac.path.as_ident().and_then(|name| {
774 self.def_collector.def_map[self.module_id].scope.get_legacy_macro(&name) 774 self.def_collector.def_map[self.module_id].scope.get_legacy_macro(&name)
775 }) { 775 }) {
776 let macro_call_id = 776 let macro_call_id = macro_def.as_call_id(self.def_collector.db, ast_id);
777 self.def_collector.db.intern_macro(MacroCallLoc { def: macro_def, ast_id });
778 777
779 self.def_collector.collect_macro_expansion(self.module_id, macro_call_id, macro_def); 778 self.def_collector.collect_macro_expansion(self.module_id, macro_call_id, macro_def);
780 return; 779 return;