diff --git a/platform/lang-api/src/com/intellij/application/options/CodeStyle.java b/platform/lang-api/src/com/intellij/application/options/CodeStyle.java index faf81b160c4d..a06865d4ab7c 100644 --- a/platform/lang-api/src/com/intellij/application/options/CodeStyle.java +++ b/platform/lang-api/src/com/intellij/application/options/CodeStyle.java @@ -11,7 +11,6 @@ import com.intellij.psi.PsiFile; import com.intellij.psi.codeStyle.*; import com.intellij.psi.codeStyle.modifier.CodeStyleSettingsModifier; import com.intellij.psi.codeStyle.modifier.TransientCodeStyleSettings; -import com.intellij.psi.util.CachedValuesManager; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; @@ -87,7 +86,7 @@ public class CodeStyle { if (!file.isPhysical()) { return getSettings(project); } - return CachedValuesManager.getCachedValue(file, CodeStyleCachedValueProvider.getInstance(file)); + return CodeStyleCachedValueProvider.getInstance(file).tryGetSettings(); } diff --git a/platform/lang-api/src/com/intellij/application/options/CodeStyleCachedValueProvider.java b/platform/lang-api/src/com/intellij/application/options/CodeStyleCachedValueProvider.java index 61915ccc8037..10d6e0acc126 100644 --- a/platform/lang-api/src/com/intellij/application/options/CodeStyleCachedValueProvider.java +++ b/platform/lang-api/src/com/intellij/application/options/CodeStyleCachedValueProvider.java @@ -14,6 +14,7 @@ import com.intellij.psi.codeStyle.CodeStyleSettingsManager; import com.intellij.psi.codeStyle.modifier.CodeStyleSettingsModifier; import com.intellij.psi.codeStyle.modifier.TransientCodeStyleSettings; import com.intellij.psi.util.CachedValueProvider; +import com.intellij.psi.util.CachedValuesManager; import com.intellij.util.ArrayUtil; import com.intellij.util.concurrency.AppExecutorUtil; import org.jetbrains.annotations.NotNull; @@ -21,6 +22,8 @@ import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReentrantLock; class CodeStyleCachedValueProvider implements CachedValueProvider { private final static Logger LOG = Logger.getInstance(CodeStyleCachedValueProvider.class); @@ -29,12 +32,28 @@ class CodeStyleCachedValueProvider implements CachedValueProvider compute() { @@ -106,27 +125,33 @@ class CodeStyleCachedValueProvider implements CachedValueProvider