From a13e2d510f0e619f138ecf00b3f3ecffa7f0510f Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Mon, 28 Mar 2011 11:00:18 +0400 Subject: [PATCH] optimization --- .../tree/injected/InjectedFileViewProvider.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedFileViewProvider.java b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedFileViewProvider.java index 79d46cefb692..88e63c3fccad 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedFileViewProvider.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedFileViewProvider.java @@ -37,12 +37,11 @@ import java.util.List; * @author cdr */ public class InjectedFileViewProvider extends SingleRootFileViewProvider { - private final Object LOCK = new Object(); private Place myShreds; private Project myProject; private final Object myLock = new Object(); private final DocumentWindow myDocumentWindow; - private boolean physical = true; + private volatile boolean physical = true; InjectedFileViewProvider(@NotNull PsiManager psiManager, @NotNull VirtualFileWindow virtualFile, @@ -142,21 +141,17 @@ public class InjectedFileViewProvider extends SingleRootFileViewProvider { @Override public boolean isEventSystemEnabled() { - if (LOCK == null) return true; // hack to avoid NPE when this method called from super class constructor - synchronized (LOCK) { - return physical; - } + if (myLock == null) return true; // hack to avoid NPE when this method called from super class constructor + return physical; } @Override public boolean isPhysical() { - synchronized (LOCK) { - return physical; - } + return isEventSystemEnabled(); } public void performNonPhysically(Runnable runnable) { - synchronized (LOCK) { + synchronized (myLock) { physical = false; try { runnable.run();