Fix readAccess in ResolveSession.java on checking is a local declaration
#EA-213627 Fixed
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
package org.jetbrains.kotlin.resolve.lazy;
|
package org.jetbrains.kotlin.resolve.lazy;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
import com.intellij.openapi.application.ReadAction;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import com.intellij.util.containers.ContainerUtil;
|
import com.intellij.util.containers.ContainerUtil;
|
||||||
import kotlin.annotations.jvm.ReadOnly;
|
import kotlin.annotations.jvm.ReadOnly;
|
||||||
@@ -325,7 +326,8 @@ public class ResolveSession implements KotlinCodeAnalyzer, LazyClassContext {
|
|||||||
+ "\n. Change the caller accordingly"
|
+ "\n. Change the caller accordingly"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (!KtPsiUtil.isLocal(declaration)) {
|
final boolean isLocal = ReadAction.compute(() -> KtPsiUtil.isLocal(declaration));
|
||||||
|
if (!isLocal){
|
||||||
return lazyDeclarationResolver.resolveToDescriptor(declaration);
|
return lazyDeclarationResolver.resolveToDescriptor(declaration);
|
||||||
}
|
}
|
||||||
return localDescriptorResolver.resolveLocalDeclaration(declaration);
|
return localDescriptorResolver.resolveLocalDeclaration(declaration);
|
||||||
|
|||||||
Reference in New Issue
Block a user