fix: cross-module references use element-based search pattern (#18) #19

Merged
fred merged 1 commit from fix/18-cross-module-references into main 2026-03-07 15:31:38 +00:00
Collaborator

Summary

  • findReferences: Von string-basiertem SearchPattern.createPattern(String, ...) auf element-basiertes SearchPattern.createPattern(IJavaElement, ...) umgestellt — string-basiert findet Cross-Module-Referenzen nicht
  • Alle Such-Tools: createWorkspaceScope()createJavaSearchScope(allProjects) für zuverlässige Cross-Module-Suche
  • Rename-Fehlerbehandlung: Exception-Cause-Chain und Top-5 Stackframes für bessere Crash-Diagnose

Betroffene Dateien

Datei Änderung
CodeAnalysisTools.java findReferences element-basiert + resolveElement() Hilfsmethode
NavigationTools.java findCallers Scope-Fix
DocumentationTools.java findAnnotatedElements Scope-Fix
RefactoringTools.java Rename-Fehlerdiagnose verbessert

Test plan

  • jdt_find_references("...VocabCg", "CLASS") cross-module → erwartet ~13+ statt 0
  • jdt_find_references("...VocabCg#CACHED_AT", "FIELD") cross-module → erwartet 12 statt 0
  • jdt_rename_element preview cross-module → kein Crash oder bessere Fehlermeldung
  • Intra-module jdt_find_references weiterhin funktional

Closes #18

## Summary - **`findReferences`**: Von string-basiertem `SearchPattern.createPattern(String, ...)` auf element-basiertes `SearchPattern.createPattern(IJavaElement, ...)` umgestellt — string-basiert findet Cross-Module-Referenzen nicht - **Alle Such-Tools**: `createWorkspaceScope()` → `createJavaSearchScope(allProjects)` für zuverlässige Cross-Module-Suche - **Rename-Fehlerbehandlung**: Exception-Cause-Chain und Top-5 Stackframes für bessere Crash-Diagnose ## Betroffene Dateien | Datei | Änderung | |-------|----------| | `CodeAnalysisTools.java` | `findReferences` element-basiert + `resolveElement()` Hilfsmethode | | `NavigationTools.java` | `findCallers` Scope-Fix | | `DocumentationTools.java` | `findAnnotatedElements` Scope-Fix | | `RefactoringTools.java` | Rename-Fehlerdiagnose verbessert | ## Test plan - [ ] `jdt_find_references("...VocabCg", "CLASS")` cross-module → erwartet ~13+ statt 0 - [ ] `jdt_find_references("...VocabCg#CACHED_AT", "FIELD")` cross-module → erwartet 12 statt 0 - [ ] `jdt_rename_element` preview cross-module → kein Crash oder bessere Fehlermeldung - [ ] Intra-module `jdt_find_references` weiterhin funktional Closes #18
fix: cross-module references use element-based search pattern (#18)
All checks were successful
Build and Release / build (push) Successful in 3m50s
a57270a9a7
- findReferences: resolve IJavaElement first, then use element-based
  SearchPattern instead of string-based (which fails cross-module)
- All search tools: replace createWorkspaceScope() with explicit
  createJavaSearchScope(allProjects) for reliable cross-module search
- Rename error handling: include exception cause chain and stack trace
  for better crash diagnostics

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fred merged commit a57270a9a7 into main 2026-03-07 15:31:38 +00:00
fred deleted branch fix/18-cross-module-references 2026-03-07 15:31:38 +00:00
Sign in to join this conversation.
No description provided.