diff --git a/build.gradle.kts b/build.gradle.kts index b009232f5a2..2ab88016a32 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -123,8 +123,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.20" -extra["versions.kotlinx-coroutines-jdk8"] = "0.20" +extra["versions.kotlinx-coroutines-core"] = "0.26.1-eap13" +extra["versions.kotlinx-coroutines-jdk8"] = "0.26.1-eap13" extra["versions.json"] = "20160807" extra["versions.native-platform"] = "0.14" extra["versions.ant-launcher"] = "1.8.0" @@ -274,8 +274,7 @@ allprojects { val commonCompilerArgs = listOfNotNull( "-Xallow-kotlin-package", "-Xread-deserialized-contracts", - "-Xprogressive".takeIf { hasProperty("test.progressive.mode") }, // TODO: change to "-progressive" after bootstrap - "-XXLanguage:-ReleaseCoroutines" + "-Xprogressive".takeIf { hasProperty("test.progressive.mode") } // TODO: change to "-progressive" after bootstrap ) tasks.withType> { diff --git a/compiler/frontend.script/src/org/jetbrains/kotlin/script/AsyncDependencyResolverWrapper.kt b/compiler/frontend.script/src/org/jetbrains/kotlin/script/AsyncDependencyResolverWrapper.kt index 05b353cbf42..b550872aa09 100644 --- a/compiler/frontend.script/src/org/jetbrains/kotlin/script/AsyncDependencyResolverWrapper.kt +++ b/compiler/frontend.script/src/org/jetbrains/kotlin/script/AsyncDependencyResolverWrapper.kt @@ -16,7 +16,7 @@ package org.jetbrains.kotlin.script -import kotlinx.coroutines.experimental.runBlocking +import kotlinx.coroutines.runBlocking import kotlin.script.experimental.dependencies.DependenciesResolver import kotlin.script.dependencies.Environment import kotlin.script.dependencies.ScriptContents diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt index ceb0ff9d082..d30b748cea5 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalyzerFacade.kt @@ -45,7 +45,6 @@ import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.getValue import java.util.* -import kotlin.coroutines.experimental.buildSequence class ResolverForModule( val packageFragmentProvider: PackageFragmentProvider, @@ -346,7 +345,7 @@ class LazyModuleDependencies( ) : ModuleDependencies { private val dependencies = storageManager.createLazyValue { val moduleDescriptor = resolverForProject.descriptorForModule(module) - buildSequence { + sequence { if (firstDependency != null) { yield(resolverForProject.descriptorForModule(firstDependency)) } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/DoubleColonExpressionResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/DoubleColonExpressionResolver.kt index 9a0b07c0465..6e299b9e21c 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/DoubleColonExpressionResolver.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/expressions/DoubleColonExpressionResolver.kt @@ -53,7 +53,6 @@ import org.jetbrains.kotlin.types.typeUtil.makeNullable import org.jetbrains.kotlin.utils.yieldIfNotNull import java.util.* import javax.inject.Inject -import kotlin.coroutines.experimental.buildSequence sealed class DoubleColonLHS(val type: KotlinType) { /** @@ -715,13 +714,13 @@ class DoubleColonExpressionResolver( ?.apply { commitTrace() }?.results } - val resultSequence = buildSequence { + val resultSequence = sequence { when (lhs) { is DoubleColonLHS.Type -> { val classifier = lhsType.constructor.declarationDescriptor if (classifier !is ClassDescriptor) { c.trace.report(CALLABLE_REFERENCE_LHS_NOT_A_CLASS.on(expression)) - return@buildSequence + return@sequence } val qualifier = c.trace.get(BindingContext.QUALIFIER, expression.receiverExpression!!) diff --git a/compiler/tests/org/jetbrains/kotlin/scripts/ScriptProviderTest.kt b/compiler/tests/org/jetbrains/kotlin/scripts/ScriptProviderTest.kt index 13d8438835a..6e2bd430745 100644 --- a/compiler/tests/org/jetbrains/kotlin/scripts/ScriptProviderTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/scripts/ScriptProviderTest.kt @@ -12,7 +12,6 @@ import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase import org.junit.Assert import org.junit.Test import java.util.concurrent.atomic.AtomicInteger -import kotlin.coroutines.experimental.buildSequence import kotlin.script.templates.standard.ScriptTemplateWithArgs class ScriptProviderTest : KtUsefulTestCase() { @@ -71,7 +70,7 @@ private class TestScriptDefinitionSource(val counter: AtomicInteger, val defGens { constructor(counter: AtomicInteger, vararg suffixes: String) : this(counter, suffixes.map { { FakeScriptDefinition(it) } }) - override val definitions: Sequence = buildSequence { + override val definitions: Sequence = sequence { for (gen in defGens) { counter.incrementAndGet() yield(gen()) diff --git a/core/util.runtime/src/org/jetbrains/kotlin/utils/collections.kt b/core/util.runtime/src/org/jetbrains/kotlin/utils/collections.kt index f3f3f6bc421..9553bb7f907 100644 --- a/core/util.runtime/src/org/jetbrains/kotlin/utils/collections.kt +++ b/core/util.runtime/src/org/jetbrains/kotlin/utils/collections.kt @@ -17,13 +17,12 @@ package org.jetbrains.kotlin.utils import java.util.* -import kotlin.coroutines.experimental.SequenceBuilder fun Iterable.keysToMap(value: (K) -> V): Map { return associateBy({ it }, value) } -fun Iterable.keysToMapExceptNulls(value: (K) -> V?): Map { +fun Iterable.keysToMapExceptNulls(value: (K) -> V?): Map { val map = LinkedHashMap() for (k in this) { val v = value(k) @@ -47,45 +46,44 @@ inline fun MutableMap.getOrPutNullable(key: K, defaultValue: () -> val answer = defaultValue() put(key, answer) answer - } - else { + } else { get(key) as V } } -inline fun > C.ifEmpty(body: () -> C): C = if (isEmpty()) body() else this +inline fun > C.ifEmpty(body: () -> C): C = if (isEmpty()) body() else this -inline fun > M.ifEmpty(body: () -> M): M = if (isEmpty()) body() else this +inline fun > M.ifEmpty(body: () -> M): M = if (isEmpty()) body() else this inline fun Array.ifEmpty(body: () -> Array): Array = if (isEmpty()) body() else this -fun MutableCollection.addIfNotNull(t: T?) { +fun MutableCollection.addIfNotNull(t: T?) { if (t != null) add(t) } -suspend fun SequenceBuilder.yieldIfNotNull(t: T?) = if (t != null) yield(t) else Unit +suspend fun SequenceScope.yieldIfNotNull(t: T?) = if (t != null) yield(t) else Unit fun newHashMapWithExpectedSize(expectedSize: Int): HashMap = - HashMap(capacity(expectedSize)) + HashMap(capacity(expectedSize)) fun newHashSetWithExpectedSize(expectedSize: Int): HashSet = - HashSet(capacity(expectedSize)) + HashSet(capacity(expectedSize)) fun newLinkedHashMapWithExpectedSize(expectedSize: Int): LinkedHashMap = - LinkedHashMap(capacity(expectedSize)) + LinkedHashMap(capacity(expectedSize)) fun newLinkedHashSetWithExpectedSize(expectedSize: Int): LinkedHashSet = - LinkedHashSet(capacity(expectedSize)) + LinkedHashSet(capacity(expectedSize)) private fun capacity(expectedSize: Int): Int = - if (expectedSize < 3) 3 else expectedSize + expectedSize / 3 + 1 + if (expectedSize < 3) 3 else expectedSize + expectedSize / 3 + 1 fun ArrayList.compact(): List = - when (size) { - 0 -> emptyList() - 1 -> listOf(first()) - else -> apply { trimToSize() } - } + when (size) { + 0 -> emptyList() + 1 -> listOf(first()) + else -> apply { trimToSize() } + } fun List.indexOfFirst(startFrom: Int, predicate: (T) -> Boolean): Int { for (index in startFrom..lastIndex) { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/getModuleInfo.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/getModuleInfo.kt index 29fd3ce8836..d92ca67d6ea 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/getModuleInfo.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/project/getModuleInfo.kt @@ -30,7 +30,6 @@ import org.jetbrains.kotlin.script.findScriptDefinition import org.jetbrains.kotlin.utils.addIfNotNull import org.jetbrains.kotlin.utils.sure import org.jetbrains.kotlin.utils.yieldIfNotNull -import kotlin.coroutines.experimental.buildSequence var PsiFile.forcedModuleInfo: ModuleInfo? by UserDataProperty(Key.create("FORCED_MODULE_INFO")) @@ -121,7 +120,7 @@ private sealed class ModuleInfoCollector( emptySequence() }, virtualFileProcessor = { project, virtualFile, isLibrarySource -> - buildSequence { + sequence { collectInfosByVirtualFile( project, virtualFile, diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionBenchmarkSink.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionBenchmarkSink.kt index 599a8ed0932..9d30b24b058 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionBenchmarkSink.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/CompletionBenchmarkSink.kt @@ -16,7 +16,7 @@ package org.jetbrains.kotlin.idea.completion -import kotlinx.coroutines.experimental.channels.ConflatedChannel +import kotlinx.coroutines.channels.ConflatedChannel import java.lang.System.currentTimeMillis diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesCache.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesCache.kt index 0bc1c2c41e9..c5dbd489d12 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesCache.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ScriptDependenciesCache.kt @@ -24,7 +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.experimental.launch +import kotlinx.coroutines.launch import org.jetbrains.kotlin.idea.core.util.EDT import org.jetbrains.kotlin.utils.addIfNotNull import java.io.File diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/AsyncScriptDependenciesLoader.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/AsyncScriptDependenciesLoader.kt index 9635e9dff35..6b110db9c22 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/AsyncScriptDependenciesLoader.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/AsyncScriptDependenciesLoader.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.idea.core.script.dependencies import com.intellij.openapi.project.Project import com.intellij.openapi.vfs.VirtualFile -import kotlinx.coroutines.experimental.* +import kotlinx.coroutines.* import org.jetbrains.kotlin.idea.core.script.settings.KotlinScriptingSettings import org.jetbrains.kotlin.idea.core.util.cancelOnDisposal import org.jetbrains.kotlin.script.KotlinScriptDefinition diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/CoroutineUtils.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/CoroutineUtils.kt index 176ca6e0006..bccbcb1f2cf 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/CoroutineUtils.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/util/CoroutineUtils.kt @@ -22,10 +22,10 @@ import com.intellij.openapi.application.ModalityState import com.intellij.openapi.components.ServiceManager import com.intellij.openapi.project.Project import com.intellij.openapi.util.Disposer -import kotlinx.coroutines.experimental.CoroutineDispatcher -import kotlinx.coroutines.experimental.Job -import kotlin.coroutines.experimental.AbstractCoroutineContextElement -import kotlin.coroutines.experimental.CoroutineContext +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Job +import kotlin.coroutines.AbstractCoroutineContextElement +import kotlin.coroutines.CoroutineContext public object EDT : CoroutineDispatcher() { diff --git a/idea/src/org/jetbrains/kotlin/idea/actions/internal/benchmark/AbstractCompletionBenchmarkAction.kt b/idea/src/org/jetbrains/kotlin/idea/actions/internal/benchmark/AbstractCompletionBenchmarkAction.kt index 2442d270f8a..22a1118b364 100644 --- a/idea/src/org/jetbrains/kotlin/idea/actions/internal/benchmark/AbstractCompletionBenchmarkAction.kt +++ b/idea/src/org/jetbrains/kotlin/idea/actions/internal/benchmark/AbstractCompletionBenchmarkAction.kt @@ -36,10 +36,10 @@ 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.experimental.CancellationException -import kotlinx.coroutines.experimental.delay -import kotlinx.coroutines.experimental.launch -import kotlinx.coroutines.experimental.withTimeout +import kotlinx.coroutines.CancellationException +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch +import kotlinx.coroutines.withTimeout import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.caches.project.ModuleOrigin import org.jetbrains.kotlin.idea.caches.project.getNullableModuleInfo diff --git a/idea/src/org/jetbrains/kotlin/idea/actions/internal/benchmark/HighlightingBenchmarkAction.kt b/idea/src/org/jetbrains/kotlin/idea/actions/internal/benchmark/HighlightingBenchmarkAction.kt index 6c0a9fc87a5..437a46c265e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/actions/internal/benchmark/HighlightingBenchmarkAction.kt +++ b/idea/src/org/jetbrains/kotlin/idea/actions/internal/benchmark/HighlightingBenchmarkAction.kt @@ -32,9 +32,9 @@ 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.experimental.channels.ConflatedChannel -import kotlinx.coroutines.experimental.delay -import kotlinx.coroutines.experimental.launch +import kotlinx.coroutines.channels.ConflatedChannel +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch import org.jetbrains.kotlin.idea.actions.internal.benchmark.AbstractCompletionBenchmarkAction.Companion.addBoxWithLabel import org.jetbrains.kotlin.idea.actions.internal.benchmark.AbstractCompletionBenchmarkAction.Companion.collectSuitableKotlinFiles import org.jetbrains.kotlin.idea.actions.internal.benchmark.AbstractCompletionBenchmarkAction.Companion.shuffledSequence diff --git a/idea/src/org/jetbrains/kotlin/idea/editor/KotlinLiteralCopyPasteProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/editor/KotlinLiteralCopyPasteProcessor.kt index a017ba33bdb..21fe8c8507b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/editor/KotlinLiteralCopyPasteProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/editor/KotlinLiteralCopyPasteProcessor.kt @@ -34,8 +34,6 @@ import org.jetbrains.kotlin.psi.KtEscapeStringTemplateEntry import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtStringTemplateExpression import org.jetbrains.kotlin.psi.psiUtil.* -import kotlin.coroutines.experimental.SequenceBuilder -import kotlin.coroutines.experimental.buildIterator private val PsiElement.templateContentRange: TextRange? get() = this.getParentOfType(false)?.let{ @@ -219,7 +217,7 @@ private class TemplateTokenSequence(private val inputString: String) : Sequence< } } - private suspend fun SequenceBuilder.yieldLiteral(chunk: String) { + private suspend fun SequenceScope.yieldLiteral(chunk: String) { val splitLines = LineTokenizer.tokenize(chunk, false, false) for (i in 0..splitLines.size - 1) { if (i != 0) { @@ -233,7 +231,7 @@ private class TemplateTokenSequence(private val inputString: String) : Sequence< if (inputString.isEmpty()) { return emptySequence().iterator() } - return buildIterator { + return iterator { var from = 0 var to = 0 while (to < inputString.length) { diff --git a/idea/src/org/jetbrains/kotlin/idea/j2k/J2kPostProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/j2k/J2kPostProcessor.kt index 279e1b04311..17f7dbf69ce 100644 --- a/idea/src/org/jetbrains/kotlin/idea/j2k/J2kPostProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/j2k/J2kPostProcessor.kt @@ -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.experimental.run -import kotlinx.coroutines.experimental.runBlocking +import kotlinx.coroutines.run +import kotlinx.coroutines.runBlocking import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade import org.jetbrains.kotlin.idea.caches.resolve.resolveImportReference import org.jetbrains.kotlin.idea.conversion.copy.range diff --git a/libraries/scripting/common/src/kotlin/script/experimental/host/BasicScriptingHost.kt b/libraries/scripting/common/src/kotlin/script/experimental/host/BasicScriptingHost.kt index ed0c9880824..cef092a5337 100644 --- a/libraries/scripting/common/src/kotlin/script/experimental/host/BasicScriptingHost.kt +++ b/libraries/scripting/common/src/kotlin/script/experimental/host/BasicScriptingHost.kt @@ -18,8 +18,8 @@ package kotlin.script.experimental.host -import kotlinx.coroutines.experimental.CoroutineScope -import kotlinx.coroutines.experimental.runBlocking +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.runBlocking import kotlin.script.experimental.api.* /** diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/impl/BridgeDependenciesResolver.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/impl/BridgeDependenciesResolver.kt index 77cacb34e5e..2a90aa18daa 100644 --- a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/impl/BridgeDependenciesResolver.kt +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/impl/BridgeDependenciesResolver.kt @@ -5,7 +5,7 @@ package kotlin.script.experimental.jvm.impl -import kotlinx.coroutines.experimental.runBlocking +import kotlinx.coroutines.runBlocking import java.io.File import kotlin.script.dependencies.Environment import kotlin.script.dependencies.ScriptContents