fix(julia): emit imports for qualified, relative & scoped-selected forms - #1580
Closed
Synvoya wants to merge 1 commit into
Closed
fix(julia): emit imports for qualified, relative & scoped-selected forms#1580Synvoya wants to merge 1 commit into
Synvoya wants to merge 1 commit into
Conversation
… forms Only bare-identifier imports (`using Foo`) emitted edges. tree-sitter-julia wraps qualified paths in `scoped_identifier` (`using Base.Threads`), relative paths in `import_path` (`using ..Sibling`), and the package of a `selected_import` may itself be a `scoped_identifier` (`import Base.Threads: nthreads`). None of those were matched, so qualified and relative imports were silently dropped, and scoped selected-imports pointed at the selected symbol instead of the module. Resolve the module name from identifier / scoped_identifier / import_path in all three positions. Adds fixture lines + a regression test. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Collaborator
|
Merged into |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Julia imports beyond the bare form emit no edge:
Root cause
The
using_statement/import_statementhandler only matched bareidentifierchildren. tree-sitter-julia represents qualified paths asscoped_identifier, relative paths asimport_path, and the package inside aselected_importmay itself be ascoped_identifier— none of which were handled.Fix
Resolve the module name from
identifier/scoped_identifier/import_pathin all three positions (top-level child and selected-import package).Verification
using Foo/import Bar: bazunchanged.pytest tests/test_languages.py tests/test_multilang.pypasses;ruffclean.