Replace resolution error for suspend-conversion with call checker error

This commit is contained in:
Mikhail Zarechenskiy
2020-06-01 01:52:56 +03:00
parent eaeaf3c8a3
commit a5203428a4
18 changed files with 265 additions and 22 deletions
@@ -366,10 +366,7 @@ class CallableReferencesCandidateFactory(
mappedArguments
val suspendConversionStrategy =
if (
callComponents.languageVersionSettings.supportsFeature(LanguageFeature.SuspendConversion) &&
!descriptor.isSuspend && expectedType?.isSuspendFunctionType == true
) {
if (!descriptor.isSuspend && expectedType?.isSuspendFunctionType == true) {
SuspendConversionStrategy.SUSPEND_CONVERSION
} else {
SuspendConversionStrategy.NO_CONVERSION
@@ -18,8 +18,6 @@ object SuspendTypeConversions : ParameterTypeConversion {
argument: KotlinCallArgument,
expectedParameterType: UnwrappedType
): Boolean {
if (!candidate.callComponents.languageVersionSettings.supportsFeature(LanguageFeature.SuspendConversion)) return true
if (argument !is SimpleKotlinCallArgument) return true
val argumentType = argument.receiver.stableType