From 46a083cd1e1e0d1fc42e85d4726ce81f2624523c Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Tue, 15 Oct 2019 12:21:05 +0200 Subject: [PATCH] Fix readAccess in ResolveSession.java on checking is a local declaration #EA-213627 Fixed --- .../src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java index ee5c93753af..6b23477eebd 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/ResolveSession.java @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.resolve.lazy; import com.google.common.collect.Lists; +import com.intellij.openapi.application.ReadAction; import com.intellij.openapi.project.Project; import com.intellij.util.containers.ContainerUtil; import kotlin.annotations.jvm.ReadOnly; @@ -325,7 +326,8 @@ public class ResolveSession implements KotlinCodeAnalyzer, LazyClassContext { + "\n. Change the caller accordingly" ); } - if (!KtPsiUtil.isLocal(declaration)) { + final boolean isLocal = ReadAction.compute(() -> KtPsiUtil.isLocal(declaration)); + if (!isLocal){ return lazyDeclarationResolver.resolveToDescriptor(declaration); } return localDescriptorResolver.resolveLocalDeclaration(declaration);