Remove obsolete experimental coroutines support
in compiler.
This commit is contained in:
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.js.resolve.diagnostics.*
|
||||
import org.jetbrains.kotlin.resolve.PlatformConfiguratorBase
|
||||
import org.jetbrains.kotlin.resolve.calls.checkers.InstantiationOfAnnotationClassesCallChecker
|
||||
import org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker
|
||||
import org.jetbrains.kotlin.resolve.deprecation.CoroutineCompatibilitySupport
|
||||
import org.jetbrains.kotlin.types.DynamicTypesAllowed
|
||||
|
||||
object JsPlatformConfigurator : PlatformConfiguratorBase(
|
||||
@@ -51,7 +50,6 @@ object JsPlatformConfigurator : PlatformConfiguratorBase(
|
||||
container.useInstance(ExtensionFunctionToExternalIsInlinable)
|
||||
container.useInstance(JsQualifierChecker)
|
||||
container.useInstance(JsNativeDiagnosticSuppressor)
|
||||
container.useInstance(CoroutineCompatibilitySupport.DISABLED)
|
||||
}
|
||||
|
||||
override fun configureModuleDependentCheckers(container: StorageComponentContainer) {
|
||||
|
||||
+2
-2
@@ -131,8 +131,8 @@ public class TranslationContext {
|
||||
if (function.isSuspend()) {
|
||||
ClassDescriptor continuationDescriptor =
|
||||
DescriptorUtilKt.findContinuationClassDescriptor(
|
||||
getCurrentModule(), NoLookupLocation.FROM_BACKEND,
|
||||
getLanguageVersionSettings().supportsFeature(LanguageFeature.ReleaseCoroutines));
|
||||
getCurrentModule(), NoLookupLocation.FROM_BACKEND
|
||||
);
|
||||
|
||||
return new ValueParameterDescriptorImpl(function, null, function.getValueParameters().size(),
|
||||
Annotations.Companion.getEMPTY(), Name.identifier("continuation"),
|
||||
|
||||
-1
@@ -38,7 +38,6 @@ class FunctionIntrinsics {
|
||||
AsDynamicFIF,
|
||||
CoroutineContextFIF,
|
||||
SuspendCoroutineUninterceptedOrReturnFIF,
|
||||
InterceptedFIF,
|
||||
TypeOfFIF
|
||||
)
|
||||
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.resolve.calls.checkers.isBuiltInCoroutineContext
|
||||
|
||||
object CoroutineContextFIF : FunctionIntrinsicFactory {
|
||||
override fun getIntrinsic(descriptor: FunctionDescriptor, context: TranslationContext): FunctionIntrinsic? {
|
||||
if (!descriptor.isBuiltInCoroutineContext(context.languageVersionSettings)) return null
|
||||
if (!descriptor.isBuiltInCoroutineContext()) return null
|
||||
return Intrinsic
|
||||
}
|
||||
|
||||
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2018 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.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.js.translate.intrinsic.functions.factories
|
||||
|
||||
import org.jetbrains.kotlin.backend.common.isBuiltInIntercepted
|
||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
import org.jetbrains.kotlin.js.backend.ast.JsExpression
|
||||
import org.jetbrains.kotlin.js.translate.callTranslator.CallInfo
|
||||
import org.jetbrains.kotlin.js.translate.context.TranslationContext
|
||||
import org.jetbrains.kotlin.js.translate.intrinsic.functions.basic.FunctionIntrinsic
|
||||
import org.jetbrains.kotlin.js.translate.utils.JsAstUtils
|
||||
import org.jetbrains.kotlin.js.translate.utils.TranslationUtils
|
||||
|
||||
object InterceptedFIF: FunctionIntrinsicFactory {
|
||||
override fun getIntrinsic(descriptor: FunctionDescriptor, context: TranslationContext): FunctionIntrinsic? {
|
||||
if (!descriptor.isBuiltInIntercepted(context.languageVersionSettings)) return null
|
||||
return Intrinsic
|
||||
}
|
||||
|
||||
object Intrinsic: FunctionIntrinsic() {
|
||||
override fun apply(callInfo: CallInfo, arguments: List<JsExpression>, context: TranslationContext): JsExpression {
|
||||
val continuation = callInfo.extensionReceiver ?: error("intercepted shall be extension function")
|
||||
val facadeName = context.getNameForDescriptor(TranslationUtils.getCoroutineProperty(context, "facade"))
|
||||
return JsAstUtils.pureFqn(facadeName, continuation)
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.js.translate.intrinsic.functions.basic.FunctionIntri
|
||||
|
||||
object SuspendCoroutineUninterceptedOrReturnFIF: FunctionIntrinsicFactory {
|
||||
override fun getIntrinsic(descriptor: FunctionDescriptor, context: TranslationContext): FunctionIntrinsic? {
|
||||
if (!descriptor.isBuiltInSuspendCoroutineUninterceptedOrReturn(context.languageVersionSettings)) return null
|
||||
if (!descriptor.isBuiltInSuspendCoroutineUninterceptedOrReturn()) return null
|
||||
return Intrinsic
|
||||
}
|
||||
object Intrinsic: FunctionIntrinsic() {
|
||||
|
||||
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.builtins.FunctionTypesKt;
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||
import org.jetbrains.kotlin.builtins.StandardNames;
|
||||
import org.jetbrains.kotlin.builtins.PrimitiveType;
|
||||
import org.jetbrains.kotlin.config.CoroutineLanguageVersionSettingsUtilKt;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
import org.jetbrains.kotlin.descriptors.impl.AnonymousFunctionDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.impl.LocalVariableAccessorDescriptor;
|
||||
@@ -397,8 +396,7 @@ public final class TranslationUtils {
|
||||
|
||||
@NotNull
|
||||
public static ClassDescriptor getCoroutineBaseClass(@NotNull TranslationContext context) {
|
||||
FqName className = CoroutineLanguageVersionSettingsUtilKt.coroutinesPackageFqName(context.getLanguageVersionSettings())
|
||||
.child(Name.identifier("CoroutineImpl"));
|
||||
FqName className = StandardNames.COROUTINES_PACKAGE_FQ_NAME.child(Name.identifier("CoroutineImpl"));
|
||||
ClassDescriptor descriptor = FindClassInModuleKt.findClassAcrossModuleDependencies(
|
||||
context.getCurrentModule(), ClassId.topLevel(className));
|
||||
assert descriptor != null;
|
||||
|
||||
@@ -11,8 +11,8 @@ import com.intellij.psi.impl.source.tree.LeafPsiElement
|
||||
import com.intellij.util.SmartList
|
||||
import org.jetbrains.kotlin.backend.common.COROUTINE_SUSPENDED_NAME
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.builtins.StandardNames
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.config.coroutinesIntrinsicsPackageFqName
|
||||
import org.jetbrains.kotlin.config.languageVersionSettings
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||
@@ -185,7 +185,7 @@ fun JsFunction.fillCoroutineMetadata(
|
||||
descriptor: FunctionDescriptor,
|
||||
hasController: Boolean
|
||||
) {
|
||||
val suspendPropertyDescriptor = context.currentModule.getPackage(context.languageVersionSettings.coroutinesIntrinsicsPackageFqName())
|
||||
val suspendPropertyDescriptor = context.currentModule.getPackage(StandardNames.COROUTINES_INTRINSICS_PACKAGE_FQ_NAME)
|
||||
.memberScope
|
||||
.getContributedVariables(COROUTINE_SUSPENDED_NAME, NoLookupLocation.FROM_BACKEND).first()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user