Skip to content

Resolve names to all their candidate definitions#1259

Open
lionel- wants to merge 4 commits into
oak/salsa-20-package-layersfrom
oak/salsa-21-multi-target
Open

Resolve names to all their candidate definitions#1259
lionel- wants to merge 4 commits into
oak/salsa-20-package-layersfrom
oak/salsa-21-multi-target

Conversation

@lionel-
Copy link
Copy Markdown
Contributor

@lionel- lionel- commented Jun 5, 2026

Branched from #1258
Progress towards #1212

Symbol resolvers that don't take cursor offsets (File::resolve(), resolve_at(), etc) now return all potential candidates, rather than the last one. The goto-def, find-refs, and rename handlers now offer all of them.

  • Candidates come back in definition order, with R's runtime winner (last assignment wins) as the last element, and that order is preserved across source() imports.

  • A top-level <<- now records a single file-scope definition carrying both IS_SUPER_BOUND and IS_BOUND, rather than a marker plus a same-scope target. At file scope there's no enclosing frame to walk to, so the two coincide. This avoids a spurious duplicate candidate.

@lionel- lionel- force-pushed the oak/salsa-21-multi-target branch from 88e8c56 to 3bba52f Compare June 5, 2026 10:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant