From 0ffcfa4ef1ac23d05332554f9e108c912ef0dd6a Mon Sep 17 00:00:00 2001 From: Vasily Levchenko Date: Tue, 4 Feb 2020 17:41:44 +0100 Subject: [PATCH] [stdlib][common][coroutines][experimental] support of extracted old experimental coroutines code see b5a0daabc372b2bca25cb7f0b28d676847d9ed76 --- backend.native/build.gradle | 6 ++++-- .../main/kotlin/org/jetbrains/kotlin/CopyCommonSources.kt | 6 ++++++ build.gradle | 1 + .../kotlin/kotlin/coroutines/experimental/Intrinsics.kt | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/backend.native/build.gradle b/backend.native/build.gradle index 8481d3d9841..ab4d773094f 100644 --- a/backend.native/build.gradle +++ b/backend.native/build.gradle @@ -132,6 +132,7 @@ configurations { kotlin_native_utils_jar trove4j_jar kotlinCommonSources + kotlin_coroutines_experimental_compat_jar cli_bcRuntime { extendsFrom compilerRuntime @@ -150,8 +151,9 @@ dependencies { kotlin_reflect_jar "$kotlinReflectModule@jar" kotlin_script_runtime_jar "$kotlinScriptRuntimeModule@jar" kotlin_native_utils_jar "$kotlinNativeUtilsModule@jar" - - [kotlinCommonStdlibModule, kotlinTestCommonModule, kotlinTestAnnotationsCommonModule].each { + kotlin_coroutines_experimental_compat_jar "$kotlinCoroutinesExperimentalCompatModule@jar" + [kotlinCommonStdlibModule, kotlinCoroutinesExperimentalCompatModule, + kotlinTestCommonModule, kotlinTestAnnotationsCommonModule].each { kotlinCommonSources(it) { transitive = false } } diff --git a/build-tools/src/main/kotlin/org/jetbrains/kotlin/CopyCommonSources.kt b/build-tools/src/main/kotlin/org/jetbrains/kotlin/CopyCommonSources.kt index b6ca78c7926..00a874384f2 100644 --- a/build-tools/src/main/kotlin/org/jetbrains/kotlin/CopyCommonSources.kt +++ b/build-tools/src/main/kotlin/org/jetbrains/kotlin/CopyCommonSources.kt @@ -72,6 +72,12 @@ open class CopyCommonSources : DefaultTask() { it.include("generated/**/*.kt") it.include("kotlin/**/*.kt") it.include("kotlin.test/*.kt") + it.exclude("kotlin/**/experimental/jvm/**/*.kt") + it.exclude("kotlin/**/coroutines/experimental/**/*Jvm.kt") + it.exclude("kotlin/**/coroutines/experimental/intrinsics/*.kt") + it.exclude("kotlin/**/coroutines/experimental/SafeContinuation.kt") + it.exclude("kotlin/**/coroutines/experimental/CoroutinesLibrary.kt") + it.exclude("kotlin/**/coroutines/experimental/SequenceBuilder.kt") it.into(destinationDir) } } diff --git a/build.gradle b/build.gradle index ca196d6bee8..6b53651716d 100644 --- a/build.gradle +++ b/build.gradle @@ -83,6 +83,7 @@ ext { kotlinScriptRuntimeModule="org.jetbrains.kotlin:kotlin-script-runtime:${kotlinVersion}" kotlinNativeUtilsModule="org.jetbrains.kotlin:kotlin-native-utils:${kotlinVersion}" kotlinUtilKliMetadatabModule="org.jetbrains.kotlin:kotlin-util-klib-metadata:${kotlinVersion}" + kotlinCoroutinesExperimentalCompatModule="org.jetbrains.kotlin:kotlin-coroutines-experimental-compat:${kotlinVersion}:sources" konanVersionFull = CompilerVersionGeneratedKt.getCurrentCompilerVersion() gradlePluginVersion = konanVersionFull diff --git a/runtime/src/main/kotlin/kotlin/coroutines/experimental/Intrinsics.kt b/runtime/src/main/kotlin/kotlin/coroutines/experimental/Intrinsics.kt index c270dc53f13..56397b306b3 100644 --- a/runtime/src/main/kotlin/kotlin/coroutines/experimental/Intrinsics.kt +++ b/runtime/src/main/kotlin/kotlin/coroutines/experimental/Intrinsics.kt @@ -71,7 +71,7 @@ public actual inline fun (suspend R.() -> T).startCoroutineUninterceptedO * the execution was suspended and will not return any result immediately. */ @SinceKotlin("1.1") -public actual val COROUTINE_SUSPENDED: Any get() = CoroutineSingletons.COROUTINE_SUSPENDED +public val COROUTINE_SUSPENDED: Any get() = CoroutineSingletons.COROUTINE_SUSPENDED // Using enum here ensures two important properties: // 1. It makes SafeContinuation serializable with all kinds of serialization frameworks (since all of them natively support enums)