Extract Interface nutzt String-Manipulation statt ASTRewrite #35

Closed
opened 2026-03-08 09:26:23 +00:00 by automation · 1 comment
Collaborator

Problem

extractInterface() baut die Interface-Source manuell per StringBuilder zusammen und modifiziert die Klasse per String-indexOf/substring. Das ist fragil und kann bei komplexen Klassen-Deklarationen (Generics, mehrere Interfaces, Annotations) fehlschlagen.

Betroffener Code

RefactoringTools.java Zeilen 852-1035

Vorgeschlagener Fix

Nutze JDT ASTRewrite API oder die interne ExtractInterfaceRefactoring Klasse.

Kontext

Identifiziert bei der Architektur-Analyse durch Agent jdt-gamma (Erich Gamma).

## Problem `extractInterface()` baut die Interface-Source manuell per StringBuilder zusammen und modifiziert die Klasse per String-indexOf/substring. Das ist fragil und kann bei komplexen Klassen-Deklarationen (Generics, mehrere Interfaces, Annotations) fehlschlagen. ## Betroffener Code `RefactoringTools.java` Zeilen 852-1035 ## Vorgeschlagener Fix Nutze JDT `ASTRewrite` API oder die interne `ExtractInterfaceRefactoring` Klasse. ## Kontext Identifiziert bei der Architektur-Analyse durch Agent jdt-gamma (Erich Gamma).
Author
Collaborator

Gefixt in Branch fix/43-refactoring-errors:

  • StringBuilder/indexOf/substring → ExtractInterfaceProcessor + ProcessorBasedRefactoring
  • Cross-Projekt-Referenz-Updates, korrekte Generics/Annotations-Behandlung
  • JavaPreferencesSettings mit Headless-Fallback für CodeGenerationSettings

Commits: 8084c7d, 5d0e793

Gefixt in Branch `fix/43-refactoring-errors`: - StringBuilder/indexOf/substring → `ExtractInterfaceProcessor` + `ProcessorBasedRefactoring` - Cross-Projekt-Referenz-Updates, korrekte Generics/Annotations-Behandlung - `JavaPreferencesSettings` mit Headless-Fallback für `CodeGenerationSettings` Commits: `8084c7d`, `5d0e793`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ai-tools/jdt-mcp-server#35
No description provided.