diff options
Diffstat (limited to 'crates/ra_hir_expand/src/db.rs')
-rw-r--r-- | crates/ra_hir_expand/src/db.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/crates/ra_hir_expand/src/db.rs b/crates/ra_hir_expand/src/db.rs index e6d2e8d9d..b789c6e7b 100644 --- a/crates/ra_hir_expand/src/db.rs +++ b/crates/ra_hir_expand/src/db.rs | |||
@@ -22,8 +22,8 @@ pub trait AstDatabase: SourceDatabase { | |||
22 | 22 | ||
23 | #[salsa::interned] | 23 | #[salsa::interned] |
24 | fn intern_macro(&self, macro_call: MacroCallLoc) -> MacroCallId; | 24 | fn intern_macro(&self, macro_call: MacroCallLoc) -> MacroCallId; |
25 | fn macro_arg(&self, id: MacroCallId) -> Option<(Arc<tt::Subtree>, Arc<mbe::TokenMap>)>; | 25 | fn macro_arg(&self, id: MacroCallId) -> Option<Arc<(tt::Subtree, mbe::TokenMap)>>; |
26 | fn macro_def(&self, id: MacroDefId) -> Option<(Arc<mbe::MacroRules>, Arc<mbe::TokenMap>)>; | 26 | fn macro_def(&self, id: MacroDefId) -> Option<Arc<(mbe::MacroRules, mbe::TokenMap)>>; |
27 | fn parse_macro( | 27 | fn parse_macro( |
28 | &self, | 28 | &self, |
29 | macro_file: MacroFile, | 29 | macro_file: MacroFile, |
@@ -40,7 +40,7 @@ pub(crate) fn ast_id_map(db: &dyn AstDatabase, file_id: HirFileId) -> Arc<AstIdM | |||
40 | pub(crate) fn macro_def( | 40 | pub(crate) fn macro_def( |
41 | db: &dyn AstDatabase, | 41 | db: &dyn AstDatabase, |
42 | id: MacroDefId, | 42 | id: MacroDefId, |
43 | ) -> Option<(Arc<mbe::MacroRules>, Arc<mbe::TokenMap>)> { | 43 | ) -> Option<Arc<(mbe::MacroRules, mbe::TokenMap)>> { |
44 | let macro_call = id.ast_id.to_node(db); | 44 | let macro_call = id.ast_id.to_node(db); |
45 | let arg = macro_call.token_tree()?; | 45 | let arg = macro_call.token_tree()?; |
46 | let (tt, tmap) = mbe::ast_to_token_tree(&arg).or_else(|| { | 46 | let (tt, tmap) = mbe::ast_to_token_tree(&arg).or_else(|| { |
@@ -51,18 +51,18 @@ pub(crate) fn macro_def( | |||
51 | log::warn!("fail on macro_def parse: {:#?}", tt); | 51 | log::warn!("fail on macro_def parse: {:#?}", tt); |
52 | None | 52 | None |
53 | })?; | 53 | })?; |
54 | Some((Arc::new(rules), Arc::new(tmap))) | 54 | Some(Arc::new((rules, tmap))) |
55 | } | 55 | } |
56 | 56 | ||
57 | pub(crate) fn macro_arg( | 57 | pub(crate) fn macro_arg( |
58 | db: &dyn AstDatabase, | 58 | db: &dyn AstDatabase, |
59 | id: MacroCallId, | 59 | id: MacroCallId, |
60 | ) -> Option<(Arc<tt::Subtree>, Arc<mbe::TokenMap>)> { | 60 | ) -> Option<Arc<(tt::Subtree, mbe::TokenMap)>> { |
61 | let loc = db.lookup_intern_macro(id); | 61 | let loc = db.lookup_intern_macro(id); |
62 | let macro_call = loc.ast_id.to_node(db); | 62 | let macro_call = loc.ast_id.to_node(db); |
63 | let arg = macro_call.token_tree()?; | 63 | let arg = macro_call.token_tree()?; |
64 | let (tt, tmap) = mbe::ast_to_token_tree(&arg)?; | 64 | let (tt, tmap) = mbe::ast_to_token_tree(&arg)?; |
65 | Some((Arc::new(tt), Arc::new(tmap))) | 65 | Some(Arc::new((tt, tmap))) |
66 | } | 66 | } |
67 | 67 | ||
68 | pub(crate) fn macro_expand( | 68 | pub(crate) fn macro_expand( |