@@ -77,7 +77,7 @@ use base_db::{
7777use hir_expand:: {
7878 builtin:: { BuiltinAttrExpander , BuiltinDeriveExpander , BuiltinFnLikeExpander , EagerExpander } ,
7979 db:: ExpandDatabase ,
80- eager:: { expand_eager_macro_input, expand_module_path_as_eager } ,
80+ eager:: expand_eager_macro_input,
8181 impl_intern_lookup,
8282 name:: Name ,
8383 proc_macro:: { CustomProcMacroExpander , ProcMacroKind } ,
@@ -1400,19 +1400,26 @@ pub trait AsMacroCall {
14001400 fn as_call_id (
14011401 & self ,
14021402 db : & dyn ExpandDatabase ,
1403- module : ModuleId ,
1403+ krate : CrateId ,
1404+ resolver : impl Fn ( & path:: ModPath ) -> Option < MacroDefId > + Copy ,
1405+ ) -> Option < MacroCallId > {
1406+ self . as_call_id_with_errors ( db, krate, resolver) . ok ( ) ?. value
1407+ }
1408+
1409+ fn as_call_id_with_errors (
1410+ & self ,
1411+ db : & dyn ExpandDatabase ,
1412+ krate : CrateId ,
14041413 resolver : impl Fn ( & path:: ModPath ) -> Option < MacroDefId > + Copy ,
1405- mod_path : impl FnOnce ( ModuleId ) -> String ,
14061414 ) -> Result < ExpandResult < Option < MacroCallId > > , UnresolvedMacro > ;
14071415}
14081416
14091417impl AsMacroCall for InFile < & ast:: MacroCall > {
1410- fn as_call_id (
1418+ fn as_call_id_with_errors (
14111419 & self ,
14121420 db : & dyn ExpandDatabase ,
1413- module : ModuleId ,
1421+ krate : CrateId ,
14141422 resolver : impl Fn ( & path:: ModPath ) -> Option < MacroDefId > + Copy ,
1415- mod_path : impl FnOnce ( ModuleId ) -> String ,
14161423 ) -> Result < ExpandResult < Option < MacroCallId > > , UnresolvedMacro > {
14171424 let expands_to = hir_expand:: ExpandTo :: from_call_site ( self . value ) ;
14181425 let ast_id = AstId :: new ( self . file_id , db. ast_id_map ( self . file_id ) . ast_id ( self . value ) ) ;
@@ -1439,10 +1446,9 @@ impl AsMacroCall for InFile<&ast::MacroCall> {
14391446 & path,
14401447 call_site. ctx ,
14411448 expands_to,
1442- module ,
1449+ krate ,
14431450 resolver,
14441451 resolver,
1445- mod_path,
14461452 )
14471453 }
14481454}
@@ -1469,20 +1475,18 @@ fn macro_call_as_call_id(
14691475 call : & AstIdWithPath < ast:: MacroCall > ,
14701476 call_site : SyntaxContextId ,
14711477 expand_to : ExpandTo ,
1472- module : ModuleId ,
1478+ krate : CrateId ,
14731479 resolver : impl Fn ( & path:: ModPath ) -> Option < MacroDefId > + Copy ,
1474- mod_path : impl FnOnce ( ModuleId ) -> String ,
14751480) -> Result < Option < MacroCallId > , UnresolvedMacro > {
14761481 macro_call_as_call_id_with_eager (
14771482 db,
14781483 call. ast_id ,
14791484 & call. path ,
14801485 call_site,
14811486 expand_to,
1482- module ,
1487+ krate ,
14831488 resolver,
14841489 resolver,
1485- mod_path,
14861490 )
14871491 . map ( |res| res. value )
14881492}
@@ -1493,26 +1497,16 @@ fn macro_call_as_call_id_with_eager(
14931497 path : & path:: ModPath ,
14941498 call_site : SyntaxContextId ,
14951499 expand_to : ExpandTo ,
1496- module : ModuleId ,
1500+ krate : CrateId ,
14971501 resolver : impl FnOnce ( & path:: ModPath ) -> Option < MacroDefId > ,
14981502 eager_resolver : impl Fn ( & path:: ModPath ) -> Option < MacroDefId > ,
1499- mod_path : impl FnOnce ( ModuleId ) -> String ,
15001503) -> Result < ExpandResult < Option < MacroCallId > > , UnresolvedMacro > {
15011504 let def = resolver ( path) . ok_or_else ( || UnresolvedMacro { path : path. clone ( ) } ) ?;
15021505
15031506 let res = match def. kind {
1504- MacroDefKind :: BuiltInEager ( _, EagerExpander :: ModulePath ) => expand_module_path_as_eager (
1505- db,
1506- module. krate ,
1507- mod_path ( module) ,
1508- & ast_id. to_node ( db) ,
1509- ast_id,
1510- def,
1511- call_site,
1512- ) ,
15131507 MacroDefKind :: BuiltInEager ( ..) => expand_eager_macro_input (
15141508 db,
1515- module . krate ,
1509+ krate,
15161510 & ast_id. to_node ( db) ,
15171511 ast_id,
15181512 def,
@@ -1522,7 +1516,7 @@ fn macro_call_as_call_id_with_eager(
15221516 _ if def. is_fn_like ( ) => ExpandResult {
15231517 value : Some ( def. make_call (
15241518 db,
1525- module . krate ,
1519+ krate,
15261520 MacroCallKind :: FnLike { ast_id, expand_to, eager : None } ,
15271521 call_site,
15281522 ) ) ,
0 commit comments