mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 05:23:24 +00:00
2d0db312b5
10872: ide_db: build symbol index from crate def map r=Veykril a=jhgg fixes #4842, #10764 Is this looking correct? 👀 - [x] build the symbol index based upon the CrateDefMap for the given crate in `crate_symbols` - [x] make it multi threaded again, and figure out how to cache each moduleid's symbol index in salsa. - [x] NavigationTarget for names in macros is wrong, need to figure out how to compute a text range in the original file id? - [x] cleanup some duped code - [x] collect macros from `ItemScope.declared_macros()` into symbol index. - [x] store declared macros in `ItemScope` so we can figure out where macros were defined for the index. - [x] do something about `SymbolIndex::for_files` - ideally it should use the new module symbol index stuff. - [x] delete `source_file_to_file_symbols` & co... - [x] figure out what to do about `library_symbols` - [x] maybe... speed up the new `library_symbols` - the new impl is probably much slower, and definitely much less parallel. **deciding to do nothing here, we can optimize later if necerssary.** - [x] fix failing test: `navigation_target::tests::test_nav_for_symbol` - notably the crate def map doesn't seem to find declarations inside function. - [x] now a bunch of other tests are failing around auto_import & qualify_path handlers. :( - [x] need to assoc items in traits and impls Co-authored-by: Jake Heinz <jh@discordapp.com> |
||
---|---|---|
.. | ||
change.rs | ||
fixture.rs | ||
input.rs | ||
lib.rs |