chapel-lang / chapel

a Productive Parallel Programming Language
https://chapel-lang.org
Other
1.75k stars 410 forks source link

chapel-py: scope resolve uses and imports #24908

Closed DanilaFe closed 3 weeks ago

DanilaFe commented 3 weeks ago

Fixes https://github.com/chapel-lang/chapel/issues/24905.

This PR beefs up the logic for scope resolving identifiers that occur in the use / rename list of a node. When the node-to-be-resolved is part of a visibility clause such as the 'x' in use M only x or the b in import M.{a as b} etc, the new logic performs a proper scope search of the module being accessed. Thus, when the user hovers over 'fillRandom', which is a visibility clause, the scope resolution process now finds a 'fillRandom' overload.

image

Reviewed by @jabraham17 -- thanks!

Testing