diff --git a/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceBase.java b/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceBase.java index c4ccde5129aa..028ba4f055e0 100644 --- a/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceBase.java +++ b/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceBase.java @@ -24,6 +24,7 @@ import com.intellij.openapi.project.ProjectUtil; import com.intellij.openapi.roots.ProjectFileIndex; import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.util.ModificationTracker; +import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.ThrowableComputable; import com.intellij.openapi.util.io.FileAttributes; @@ -32,6 +33,7 @@ import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.registry.RegistryManager; import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiNamedElement; @@ -359,7 +361,13 @@ public abstract class CompilerReferenceServiceBase element.getContainingFile()); + Pair result = ReadAction.compute( + () -> new Pair<>(element.getContainingFile(), + element instanceof PsiClass psiClass && psiClass.isRecord())); + if (result.second) { + return false; //a workaround until jps-javac-extension will not be fixed + } + PsiFile file = result.getFirst(); return file != null && !InjectedLanguageManager.getInstance(project).isInjectedFragment(file); }