Remove experimental coroutines support. Part 2

This commit is contained in:
Ilmir Usmanov
2021-08-24 13:15:49 +02:00
committed by TeamCityServer
parent 0ae18372c5
commit 1f8dd45c2b
22 changed files with 4 additions and 790 deletions
@@ -98,12 +98,11 @@ const val CONTINUATION_VARIABLE_NAME = "\$continuation"
// and fake `this` expression that used as argument for second parameter
fun ResolvedCall<*>.replaceSuspensionFunctionWithRealDescriptor(
project: Project,
bindingContext: BindingContext,
isReleaseCoroutines: Boolean
bindingContext: BindingContext
): ResolvedCallWithRealDescriptor? {
if (this is VariableAsFunctionResolvedCall) {
val replacedFunctionCall =
functionCall.replaceSuspensionFunctionWithRealDescriptor(project, bindingContext, isReleaseCoroutines)
functionCall.replaceSuspensionFunctionWithRealDescriptor(project, bindingContext)
?: return null
@Suppress("UNCHECKED_CAST")
@@ -161,8 +160,7 @@ fun ResolvedCall<*>.replaceSuspensionFunctionWithRealDescriptor(
fun ResolvedCall<*>.replaceSuspensionFunctionWithRealDescriptor(state: GenerationState): ResolvedCallWithRealDescriptor? =
replaceSuspensionFunctionWithRealDescriptor(
state.project,
state.bindingContext,
state.languageVersionSettings.supportsFeature(LanguageFeature.ReleaseCoroutines)
state.bindingContext
)
private fun ResolvedCall<VariableDescriptor>.asMutableResolvedCall(bindingContext: BindingContext): MutableResolvedCall<VariableDescriptor> {
@@ -406,8 +406,4 @@ class JvmSerializerExtension @JvmOverloads constructor(
return builder.build()
}
}
override fun releaseCoroutines(): Boolean {
return languageVersionSettings.supportsFeature(LanguageFeature.ReleaseCoroutines)
}
}
@@ -92,7 +92,6 @@ class KotlinTypeMapper @JvmOverloads constructor(
private val typePreprocessor: ((KotlinType) -> KotlinType?)? = null,
private val namePreprocessor: ((ClassDescriptor) -> String?)? = null
) : KotlinTypeMapperBase() {
private val isReleaseCoroutines = languageVersionSettings.supportsFeature(LanguageFeature.ReleaseCoroutines)
val jvmDefaultMode = languageVersionSettings.getFlag(JvmAnalysisFlags.jvmDefaultMode)
var useOldManglingRulesForFunctionAcceptingInlineClass: Boolean = useOldInlineClassesManglingScheme
set(value) {
@@ -126,10 +125,6 @@ class KotlinTypeMapper @JvmOverloads constructor(
}
}
override fun releaseCoroutines(): Boolean {
return isReleaseCoroutines
}
override fun preprocessType(kotlinType: KotlinType): KotlinType? {
return typePreprocessor?.invoke(kotlinType)
}