File tree Expand file tree Collapse file tree 1 file changed +7
-7
lines changed Expand file tree Collapse file tree 1 file changed +7
-7
lines changed Original file line number Diff line number Diff line change @@ -710,14 +710,14 @@ fn ascend_call_token(
710710 expansion : & ExpansionInfo ,
711711 token : InFile < SyntaxToken > ,
712712) -> Option < InFile < SyntaxToken > > {
713- let ( mapped , origin ) = expansion. map_token_up ( db, token. as_ref ( ) ) ?;
714- if origin != Origin :: Call {
715- return None ;
716- }
717- if let Some ( info ) = mapped . file_id . expansion_info ( db ) {
718- return ascend_call_token ( db , & info , mapped ) ;
713+ let mut mapping = expansion. map_token_up ( db, token. as_ref ( ) ) ?;
714+ while let ( mapped , Origin :: Call ) = mapping {
715+ match mapped . file_id . expansion_info ( db ) {
716+ Some ( info ) => mapping = info . map_token_up ( db , mapped . as_ref ( ) ) ? ,
717+ None => return Some ( mapped ) ,
718+ }
719719 }
720- Some ( mapped )
720+ None
721721}
722722
723723impl InFile < SyntaxToken > {
You can’t perform that action at this time.
0 commit comments