Fix readAccess in ResolveSession.java on checking is a local declaration

#EA-213627 Fixed
This commit is contained in:
Vladimir Dolzhenko
2019-10-15 12:21:05 +02:00
parent 78527abad9
commit 46a083cd1e
@@ -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);