-
-
Notifications
You must be signed in to change notification settings - Fork 411
Description
Since #2608, a textDocument/references request will resolve references only within the module on which the request has been initiated and the module which contains the symbol being searched for.
This does not account for the possibility of references across modules. If module "A" imports module "B" then a references request on a symbol in module "B" should also search in module "A".
We currently do not have any mechanism to identify whether a symbol within a module has been made publicly accessible to outside module. Without this kind of "escape analysis" this feature may incur an undesirable performance impact on large projects with many modules.
The logic that resolves which workspace files will be searched for references is implemented here where we already have access to the build graph which can be traversed to find (transitive) dependant modules.