Wrap file.declarations with runReadAction

#EA-209932 Fixed
This commit is contained in:
Vladimir Dolzhenko
2019-10-14 14:19:24 +02:00
parent 597e760fab
commit 10ea8abc2b
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.backend.common package org.jetbrains.kotlin.backend.common
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.backend.common.bridges.findInterfaceImplementation import org.jetbrains.kotlin.backend.common.bridges.findInterfaceImplementation
@@ -171,10 +172,12 @@ object CodegenUtil {
* Returns functions, properties and type aliases in the given [file] which should be generated by the back-end. * Returns functions, properties and type aliases in the given [file] which should be generated by the back-end.
*/ */
@JvmStatic @JvmStatic
fun getMemberDeclarationsToGenerate(file: KtFile): List<KtDeclaration> = fun getMemberDeclarationsToGenerate(file: KtFile): List<KtDeclaration> {
file.declarations.filter { declaration -> val declarations = ApplicationManager.getApplication().runReadAction<List<KtDeclaration>> { file.declarations }
return declarations.filter { declaration ->
!declaration.hasExpectModifier() && (declaration is KtNamedFunction || declaration is KtProperty || declaration is KtTypeAlias) !declaration.hasExpectModifier() && (declaration is KtNamedFunction || declaration is KtProperty || declaration is KtTypeAlias)
} }
}
@JvmStatic @JvmStatic
fun getMemberDescriptorsToGenerate(file: KtFile, bindingContext: BindingContext): List<MemberDescriptor> = fun getMemberDescriptorsToGenerate(file: KtFile, bindingContext: BindingContext): List<MemberDescriptor> =