From a336b465077fcee008e8426eab63b486a6f6b322 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 24 Sep 2019 11:30:40 +0200 Subject: [PATCH] Restore old implementation of CodeInsightTestFixture.getFile() (IDEA-CR-52754) GitOrigin-RevId: 60b428ff13916ea63c043721059e9c620de9e6b0 --- .../fixtures/impl/CodeInsightTestFixtureImpl.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java index 22a143962b8f..259bbde3c389 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java @@ -153,8 +153,11 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig private final TempDirTestFixture myTempDirFixture; private PsiManagerImpl myPsiManager; private VirtualFile myFile; + + // Strong references to PSI files configured by the test (to avoid tree access assertions after PSI has been GC'ed) private PsiFile myPsiFile; private PsiFile[] myAllPsiFiles; + private Editor myEditor; private EditorTestFixture myEditorTestFixture; private String myTestDataPath; @@ -1570,14 +1573,7 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig @Override public PsiFile getFile() { - return ReadAction.compute(() -> { - PsiFile psiFile = myPsiFile; - if (psiFile != null && !psiFile.isValid()) { - psiFile = PsiManager.getInstance(getProject()).findFile(myFile); - myPsiFile = psiFile; - } - return psiFile; - }); + return myFile != null ? ReadAction.compute(() -> PsiManager.getInstance(getProject()).findFile(myFile)) : null; } @Override