fix: goto def jumping to runtime callee for complex let bindings - #2317
fix: goto def jumping to runtime callee for complex let bindings#2317hongjr03 wants to merge 1 commit into
Conversation
Summary of ChangesHello @hongjr03, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request resolves a critical regression in the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request addresses a regression in 'Go to Definition' functionality for complex let bindings. The change is straightforward and correct: it switches from a definition resolution function that includes dynamic analysis (def_of_syntax_or_dyn) to one that relies purely on static analysis (def_of_syntax). This ensures that 'Go to Definition' consistently navigates to the static declaration of an identifier, which aligns with user expectations and standard language server behavior. The fix is validated by a new, well-crafted test case that reproduces the problematic scenario. The changes are clean, targeted, and I have no further suggestions for improvement.
Fixes the regression introduced in #1904:
GotoDefinitionallowed dynamic analysis to override static bindings, causing definitions to resolve to runtime value origins instead of identifier bindings, which does not match its semantics.Closes #2315.