Convert to release coroutines (kotlinx-coroutines.1.0.1)
This commit is contained in:
+2
-2
@@ -144,8 +144,8 @@ extra["versions.junit"] = "4.12"
|
||||
extra["versions.javaslang"] = "2.0.6"
|
||||
extra["versions.ant"] = "1.8.2"
|
||||
extra["versions.android"] = "2.3.1"
|
||||
extra["versions.kotlinx-coroutines-core"] = "0.26.1-eap13"
|
||||
extra["versions.kotlinx-coroutines-jdk8"] = "0.26.1-eap13"
|
||||
extra["versions.kotlinx-coroutines-core"] = "1.0.1"
|
||||
extra["versions.kotlinx-coroutines-jdk8"] = "1.0.1"
|
||||
extra["versions.json"] = "20160807"
|
||||
extra["versions.native-platform"] = "0.14"
|
||||
extra["versions.ant-launcher"] = "1.8.0"
|
||||
|
||||
+3
-2
@@ -16,7 +16,8 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.completion
|
||||
|
||||
import kotlinx.coroutines.channels.ConflatedChannel
|
||||
import kotlinx.coroutines.channels.Channel
|
||||
import kotlinx.coroutines.channels.Channel.Factory.CONFLATED
|
||||
import java.lang.System.currentTimeMillis
|
||||
|
||||
|
||||
@@ -48,7 +49,7 @@ interface CompletionBenchmarkSink {
|
||||
|
||||
class Impl : CompletionBenchmarkSink {
|
||||
private val pendingSessions = mutableListOf<CompletionSession>()
|
||||
val channel = ConflatedChannel<CompletionBenchmarkResults>()
|
||||
val channel = Channel<CompletionBenchmarkResults>(capacity = CONFLATED)
|
||||
|
||||
private val perSessionResults = LinkedHashMap<CompletionSession, PerSessionResults>()
|
||||
private var start: Long = 0
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.intellij.psi.PsiElementFinder
|
||||
import com.intellij.psi.PsiManager
|
||||
import com.intellij.psi.search.NonClasspathDirectoriesScope
|
||||
import com.intellij.util.containers.SLRUMap
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
import org.jetbrains.kotlin.idea.core.util.EDT
|
||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||
@@ -80,7 +81,7 @@ class ScriptDependenciesCache(private val project: Project) {
|
||||
private fun updateHighlighting(files: List<VirtualFile>) {
|
||||
ScriptDependenciesModificationTracker.getInstance(project).incModificationCount()
|
||||
|
||||
launch(EDT(project)) {
|
||||
GlobalScope.launch(EDT(project)) {
|
||||
files.filter { it.isValid }.forEach {
|
||||
PsiManager.getInstance(project).findFile(it)?.let { psiFile ->
|
||||
DaemonCodeAnalyzer.getInstance(project).restart(psiFile)
|
||||
|
||||
+1
-1
@@ -79,7 +79,7 @@ class AsyncScriptDependenciesLoader(
|
||||
dispatcher: CoroutineDispatcher,
|
||||
currentTimeStamp: TimeStamp,
|
||||
doResolve: suspend () -> DependenciesResolver.ResolveResult
|
||||
): Job = launch(dispatcher + project.cancelOnDisposal) {
|
||||
): Job = GlobalScope.launch(dispatcher + project.cancelOnDisposal) {
|
||||
val result = try {
|
||||
doResolve()
|
||||
} catch (t: Throwable) {
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.Disposer
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.Runnable
|
||||
import kotlin.coroutines.AbstractCoroutineContextElement
|
||||
import kotlin.coroutines.CoroutineContext
|
||||
|
||||
|
||||
+2
-5
@@ -36,10 +36,7 @@ import com.intellij.psi.search.GlobalSearchScope
|
||||
import com.intellij.ui.components.JBLabel
|
||||
import com.intellij.ui.components.JBTextField
|
||||
import com.intellij.uiDesigner.core.GridConstraints
|
||||
import kotlinx.coroutines.CancellationException
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withTimeout
|
||||
import kotlinx.coroutines.*
|
||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||
import org.jetbrains.kotlin.idea.caches.project.ModuleOrigin
|
||||
import org.jetbrains.kotlin.idea.caches.project.getNullableModuleInfo
|
||||
@@ -61,7 +58,7 @@ abstract class AbstractCompletionBenchmarkAction : AnAction() {
|
||||
val benchmarkSink = CompletionBenchmarkSink.enableAndGet()
|
||||
val scenario = createBenchmarkScenario(project, benchmarkSink) ?: return
|
||||
|
||||
launch(EDT) {
|
||||
GlobalScope.launch(EDT) {
|
||||
scenario.doBenchmark()
|
||||
CompletionBenchmarkSink.disable()
|
||||
}
|
||||
|
||||
+4
-3
@@ -32,7 +32,8 @@ import com.intellij.psi.PsiDocumentManager
|
||||
import com.intellij.ui.components.JBPanel
|
||||
import com.intellij.ui.components.JBTextField
|
||||
import com.intellij.uiDesigner.core.GridLayoutManager
|
||||
import kotlinx.coroutines.channels.ConflatedChannel
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.channels.Channel
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import org.jetbrains.kotlin.idea.actions.internal.benchmark.AbstractCompletionBenchmarkAction.Companion.addBoxWithLabel
|
||||
@@ -76,7 +77,7 @@ class HighlightingBenchmarkAction : AnAction() {
|
||||
|
||||
val finishListener = DaemonFinishListener()
|
||||
connection.subscribe(DaemonCodeAnalyzer.DAEMON_EVENT_TOPIC, finishListener)
|
||||
launch(EDT) {
|
||||
GlobalScope.launch(EDT) {
|
||||
try {
|
||||
delay(100)
|
||||
ktFiles
|
||||
@@ -98,7 +99,7 @@ class HighlightingBenchmarkAction : AnAction() {
|
||||
private data class Settings(val seed: Long, val files: Int, val lines: Int)
|
||||
|
||||
private inner class DaemonFinishListener : DaemonCodeAnalyzer.DaemonListener {
|
||||
val channel = ConflatedChannel<String>()
|
||||
val channel = Channel<String>(capacity = Channel.CONFLATED)
|
||||
|
||||
override fun daemonFinished() {
|
||||
channel.offer(SUCCESS)
|
||||
|
||||
@@ -23,8 +23,8 @@ import com.intellij.openapi.util.TextRange
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiRecursiveElementVisitor
|
||||
import com.intellij.psi.codeStyle.CodeStyleManager
|
||||
import kotlinx.coroutines.run
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveImportReference
|
||||
import org.jetbrains.kotlin.idea.conversion.copy.range
|
||||
@@ -64,7 +64,7 @@ class J2kPostProcessor(private val formatCode: Boolean) : PostProcessor {
|
||||
collectAvailableActions(file, rangeMarker)
|
||||
}
|
||||
|
||||
run(EDT) {
|
||||
withContext(EDT) {
|
||||
for ((element, action, _, writeActionNeeded) in elementToActions) {
|
||||
if (element.isValid) {
|
||||
if (writeActionNeeded) {
|
||||
@@ -88,7 +88,7 @@ class J2kPostProcessor(private val formatCode: Boolean) : PostProcessor {
|
||||
|
||||
|
||||
if (formatCode) {
|
||||
run(EDT) {
|
||||
withContext(EDT) {
|
||||
runWriteAction {
|
||||
val codeStyleManager = CodeStyleManager.getInstance(file.project)
|
||||
if (rangeMarker != null) {
|
||||
|
||||
Reference in New Issue
Block a user