diff --git a/libraries/stdlib/common/build.gradle b/libraries/stdlib/common/build.gradle index 14c362c5c67..78e643bd83a 100644 --- a/libraries/stdlib/common/build.gradle +++ b/libraries/stdlib/common/build.gradle @@ -19,6 +19,8 @@ sourceSets { srcDir 'src' srcDir commonSrcDir srcDir '../unsigned/src' + srcDir '../coroutines/common/src' + srcDir '../coroutines/src' } } test { @@ -29,8 +31,7 @@ sourceSets { } coroutines { kotlin { - srcDir '../coroutines/common/src' - srcDir '../coroutines/src' + srcDir '../coroutines-experimental/src' } } } @@ -57,6 +58,7 @@ compileKotlinCommon { "-Xuse-experimental=kotlin.ExperimentalUnsignedTypes", "-Xuse-experimental=kotlin.contracts.ExperimentalContracts", "-XXLanguage:+InlineClasses", + "-XXLanguage:+ReleaseCoroutines", "-Xallow-kotlin-package" ] } @@ -69,6 +71,7 @@ compileCoroutinesKotlinCommon { freeCompilerArgs = [ "-module-name", project.name+"-coroutines", "-Xuse-experimental=kotlin.contracts.ExperimentalContracts", + "-XXLanguage:-ReleaseCoroutines", "-Xallow-kotlin-package" ] } diff --git a/libraries/stdlib/common/src/generated/_Sequences.kt b/libraries/stdlib/common/src/generated/_Sequences.kt index 736337824c1..4e29a4ec0f0 100644 --- a/libraries/stdlib/common/src/generated/_Sequences.kt +++ b/libraries/stdlib/common/src/generated/_Sequences.kt @@ -17,7 +17,6 @@ import kotlin.* import kotlin.text.* import kotlin.comparisons.* import kotlin.random.* -import kotlin.coroutines.experimental.* /** * Returns `true` if [element] is found in the sequence. diff --git a/libraries/stdlib/js/src/kotlin/coroutines.kt b/libraries/stdlib/coroutines-experimental/js/src/coroutines.kt similarity index 100% rename from libraries/stdlib/js/src/kotlin/coroutines.kt rename to libraries/stdlib/coroutines-experimental/js/src/coroutines.kt diff --git a/libraries/stdlib/js/src/kotlin/coroutinesIntrinsics.kt b/libraries/stdlib/coroutines-experimental/js/src/coroutinesIntrinsics.kt similarity index 96% rename from libraries/stdlib/js/src/kotlin/coroutinesIntrinsics.kt rename to libraries/stdlib/coroutines-experimental/js/src/coroutinesIntrinsics.kt index 99f7a239771..7aadafc8359 100644 --- a/libraries/stdlib/js/src/kotlin/coroutinesIntrinsics.kt +++ b/libraries/stdlib/coroutines-experimental/js/src/coroutinesIntrinsics.kt @@ -3,6 +3,8 @@ * that can be found in the license/LICENSE.txt file. */ +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") + package kotlin.coroutines.experimental.intrinsics import kotlin.coroutines.experimental.Continuation diff --git a/libraries/stdlib/jvm/src/kotlin/coroutines/experimental/SafeContinuationJvm.kt b/libraries/stdlib/coroutines-experimental/jvm/src/kotlin/coroutines/experimental/SafeContinuationJvm.kt similarity index 100% rename from libraries/stdlib/jvm/src/kotlin/coroutines/experimental/SafeContinuationJvm.kt rename to libraries/stdlib/coroutines-experimental/jvm/src/kotlin/coroutines/experimental/SafeContinuationJvm.kt diff --git a/libraries/stdlib/jvm/src/kotlin/coroutines/experimental/intrinsics/IntrinsicsJvm.kt b/libraries/stdlib/coroutines-experimental/jvm/src/kotlin/coroutines/experimental/intrinsics/IntrinsicsJvm.kt similarity index 98% rename from libraries/stdlib/jvm/src/kotlin/coroutines/experimental/intrinsics/IntrinsicsJvm.kt rename to libraries/stdlib/coroutines-experimental/jvm/src/kotlin/coroutines/experimental/intrinsics/IntrinsicsJvm.kt index f5237129fbe..f21a20fafd6 100644 --- a/libraries/stdlib/jvm/src/kotlin/coroutines/experimental/intrinsics/IntrinsicsJvm.kt +++ b/libraries/stdlib/coroutines-experimental/jvm/src/kotlin/coroutines/experimental/intrinsics/IntrinsicsJvm.kt @@ -5,6 +5,7 @@ @file:kotlin.jvm.JvmName("IntrinsicsKt") @file:kotlin.jvm.JvmMultifileClass +@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") package kotlin.coroutines.experimental.intrinsics diff --git a/libraries/stdlib/jvm/src/kotlin/coroutines/experimental/jvm/internal/CoroutineImpl.kt b/libraries/stdlib/coroutines-experimental/jvm/src/kotlin/coroutines/experimental/jvm/internal/CoroutineImpl.kt similarity index 100% rename from libraries/stdlib/jvm/src/kotlin/coroutines/experimental/jvm/internal/CoroutineImpl.kt rename to libraries/stdlib/coroutines-experimental/jvm/src/kotlin/coroutines/experimental/jvm/internal/CoroutineImpl.kt diff --git a/libraries/stdlib/jvm/src/kotlin/coroutines/experimental/jvm/internal/CoroutineIntrinsics.kt b/libraries/stdlib/coroutines-experimental/jvm/src/kotlin/coroutines/experimental/jvm/internal/CoroutineIntrinsics.kt similarity index 100% rename from libraries/stdlib/jvm/src/kotlin/coroutines/experimental/jvm/internal/CoroutineIntrinsics.kt rename to libraries/stdlib/coroutines-experimental/jvm/src/kotlin/coroutines/experimental/jvm/internal/CoroutineIntrinsics.kt diff --git a/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/experimental/migration/CoroutinesMigration.kt b/libraries/stdlib/coroutines-experimental/jvm/src/kotlin/coroutines/experimental/migration/CoroutinesMigration.kt similarity index 100% rename from libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/experimental/migration/CoroutinesMigration.kt rename to libraries/stdlib/coroutines-experimental/jvm/src/kotlin/coroutines/experimental/migration/CoroutinesMigration.kt diff --git a/libraries/stdlib/src/kotlin/coroutines/experimental/ContinuationInterceptor.kt b/libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/ContinuationInterceptor.kt similarity index 100% rename from libraries/stdlib/src/kotlin/coroutines/experimental/ContinuationInterceptor.kt rename to libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/ContinuationInterceptor.kt diff --git a/libraries/stdlib/src/kotlin/coroutines/experimental/CoroutineContext.kt b/libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/CoroutineContext.kt similarity index 100% rename from libraries/stdlib/src/kotlin/coroutines/experimental/CoroutineContext.kt rename to libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/CoroutineContext.kt diff --git a/libraries/stdlib/src/kotlin/coroutines/experimental/CoroutineContextImpl.kt b/libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/CoroutineContextImpl.kt similarity index 100% rename from libraries/stdlib/src/kotlin/coroutines/experimental/CoroutineContextImpl.kt rename to libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/CoroutineContextImpl.kt diff --git a/libraries/stdlib/src/kotlin/coroutines/experimental/Coroutines.kt b/libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/Coroutines.kt similarity index 100% rename from libraries/stdlib/src/kotlin/coroutines/experimental/Coroutines.kt rename to libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/Coroutines.kt diff --git a/libraries/stdlib/common/src/kotlin/CoroutinesExperimentalH.kt b/libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/CoroutinesExperimentalH.kt similarity index 100% rename from libraries/stdlib/common/src/kotlin/CoroutinesExperimentalH.kt rename to libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/CoroutinesExperimentalH.kt diff --git a/libraries/stdlib/common/src/kotlin/CoroutinesIntrinsicsExperimentalH.kt b/libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/CoroutinesIntrinsicsExperimentalH.kt similarity index 100% rename from libraries/stdlib/common/src/kotlin/CoroutinesIntrinsicsExperimentalH.kt rename to libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/CoroutinesIntrinsicsExperimentalH.kt diff --git a/libraries/stdlib/src/kotlin/coroutines/experimental/CoroutinesLibrary.kt b/libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/CoroutinesLibrary.kt similarity index 98% rename from libraries/stdlib/src/kotlin/coroutines/experimental/CoroutinesLibrary.kt rename to libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/CoroutinesLibrary.kt index 3b7e8698e80..a80803d8681 100644 --- a/libraries/stdlib/src/kotlin/coroutines/experimental/CoroutinesLibrary.kt +++ b/libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/CoroutinesLibrary.kt @@ -4,6 +4,7 @@ */ @file:kotlin.jvm.JvmName("CoroutinesKt") +@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") package kotlin.coroutines.experimental diff --git a/libraries/stdlib/src/kotlin/coroutines/experimental/SequenceBuilder.kt b/libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/SequenceBuilder.kt similarity index 100% rename from libraries/stdlib/src/kotlin/coroutines/experimental/SequenceBuilder.kt rename to libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/SequenceBuilder.kt diff --git a/libraries/stdlib/src/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt b/libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt similarity index 98% rename from libraries/stdlib/src/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt rename to libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt index 57119d66c2e..0a752f8d31a 100644 --- a/libraries/stdlib/src/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt +++ b/libraries/stdlib/coroutines-experimental/src/kotlin/coroutines/experimental/intrinsics/Intrinsics.kt @@ -5,7 +5,7 @@ @file:kotlin.jvm.JvmName("IntrinsicsKt") @file:kotlin.jvm.JvmMultifileClass - +@file:Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") package kotlin.coroutines.experimental.intrinsics import kotlin.coroutines.experimental.* diff --git a/libraries/stdlib/coroutines/js/src/kotlin/coroutines/intrinsics/IntrinsicsJs.kt b/libraries/stdlib/coroutines/js/src/kotlin/coroutines/intrinsics/IntrinsicsJs.kt index 3d5911c6445..02054e9ef10 100644 --- a/libraries/stdlib/coroutines/js/src/kotlin/coroutines/intrinsics/IntrinsicsJs.kt +++ b/libraries/stdlib/coroutines/js/src/kotlin/coroutines/intrinsics/IntrinsicsJs.kt @@ -3,8 +3,6 @@ * that can be found in the license/LICENSE.txt file. */ -@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER", "UNCHECKED_CAST") - package kotlin.coroutines.intrinsics import kotlin.coroutines.* @@ -121,6 +119,7 @@ private inline fun createCoroutineFromSuspendFunction( completion: Continuation, crossinline block: () -> Any? ): Continuation { + @Suppress("UNCHECKED_CAST") return object : CoroutineImpl(completion as Continuation) { override fun doResume(): Any? { exception?.let { throw it } diff --git a/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/intrinsics/IntrinsicsJvm.kt b/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/intrinsics/IntrinsicsJvm.kt index 879efd7d832..42df98afeb0 100644 --- a/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/intrinsics/IntrinsicsJvm.kt +++ b/libraries/stdlib/coroutines/jvm/src/kotlin/coroutines/intrinsics/IntrinsicsJvm.kt @@ -5,7 +5,7 @@ @file:kotlin.jvm.JvmName("IntrinsicsKt") @file:kotlin.jvm.JvmMultifileClass -@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER", "UNCHECKED_CAST") +@file:Suppress("UNCHECKED_CAST") package kotlin.coroutines.intrinsics diff --git a/libraries/stdlib/coroutines/src/kotlin/SuccessOrFailure.kt b/libraries/stdlib/coroutines/src/kotlin/SuccessOrFailure.kt index 97a10338759..ae3f695e84b 100644 --- a/libraries/stdlib/coroutines/src/kotlin/SuccessOrFailure.kt +++ b/libraries/stdlib/coroutines/src/kotlin/SuccessOrFailure.kt @@ -8,10 +8,7 @@ "UNCHECKED_CAST", "RedundantVisibilityModifier", "NON_PUBLIC_PRIMARY_CONSTRUCTOR_OF_INLINE_CLASS", - "UNSUPPORTED_FEATURE", - "INVISIBLE_REFERENCE", - "INVISIBLE_MEMBER", - "CANNOT_OVERRIDE_INVISIBLE_MEMBER" + "UNSUPPORTED_FEATURE" ) package kotlin diff --git a/libraries/stdlib/coroutines/src/kotlin/coroutines/Continuation.kt b/libraries/stdlib/coroutines/src/kotlin/coroutines/Continuation.kt index 90cea0091b6..b2c3a9a84a9 100644 --- a/libraries/stdlib/coroutines/src/kotlin/coroutines/Continuation.kt +++ b/libraries/stdlib/coroutines/src/kotlin/coroutines/Continuation.kt @@ -3,8 +3,6 @@ * that can be found in the license/LICENSE.txt file. */ -@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") - package kotlin.coroutines import kotlin.coroutines.intrinsics.* diff --git a/libraries/stdlib/coroutines/src/kotlin/coroutines/CoroutineContextImpl.kt b/libraries/stdlib/coroutines/src/kotlin/coroutines/CoroutineContextImpl.kt index df4793b5e53..ce48f06f6b8 100644 --- a/libraries/stdlib/coroutines/src/kotlin/coroutines/CoroutineContextImpl.kt +++ b/libraries/stdlib/coroutines/src/kotlin/coroutines/CoroutineContextImpl.kt @@ -3,8 +3,6 @@ * that can be found in the license/LICENSE.txt file. */ -@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") - package kotlin.coroutines import kotlin.coroutines.CoroutineContext.* diff --git a/libraries/stdlib/coroutines/src/kotlin/coroutines/intrinsics/Intrinsics.kt b/libraries/stdlib/coroutines/src/kotlin/coroutines/intrinsics/Intrinsics.kt index 7279f5e26de..51f55ca3c53 100644 --- a/libraries/stdlib/coroutines/src/kotlin/coroutines/intrinsics/Intrinsics.kt +++ b/libraries/stdlib/coroutines/src/kotlin/coroutines/intrinsics/Intrinsics.kt @@ -3,7 +3,6 @@ * that can be found in the license/LICENSE.txt file. */ -@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") @file:kotlin.jvm.JvmName("IntrinsicsKt") @file:kotlin.jvm.JvmMultifileClass diff --git a/libraries/stdlib/coroutines/src/kotlin/sequences/SequenceBuilder.kt b/libraries/stdlib/coroutines/src/kotlin/sequences/SequenceBuilder.kt index 61e49dca71f..e7956fa4aa8 100644 --- a/libraries/stdlib/coroutines/src/kotlin/sequences/SequenceBuilder.kt +++ b/libraries/stdlib/coroutines/src/kotlin/sequences/SequenceBuilder.kt @@ -3,7 +3,6 @@ * that can be found in the license/LICENSE.txt file. */ -@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER") @file:kotlin.jvm.JvmMultifileClass @file:kotlin.jvm.JvmName("SequenceBuilderKt") diff --git a/libraries/stdlib/js/build.gradle b/libraries/stdlib/js/build.gradle index 0f248a6f8b7..2356b9473a5 100644 --- a/libraries/stdlib/js/build.gradle +++ b/libraries/stdlib/js/build.gradle @@ -16,6 +16,7 @@ def builtinsSrcDir2 = "${buildDir}/builtin-sources-for-builtins" def commonSrcDir = "${projectDir}/../src/kotlin" def commonSrcDir2 = "${projectDir}/../common/src" def coroutinesJsSrcDir = "${projectDir}/../coroutines/js/src" +def coroutinesExpJsSrcDir = "${projectDir}/../coroutines-experimental/js/src" def builtinsDir = "${rootDir}/core/builtins" def experimentalSrcDir = "${rootDir}/libraries/stdlib/experimental" @@ -46,6 +47,7 @@ sourceSets { kotlin { srcDir builtinsSrcDir srcDir jsSrcDir + srcDir coroutinesJsSrcDir } } @@ -64,7 +66,7 @@ sourceSets { coroutines { kotlin { - srcDir coroutinesJsSrcDir + srcDir coroutinesExpJsSrcDir } } } @@ -152,7 +154,7 @@ compileKotlin2Js { "-Xuse-experimental=kotlin.ExperimentalMultiplatform", "-Xuse-experimental=kotlin.contracts.ExperimentalContracts", "-XXLanguage:+InlineClasses", - "-XXLanguage:-ReleaseCoroutines" + "-XXLanguage:+ReleaseCoroutines" ] } } @@ -177,7 +179,8 @@ compileCoroutinesKotlin2Js { sourceMap = true sourceMapPrefix = "./" freeCompilerArgs += [ - "-Xuse-experimental=kotlin.contracts.ExperimentalContracts" + "-Xuse-experimental=kotlin.contracts.ExperimentalContracts", + "-XXLanguage:-ReleaseCoroutines" ] } } diff --git a/libraries/stdlib/jvm/build.gradle b/libraries/stdlib/jvm/build.gradle index 32cf8a04b58..9f7e2385694 100644 --- a/libraries/stdlib/jvm/build.gradle +++ b/libraries/stdlib/jvm/build.gradle @@ -30,6 +30,7 @@ sourceSets { srcDir "${rootDir}/core/builtins/src" srcDir 'runtime' srcDir 'src' + srcDir '../coroutines/jvm/src' } } experimental { @@ -39,7 +40,7 @@ sourceSets { } coroutines { kotlin { - srcDir '../coroutines/jvm/src' + srcDir '../coroutines-experimental/jvm/src' } } coroutinesTest { @@ -183,7 +184,7 @@ compileKotlin { "-Xuse-experimental=kotlin.Experimental", "-Xuse-experimental=kotlin.ExperimentalMultiplatform", "-Xuse-experimental=kotlin.contracts.ExperimentalContracts", - "-XXLanguage:-ReleaseCoroutines", + "-XXLanguage:+ReleaseCoroutines", "-XXLanguage:+InlineClasses" ] } @@ -214,6 +215,7 @@ compileCoroutinesKotlin { "-Xallow-kotlin-package", "-Xmultifile-parts-inherit", "-Xuse-experimental=kotlin.contracts.ExperimentalContracts", + "-XXLanguage:-ReleaseCoroutines", "-module-name", "kotlin-stdlib-coroutines" ] } @@ -254,7 +256,8 @@ compileUnsignedKotlin { compileTestKotlin { kotlinOptions { freeCompilerArgs += [ - "-Xuse-experimental=kotlin.ExperimentalUnsignedTypes" + "-Xuse-experimental=kotlin.ExperimentalUnsignedTypes", + "-XXLanguage:-ReleaseCoroutines" ] } } diff --git a/libraries/stdlib/jvm/src/generated/_SequencesJvm.kt b/libraries/stdlib/jvm/src/generated/_SequencesJvm.kt index a1971cfcb8a..a77162d273c 100644 --- a/libraries/stdlib/jvm/src/generated/_SequencesJvm.kt +++ b/libraries/stdlib/jvm/src/generated/_SequencesJvm.kt @@ -16,7 +16,6 @@ package kotlin.sequences import kotlin.* import kotlin.text.* import kotlin.comparisons.* -import kotlin.coroutines.experimental.* /** * Returns a sequence containing all elements that are instances of specified class. diff --git a/libraries/stdlib/src/kotlin/collections/Sequences.kt b/libraries/stdlib/src/kotlin/collections/Sequences.kt index 2c531bf8c89..1e9fcee5024 100644 --- a/libraries/stdlib/src/kotlin/collections/Sequences.kt +++ b/libraries/stdlib/src/kotlin/collections/Sequences.kt @@ -9,7 +9,6 @@ package kotlin.sequences import kotlin.* -import kotlin.coroutines.experimental.buildSequence /** * Given an [iterator] function constructs a [Sequence] that returns values through the [Iterator] diff --git a/libraries/stdlib/src/kotlin/collections/SlidingWindow.kt b/libraries/stdlib/src/kotlin/collections/SlidingWindow.kt index e707e7d10ad..a52b587e190 100644 --- a/libraries/stdlib/src/kotlin/collections/SlidingWindow.kt +++ b/libraries/stdlib/src/kotlin/collections/SlidingWindow.kt @@ -6,7 +6,6 @@ package kotlin.collections import kotlin.* -import kotlin.coroutines.experimental.buildIterator internal fun checkWindowSizeStep(size: Int, step: Int) { require(size > 0 && step > 0) { diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/Writers.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/Writers.kt index 58b1d7eb9ee..b8671f58e12 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/Writers.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/dsl/Writers.kt @@ -101,10 +101,6 @@ fun List.writeTo(file: File, platformSource: PlatformSourceFile) writer.appendln("import kotlin.random.*") } - if (sourceFile == SourceFile.Sequences) { - writer.appendln("import kotlin.coroutines.experimental.*") - } - writer.appendln() for (f in this) {