Fix AWT freeze in KotlinNativeABICompatibilityChecker (part 2)

Issue #KT-35052
This commit is contained in:
Dmitriy Dolovov
2019-11-22 20:57:54 +07:00
parent 0747a4d9b7
commit 58dd9a6004
17 changed files with 73 additions and 53 deletions
@@ -8,13 +8,12 @@ package org.jetbrains.kotlin.idea.caches.project
import com.intellij.openapi.module.Module
import com.intellij.openapi.module.ModuleManager
import com.intellij.openapi.project.Project
import com.intellij.openapi.projectRoots.ProjectJdkTable
import com.intellij.openapi.projectRoots.Sdk
import com.intellij.openapi.roots.JdkOrderEntry
import com.intellij.openapi.roots.LibraryOrderEntry
import com.intellij.openapi.roots.ModuleRootManager
import org.jetbrains.kotlin.caches.project.cacheInvalidatingOnRootModifications
import org.jetbrains.kotlin.idea.util.application.runReadAction
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.isCommon
import org.jetbrains.kotlin.types.typeUtil.closure
@@ -93,6 +92,4 @@ private fun mergePlatformModules(
return rest + platformModules
}
internal fun getAllProjectSdks(): Array<Sdk> = runReadAction {
ProjectJdkTable.getInstance().allJdks
}
internal fun getAllProjectSdks(): Array<Sdk> = getProjectJdkTableSafe().allJdks
@@ -0,0 +1,13 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
@file:JvmName("IjPlatformUtil")
package org.jetbrains.kotlin.idea.util
import com.intellij.openapi.projectRoots.ProjectJdkTable
import org.jetbrains.kotlin.idea.util.application.runReadAction
fun getProjectJdkTableSafe(): ProjectJdkTable = runReadAction { ProjectJdkTable.getInstance() }