jdt_move_type: Änderungen werden nicht auf Disk geschrieben #79
Labels
No labels
bug
build
enhancement
headless
P1-critical
P2-high
P3-medium
P4-low
refactoring
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ai-tools/jdt-mcp-server#79
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
jdt_move_typemeldetSUCCESS, aber die Änderungen landen nicht auf dem Filesystem. Das Refactoring findet nur im In-Memory-Buffer statt.Reproduktion
Rückgabe:
{"status": "SUCCESS", "newLocation": "de.g4ch.cg.shared.vocab.VocabAs"}Tatsächliches Ergebnis auf Disk:
Ursache
Change.perform()schreibt im Headless-Mode in denITextFileBufferManagerIn-Memory-Buffer. Ohne Eclipse UI fehlt der automatische Save.Bisheriger Fix-Versuch (Problem 3)
In
RefactoringSupport.performChange()wurde ein expliziter Flush implementiert:IFiles aus dem Change-Tree sammelnICompilationUnit.hasUnsavedChanges()prüfencu.save()aufrufenrefreshLocal()auf betroffene ProjekteDieser Fix greift nicht zuverlässig. Mögliche Ursachen:
hasUnsavedChanges()liefertfalseobwohl der Buffer dirty istNächster Schritt
Log-Output in
RefactoringSupport.performChange()hinzufügen, um zu prüfen:Kontext
Reproduziert in zwei unabhängigen Sessions (ActorId, VocabAs) mit identischem Verhalten — jeweils genau 1 von ~85 Dateien auf Disk aktualisiert. Siehe
agent_communication.md(Problem 3 + Problem 5).