You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add reverse implementors index to the partial SCIP loader (#23)
## Description
This PR adds a reverse implementors index to the partial SCIP loader
that maps each abstract/interface symbol to its implementing symbols,
built during index load by reading IsImplementation relationships. Also
implemented the registry-level implementation handler to be used in
"gotoImplementation" later. This handler resolves the symbol uses the
reverse index to fetch implementors, resolves each implementor to its
definition location, and returns those as LSP locations. If the reverse
index has no entry (e.g., incomplete data), it falls back to scanning
the symbol’s relationships to find implementors before resolving their
locations.
## Type of Change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [X] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] Documentation update
- [ ] Refactoring (no functional changes)
- [ ] Performance improvement
- [ ] Test improvement
## Component(s) Affected
- [X] Language Server (ULSP)
- [ ] SCIP Generation (Python utilities)
- [ ] VS Code/Cursor Extension
- [ ] Java Aggregator
- [ ] Build System (Bazel)
- [ ] Documentation
- [ ] Tests
## Testing
- [X] I have added tests that prove my fix is effective or that my
feature works
- [X] New and existing unit tests pass locally with my changes (`bazel
test //...`)
- [ ] I have tested this manually with a real project
### Manual Testing Details
Describe how you tested these changes:
- IDE used for testing:
- Project(s) tested against:
- Specific features/scenarios verified:
## Checklist
- [X] My code follows the existing code style and conventions
- [X] I have performed a self-review of my own code
- [X] I have commented my code, particularly in hard-to-understand areas
- [X] I have made corresponding changes to the documentation
- [X] I have updated BUILD.bazel files if I added new source files
- [X] My changes generate no new warnings
- [ ] Any dependent changes have been merged and published
## Screenshots/Logs (if applicable)
Include any relevant screenshots, logs, or output that demonstrates the
changes.
## Related Issues
Fixes #(issue number)
Closes #(issue number)
Related to #(issue number)
## Additional Notes
Any additional information that reviewers should know about this PR.
0 commit comments