Fix resolving symbols standalone files#54
Merged
Conversation
Resolving symbols failed when the workspace contained a standalone file whose class name differed from its filename, or multiple libraries sharing the same top-level name. - analyzer.ts: resolve nested library entries against `libraryPath` instead of the process CWD, so nested packages are discovered consistently. - resolveReference.ts: iterate over all libraries matching the first symbol instead of only the first `find` match, so resolution doesn't give up when a same-named library lacks the symbol. - project.ts: register standalone documents under their declared class name (not the filename) so they can be resolved by class name. - library.ts: allow a library's name to be reassigned via `rename()`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Issue
Resolving symbols failed when the workspace contained a standalone file
whose class name differed from its filename, or multiple libraries
sharing the same top-level name.
Changes
Fix reference resolution for standalone files and same-named libraries
libraryPathinstead of the process CWD, so nested packages are discovered
consistently.
symbol instead of only the first
findmatch, so resolution doesn'tgive up when a same-named library lacks the symbol.
name (not the filename) so they can be resolved by class name.
rename().