Skip to content

implement symbol references across build system modules #2613

@Techatrix

Description

@Techatrix

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions