jdt_implement_interface: implements-Klausel wird per String eingefügt statt ASTRewrite #101

Open
opened 2026-09-07 21:45:01 +00:00 by hauschel.fred · 0 comments
Collaborator

Problem

addImplementsClause in CodeGenerationTools.java (ca. Z. 669-727) fügt die
implements-Klausel per String-Manipulation statt ASTRewrite ein.

Die 8 Stellen aus #52 wurden in PR #94 auf ASTRewrite umgestellt — addImplementsClause
war nicht Teil der dortigen Fundstellen und blieb die letzte string-basierte Einfügung.

Auswirkung

Kann bei komplexen Deklarationen (verschachtelte Generics, mehrere Annotations) fehlschlagen.

Das README nannte in „Bekannte Einschränkungen" fälschlich jdt_extract_interface als
betroffenes Tool — tatsächlich betroffen ist jdt_implement_interface.

Erwartung

  • ListRewrite auf TypeDeclaration.SUPER_INTERFACE_TYPES_PROPERTY statt String-Parsing
  • E2E-Testfall in tests/refactoring-test.sh oder einem Smoke-Test

Refs

#52, #94

## Problem `addImplementsClause` in `CodeGenerationTools.java` (ca. Z. 669-727) fügt die `implements`-Klausel per String-Manipulation statt ASTRewrite ein. Die 8 Stellen aus #52 wurden in PR #94 auf ASTRewrite umgestellt — `addImplementsClause` war nicht Teil der dortigen Fundstellen und blieb die letzte string-basierte Einfügung. ## Auswirkung Kann bei komplexen Deklarationen (verschachtelte Generics, mehrere Annotations) fehlschlagen. Das README nannte in „Bekannte Einschränkungen" fälschlich `jdt_extract_interface` als betroffenes Tool — tatsächlich betroffen ist `jdt_implement_interface`. ## Erwartung - `ListRewrite` auf `TypeDeclaration.SUPER_INTERFACE_TYPES_PROPERTY` statt String-Parsing - E2E-Testfall in `tests/refactoring-test.sh` oder einem Smoke-Test ## Refs #52, #94
Commenting is not possible because the repository is archived.
No project
No assignees
1 participant
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#101
No description provided.