From fa40e1480970d4e6b5c1cadc3fca927aa9ee91a8 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 24 Jun 2013 14:18:36 +0200 Subject: [PATCH] psi/document sync cleanup --- .../psi/impl/DocumentCommitProcessor.java | 2 -- .../psi/impl/PsiDocumentManagerBase.java | 3 -- .../impl/smartPointers/ClsElementInfo.java | 5 --- .../impl/smartPointers/FileElementInfo.java | 4 --- .../impl/smartPointers/HardElementInfo.java | 4 --- .../impl/smartPointers/SelfElementInfo.java | 5 --- .../SmartPointerElementInfo.java | 1 - .../impl/smartPointers/SmartPointerEx.java | 1 - .../SmartPointerManagerImpl.java | 33 ------------------- .../SmartPsiElementPointerImpl.java | 5 --- .../psi/impl/PsiDocumentManagerImpl.java | 14 -------- 11 files changed, 77 deletions(-) diff --git a/platform/core-impl/src/com/intellij/psi/impl/DocumentCommitProcessor.java b/platform/core-impl/src/com/intellij/psi/impl/DocumentCommitProcessor.java index 7673edd91102..e5b15a8d7854 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/DocumentCommitProcessor.java +++ b/platform/core-impl/src/com/intellij/psi/impl/DocumentCommitProcessor.java @@ -36,7 +36,6 @@ import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiLock; import com.intellij.psi.codeStyle.CodeStyleManager; -import com.intellij.psi.impl.smartPointers.SmartPointerManagerImpl; import com.intellij.psi.impl.source.PsiFileImpl; import com.intellij.psi.impl.source.text.DiffLog; import com.intellij.psi.impl.source.tree.FileElement; @@ -163,7 +162,6 @@ public abstract class DocumentCommitProcessor { } finally { textBlock.clear(); - SmartPointerManagerImpl.synchronizePointers(file); //todo it's empty anyway, remove } return true; diff --git a/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java b/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java index b3dc474d995c..fbb0a9f9a8df 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java +++ b/platform/core-impl/src/com/intellij/psi/impl/PsiDocumentManagerBase.java @@ -365,9 +365,6 @@ public abstract class PsiDocumentManagerBase extends PsiDocumentManager implemen }); } - public void commitOtherFilesAssociatedWithDocument(final Document document, final PsiFile psiFile) { - } - @Override public T commitAndRunReadAction(@NotNull final Computable computation) { final Ref ref = Ref.create(null); diff --git a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/ClsElementInfo.java b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/ClsElementInfo.java index 91d15d3b2941..296b2ace352c 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/ClsElementInfo.java +++ b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/ClsElementInfo.java @@ -50,11 +50,6 @@ public class ClsElementInfo implements SmartPointerElementInfo { public void unfastenBelt(int offset) { } - // commit - @Override - public void documentAndPsiInSync() { - } - @Override public PsiElement restoreElement() { return myStubIndexReference.retrieve(); diff --git a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/FileElementInfo.java b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/FileElementInfo.java index a4356e3a9b7b..9650b4e2c874 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/FileElementInfo.java +++ b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/FileElementInfo.java @@ -53,10 +53,6 @@ class FileElementInfo implements SmartPointerElementInfo { return null; } - @Override - public void documentAndPsiInSync() { - } - @Override public void fastenBelt(int offset, RangeMarker[] cachedRangeMarker) { } diff --git a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/HardElementInfo.java b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/HardElementInfo.java index f769351741e9..99634f968822 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/HardElementInfo.java +++ b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/HardElementInfo.java @@ -42,10 +42,6 @@ class HardElementInfo implements SmartPointerElementInfo { return null; } - @Override - public void documentAndPsiInSync() { - } - @Override public void fastenBelt(int offset, RangeMarker[] cachedRangeMarker) { } diff --git a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SelfElementInfo.java b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SelfElementInfo.java index c3fa384ef0d2..e5d313d84c9d 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SelfElementInfo.java +++ b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SelfElementInfo.java @@ -161,11 +161,6 @@ public class SelfElementInfo implements SmartPointerElementInfo { myRangeMarker = null; // clear hard ref to avoid leak, hold soft ref for not recreating marker later } - // commit - @Override - public void documentAndPsiInSync() { - } - @Override public PsiElement restoreElement() { if (!mySyncMarkerIsValid) return null; diff --git a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPointerElementInfo.java b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPointerElementInfo.java index 4a8b5ecb4cfb..502096ed5e52 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPointerElementInfo.java +++ b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPointerElementInfo.java @@ -29,7 +29,6 @@ interface SmartPointerElementInfo { @Nullable Document getDocumentToSynchronize(); - void documentAndPsiInSync(); void fastenBelt(int offset, RangeMarker[] cachedRangeMarkers); void unfastenBelt(int offset); diff --git a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPointerEx.java b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPointerEx.java index afed7d94ef9e..acce06a05bff 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPointerEx.java +++ b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPointerEx.java @@ -22,7 +22,6 @@ import org.jetbrains.annotations.Nullable; public interface SmartPointerEx extends SmartPsiElementPointer { void fastenBelt(int offset, @Nullable RangeMarker[] cachedRangeMarkers); - void documentAndPsiInSync(); void unfastenBelt(int offset); diff --git a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPointerManagerImpl.java b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPointerManagerImpl.java index be7edcf16a61..eaa48726365f 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPointerManagerImpl.java +++ b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPointerManagerImpl.java @@ -17,11 +17,9 @@ package com.intellij.psi.impl.smartPointers; import com.intellij.injected.editor.DocumentWindow; -import com.intellij.lang.Language; import com.intellij.lang.injection.InjectedLanguageManager; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.RangeMarker; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Key; @@ -37,7 +35,6 @@ import org.jetbrains.annotations.TestOnly; import java.lang.ref.Reference; import java.util.List; -import java.util.Set; public class SmartPointerManagerImpl extends SmartPointerManager { private static final Logger LOG = Logger.getInstance("#com.intellij.psi.impl.smartPointers.SmartPointerManagerImpl"); @@ -108,36 +105,6 @@ public class SmartPointerManagerImpl extends SmartPointerManager { } } - public static void synchronizePointers(@NotNull PsiFile file) { - final Set languages = file.getViewProvider().getLanguages(); - for (Language language : languages) { - final PsiFile f = file.getViewProvider().getPsi(language); - synchronized (f) { - _synchronizePointers(f); - } - } - } - - private static void _synchronizePointers(@NotNull PsiFile file) { - List pointers = getPointers(file); - if (pointers == null) return; - - //noinspection ForLoopReplaceableByForEach - for (int i = 0; i < pointers.size(); i++) { - SmartPointerEx pointer = pointers.get(i); - if (pointer != null) { - pointer.documentAndPsiInSync(); - } - } - - final PsiDocumentManager psiDocumentManager = PsiDocumentManager.getInstance(file.getProject()); - for (Document document : InjectedLanguageManager.getInstance(file.getProject()).getCachedInjectedDocuments(file)) { - PsiFile injectedfile = psiDocumentManager.getPsiFile(document); - if (injectedfile == null) continue; - _synchronizePointers(injectedfile); - } - } - private static final Key> CACHED_SMART_POINTER_KEY = Key.create("CACHED_SMART_POINTER_KEY"); @Override @NotNull diff --git a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPsiElementPointerImpl.java b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPsiElementPointerImpl.java index d45ff3035605..566f60ef0abb 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPsiElementPointerImpl.java +++ b/platform/core-impl/src/com/intellij/psi/impl/smartPointers/SmartPsiElementPointerImpl.java @@ -175,11 +175,6 @@ class SmartPsiElementPointerImpl implements SmartPointerEx return new SelfElementInfo(project, proper, element.getClass(), containingFile, containingFile.getLanguage()); } - @Override - public void documentAndPsiInSync() { - myElementInfo.documentAndPsiInSync(); - } - @Override public void unfastenBelt(int offset) { myElementInfo.unfastenBelt(offset); diff --git a/platform/lang-impl/src/com/intellij/psi/impl/PsiDocumentManagerImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/PsiDocumentManagerImpl.java index e8cce0303c3a..ed24be1f9f0c 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/PsiDocumentManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/PsiDocumentManagerImpl.java @@ -140,20 +140,6 @@ public class PsiDocumentManagerImpl extends PsiDocumentManagerBase implements Se return super.finishCommitInWriteAction(document, finishProcessors, synchronously); } - @Override - public void commitOtherFilesAssociatedWithDocument(final Document document, final PsiFile psiFile) { - super.commitOtherFilesAssociatedWithDocument(document, psiFile); - final FileViewProvider viewProvider = getCachedViewProvider(document); - if (viewProvider != null && viewProvider.getAllFiles().size() > 1) { - PostprocessReformattingAspect.getInstance(myProject).disablePostprocessFormattingInside(new Runnable() { - @Override - public void run() { - doCommit(document, psiFile); - } - }); - } - } - @Override public boolean isDocumentBlockedByPsi(@NotNull Document doc) { final FileViewProvider viewProvider = getCachedViewProvider(doc);