From 8627ab083275c5dbec42699ddc0bbf18001b2bde Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 22 Apr 2016 20:26:21 +0200 Subject: [PATCH] avoid explicit document commit when setting/getting editor state --- .../codeInsight/folding/impl/CodeFoldingManagerImpl.java | 1 - .../codeInsight/folding/impl/DocumentFoldingInfo.java | 4 +--- .../fileEditor/impl/text/PsiAwareTextEditorProvider.java | 3 +-- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/CodeFoldingManagerImpl.java b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/CodeFoldingManagerImpl.java index f7e436086ce3..80ac45003bbe 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/CodeFoldingManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/CodeFoldingManagerImpl.java @@ -186,7 +186,6 @@ public class CodeFoldingManagerImpl extends CodeFoldingManager implements Projec Document document = editor.getDocument(); PsiFile file = PsiDocumentManager.getInstance(myProject).getPsiFile(document); if (file == null || !file.getViewProvider().isPhysical() || !file.isValid()) return; - PsiDocumentManager.getInstance(myProject).commitDocument(document); Editor[] otherEditors = EditorFactory.getInstance().getEditors(document, myProject); if (otherEditors.length == 0 && !editor.isDisposed()) { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/DocumentFoldingInfo.java b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/DocumentFoldingInfo.java index 294b8ee6544f..b29f4c6a5366 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/DocumentFoldingInfo.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/DocumentFoldingInfo.java @@ -80,9 +80,7 @@ class DocumentFoldingInfo implements JDOMExternalizable, CodeFoldingState { LOG.assertTrue(!editor.isDisposed()); clear(); - PsiDocumentManager documentManager = PsiDocumentManager.getInstance(myProject); - documentManager.commitDocument(editor.getDocument()); - PsiFile file = documentManager.getPsiFile(editor.getDocument()); + PsiFile file = PsiDocumentManager.getInstance(myProject).getPsiFile(editor.getDocument()); SmartPointerManager smartPointerManager = SmartPointerManager.getInstance(myProject); EditorFoldingInfo info = EditorFoldingInfo.get(editor); diff --git a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/text/PsiAwareTextEditorProvider.java b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/text/PsiAwareTextEditorProvider.java index 89866c888758..c4b72aa189f3 100644 --- a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/text/PsiAwareTextEditorProvider.java +++ b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/text/PsiAwareTextEditorProvider.java @@ -137,7 +137,6 @@ public class PsiAwareTextEditorProvider extends TextEditorProvider implements As if (FileEditorStateLevel.FULL == level) { // Folding if (project != null && !project.isDisposed() && !editor.isDisposed() && project.isInitialized()) { - PsiDocumentManager.getInstance(project).commitDocument(editor.getDocument()); state.setFoldingState(CodeFoldingManager.getInstance(project).saveFoldingState(editor)); } else { @@ -154,7 +153,7 @@ public class PsiAwareTextEditorProvider extends TextEditorProvider implements As // Folding final CodeFoldingState foldState = state.getFoldingState(); if (project != null && foldState != null) { - PsiDocumentManager.getInstance(project).commitDocument(editor.getDocument()); + LOG.assertTrue(PsiDocumentManager.getInstance(project).isCommitted(editor.getDocument())); editor.getFoldingModel().runBatchFoldingOperation( () -> CodeFoldingManager.getInstance(project).restoreFoldingState(editor, foldState) );