diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/suggested/KotlinSuggestedRefactoringAvailability.kt.201 b/idea/src/org/jetbrains/kotlin/idea/refactoring/suggested/KotlinSuggestedRefactoringAvailability.kt.201 index 33839c73535..1e56eb2990a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/suggested/KotlinSuggestedRefactoringAvailability.kt.201 +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/suggested/KotlinSuggestedRefactoringAvailability.kt.201 @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.psi.psiUtil.hasBody import org.jetbrains.kotlin.renderer.DescriptorRenderer import org.jetbrains.kotlin.types.KotlinType import org.jetbrains.kotlin.types.isError +import kotlin.contracts.contract class KotlinSuggestedRefactoringAvailability(refactoringSupport: SuggestedRefactoringSupport) : SuggestedRefactoringAvailability(refactoringSupport) @@ -51,6 +52,7 @@ class KotlinSuggestedRefactoringAvailability(refactoringSupport: SuggestedRefact descriptorWithOldSignature.valueParameters[oldIndex].type, descriptorWithNewSignature.valueParameters[newIndex].type ) + // oldType and newType may not be null because arguments of refineType call were all non-null improvedOldParameterTypesById[id] = oldType!! improvedNewParameterTypesById[id] = newType!! } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/suggested/KotlinSuggestedRefactoringExecution.kt.201 b/idea/src/org/jetbrains/kotlin/idea/refactoring/suggested/KotlinSuggestedRefactoringExecution.kt.201 index 8bd21c848fe..5729c0c7169 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/suggested/KotlinSuggestedRefactoringExecution.kt.201 +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/suggested/KotlinSuggestedRefactoringExecution.kt.201 @@ -34,7 +34,10 @@ class KotlinSuggestedRefactoringExecution( KotlinTypeInfo(text = newSignature.type, isCovariant = true) } - require(descriptorWithNewSignature.valueParameters.size == newSignature.parameters.size) + require(descriptorWithNewSignature.valueParameters.size == newSignature.parameters.size) { + "Number of parameters of newSignature is ${newSignature.parameters.size} and of the descriptor is ${descriptorWithNewSignature.valueParameters.size}" + } + val parameterTypeInfos = descriptorWithNewSignature.valueParameters.zip(newSignature.parameters) .map { (parameterDescriptor, parameterData) -> val type = parameterDescriptor.varargElementType ?: parameterDescriptor.type