Skip to content

Commit e88736a

Browse files
committed
discard original working copy for class files
Signed-off-by: Shi Chen <[email protected]>
1 parent b4a2595 commit e88736a

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/handlers/PasteEventHandler.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,9 +262,11 @@ public static DocumentPasteEdit getMissingImportsWorkspaceEdit(PasteEventParams
262262
tempUnit.applyTextEdit(new ReplaceEdit(offset, length, insertText), monitor);
263263
if (originalDocumentUri != null) {
264264
ICompilationUnit tempOriginalUnit = JDTUtils.resolveCompilationUnit(originalDocumentUri);
265+
boolean isClassFile = false;
265266
if (tempOriginalUnit == null) {
266267
IClassFile classFile = JDTUtils.resolveClassFile(originalDocumentUri);
267268
if (classFile != null) {
269+
isClassFile = true;
268270
tempOriginalUnit = classFile.getWorkingCopy(new WorkingCopyOwner() {
269271
}, monitor);
270272
}
@@ -284,7 +286,9 @@ public static DocumentPasteEdit getMissingImportsWorkspaceEdit(PasteEventParams
284286
return candidates.toArray(new ImportCandidate[] {});
285287
};
286288
}
287-
tempOriginalUnit.discardWorkingCopy();
289+
if (isClassFile) {
290+
tempOriginalUnit.discardWorkingCopy();
291+
}
288292
}
289293
TextEdit edit = OrganizeImportsHandler.organizeImports(tempUnit, chooseFunc, true, monitor);
290294
if (edit == null) {

0 commit comments

Comments
 (0)