From 1f5676a39f30df63a6c43dbd962b8d029cf38b06 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 16 Mar 2017 14:43:06 +0100 Subject: [PATCH] don't load stubs if any of the PSI roots was modified (EA-99102 - RE: FileTrees.withExclusiveStub) --- .../src/com/intellij/psi/impl/source/PsiFileImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java b/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java index 64c219cfc58a..8aded5f639e3 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java @@ -1169,7 +1169,9 @@ public abstract class PsiFileImpl extends ElementBase implements PsiFileEx, PsiF } public final boolean useStrongRefs() { - return myTrees.useStrongRefs; + if (myTrees.useStrongRefs) return true; + return myViewProvider instanceof MultiplePsiFilesPerDocumentFileViewProvider && + myViewProvider.getAllFiles().stream().anyMatch(root -> root instanceof PsiFileImpl && ((PsiFileImpl)root).myTrees.useStrongRefs); } public boolean mayCacheAst() {