jdt_inline: InlineMethodRefactoring.create() liefert null für bestimmte statische Factory-Methoden (headless) #81

Open
opened 2026-07-20 12:48:40 +00:00 by hauschel.fred · 0 comments
Collaborator

Beschreibung

jdt_inline kann bestimmte statische Factory-Methoden nicht inlinen. Im Headless-Modus liefert InlineMethodRefactoring.create() für manche Method-Patterns null, wodurch das Refactoring nicht ausgeführt werden kann.

Diese Einschränkung ist bereits in der README (Abschnitt „Bekannte Einschränkungen") dokumentiert, hatte bisher aber kein zugehöriges Issue.

Betroffenes Tool

  • jdt_inline

Ursache

JDT-Bug: InlineMethodRefactoring.create() gibt im Headless-Modus für bestimmte Method-Patterns (u.a. statische Factory-Methoden) null zurück.

Abgrenzung

Nicht identisch mit #43/#44/#47 — diese betrafen den cross-modul NPE/null bei move_type/change_method_signature/inline und wurden in v0.2.17 gefixt. Hier geht es um das grundsätzliche create() == null für spezielle (statische Factory-)Method-Patterns, auch innerhalb eines Moduls.

Erwartetes Verhalten

  • Entweder das Inline gelingt, oder
  • es wird ein aussagekräftiger Fehler zurückgegeben (statt eines stillen null), der den nicht unterstützten Method-Pattern-Fall benennt.

Referenz

README → „Bekannte Einschränkungen", Zeile jdt_inline (bisher ohne Issue-Link).

## Beschreibung `jdt_inline` kann bestimmte **statische Factory-Methoden** nicht inlinen. Im Headless-Modus liefert `InlineMethodRefactoring.create()` für manche Method-Patterns `null`, wodurch das Refactoring nicht ausgeführt werden kann. Diese Einschränkung ist bereits in der README (Abschnitt „Bekannte Einschränkungen") dokumentiert, hatte bisher aber kein zugehöriges Issue. ## Betroffenes Tool - `jdt_inline` ## Ursache JDT-Bug: `InlineMethodRefactoring.create()` gibt im Headless-Modus für bestimmte Method-Patterns (u.a. statische Factory-Methoden) `null` zurück. ## Abgrenzung Nicht identisch mit #43/#44/#47 — diese betrafen den **cross-modul** NPE/null bei `move_type`/`change_method_signature`/`inline` und wurden in v0.2.17 gefixt. Hier geht es um das grundsätzliche `create() == null` für spezielle (statische Factory-)Method-Patterns, auch innerhalb eines Moduls. ## Erwartetes Verhalten - Entweder das Inline gelingt, oder - es wird ein aussagekräftiger Fehler zurückgegeben (statt eines stillen `null`), der den nicht unterstützten Method-Pattern-Fall benennt. ## Referenz README → „Bekannte Einschränkungen", Zeile `jdt_inline` (bisher ohne Issue-Link).
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#81
No description provided.