pub(crate) fn call_info(db: &RootDatabase, position: FilePosition) -> Option<CallInfo> {
    let sema = Semantics::new(db);
    let file = sema.parse(position.file_id);
    let file = file.syntax();
    let token = file.token_at_offset(position.offset).next()?;
    let token = sema.descend_into_macros(token);
    call_info_for_token(&sema, token)
}
/// Computes parameter information for the given call expression.
Computes parameter information for the given call expression.
Computes parameter information for the given call expression .
pub(crate) fn call_info(db: &RootDatabase, position: FilePosition) -> Option<CallInfo> {
    let sema = Semantics::new(db);
    let file = sema.parse(position.file_id);
    let file = file.syntax();
    let token = file.token_at_offset(position.offset).next()?;
    let token = sema.descend_into_macros(token);
    call_info_for_token(&sema, token)
}
pub ( crate ) fn call_info ( db : & RootDatabase , position : FilePosition ) -> Option < CallInfo > { let sema = Semantics :: new ( db ) ; let file = sema . parse ( position . file_id ) ; let file = file . syntax ( ) ; let token = file . token_at_offset ( position . offset ) . next ( ) ? ; let token = sema . descend_into_macros ( token ) ; call_info_for_token ( & sema , token ) }
Computes parameter information for the given call expression.
Computes parameter information for the given call expression .
db
&RootDatabase
position
FilePosition
db
&RootDatabase
position
FilePosition