mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-29 05:15:04 +00:00
Don't guess macro expansion crate
This commit is contained in:
parent
d8a5d39c2d
commit
fac7b0e252
9 changed files with 89 additions and 62 deletions
|
@ -122,8 +122,9 @@ impl<'db, DB: HirDatabase> Semantics<'db, DB> {
|
|||
let macro_call =
|
||||
self.find_file(actual_macro_call.syntax().clone()).with_value(actual_macro_call);
|
||||
let sa = self.analyze2(macro_call.map(|it| it.syntax()), None);
|
||||
let krate = sa.resolver.krate()?;
|
||||
let macro_call_id = macro_call
|
||||
.as_call_id(self.db, |path| sa.resolver.resolve_path_as_macro(self.db, &path))?;
|
||||
.as_call_id(self.db, krate, |path| sa.resolver.resolve_path_as_macro(self.db, &path))?;
|
||||
hir_expand::db::expand_hypothetical(self.db, macro_call_id, hypothetical_args, token_to_map)
|
||||
}
|
||||
|
||||
|
|
|
@ -307,7 +307,8 @@ impl SourceAnalyzer {
|
|||
db: &dyn HirDatabase,
|
||||
macro_call: InFile<&ast::MacroCall>,
|
||||
) -> Option<HirFileId> {
|
||||
let macro_call_id = macro_call.as_call_id(db.upcast(), |path| {
|
||||
let krate = self.resolver.krate()?;
|
||||
let macro_call_id = macro_call.as_call_id(db.upcast(), krate, |path| {
|
||||
self.resolver.resolve_path_as_macro(db.upcast(), &path)
|
||||
})?;
|
||||
Some(macro_call_id.as_file())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue