Dropped hack in initialization of KotlinParameterInfo which is not needed anymore
This commit is contained in:
+12
-28
@@ -71,16 +71,15 @@ class KotlinSuggestedRefactoringExecution(
|
|||||||
val parameters = mutableListOf<KotlinParameterInfo>()
|
val parameters = mutableListOf<KotlinParameterInfo>()
|
||||||
var newParameterValueIndex = 0
|
var newParameterValueIndex = 0
|
||||||
|
|
||||||
val receiver: KotlinParameterInfo? = if (data.newSignature.receiverType != null) {
|
val receiver: KotlinParameterInfo? = data.newSignature.receiverType?.let { newReceiverType ->
|
||||||
val newTypeInfo = KotlinTypeInfo(text = data.newSignature.receiverType, isCovariant = false)
|
val newTypeInfo = KotlinTypeInfo(text = newReceiverType, isCovariant = false)
|
||||||
if (data.oldSignature.receiverType != null) {
|
if (data.oldSignature.receiverType != null) {
|
||||||
methodDescriptor.receiver!!.apply { currentTypeInfo = newTypeInfo }
|
methodDescriptor.receiver!!.apply { currentTypeInfo = newTypeInfo }
|
||||||
} else {
|
} else {
|
||||||
KotlinParameterInfo(descriptor, -1, "", newTypeInfo)
|
KotlinParameterInfo(descriptor, -1, "", newTypeInfo).apply {
|
||||||
.withDefaultValue(newParameterValues[newParameterValueIndex++])
|
setNewParameterValue(newParameterValues[newParameterValueIndex++])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
null
|
|
||||||
}
|
}
|
||||||
|
|
||||||
parameters.addIfNotNull(receiver)
|
parameters.addIfNotNull(receiver)
|
||||||
@@ -105,7 +104,9 @@ class KotlinSuggestedRefactoringExecution(
|
|||||||
parameterTypeInfos[index],
|
parameterTypeInfos[index],
|
||||||
defaultValueForParameter = defaultValue,
|
defaultValueForParameter = defaultValue,
|
||||||
modifierList = modifierList
|
modifierList = modifierList
|
||||||
).withDefaultValue(newParameterValues[newParameterValueIndex++])
|
).apply {
|
||||||
|
setNewParameterValue(newParameterValues[newParameterValueIndex++])
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
KotlinParameterInfo(
|
KotlinParameterInfo(
|
||||||
descriptor,
|
descriptor,
|
||||||
@@ -133,28 +134,11 @@ class KotlinSuggestedRefactoringExecution(
|
|||||||
processor.run()
|
processor.run()
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: we can't just set defaultValueForCall due to bug in KotlinParameterInfo
|
private fun KotlinParameterInfo.setNewParameterValue(value: NewParameterValue) {
|
||||||
private fun KotlinParameterInfo.withDefaultValue(value: NewParameterValue): KotlinParameterInfo {
|
|
||||||
when (value) {
|
when (value) {
|
||||||
is NewParameterValue.AnyVariable -> {
|
is NewParameterValue.AnyVariable -> isUseAnySingleVariable = true
|
||||||
isUseAnySingleVariable = true
|
is NewParameterValue.Expression -> defaultValueForCall = value.expression as KtExpression
|
||||||
return this
|
is NewParameterValue.None -> defaultValueForCall = null
|
||||||
}
|
|
||||||
|
|
||||||
is NewParameterValue.Expression -> {
|
|
||||||
val defaultValueForCall = value.expression as KtExpression
|
|
||||||
return KotlinParameterInfo(
|
|
||||||
callableDescriptor, originalIndex, name, originalTypeInfo,
|
|
||||||
defaultValueForParameter, defaultValueForCall, valOrVar, modifierList
|
|
||||||
).apply {
|
|
||||||
currentTypeInfo = this@withDefaultValue.currentTypeInfo
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
is NewParameterValue.None -> {
|
|
||||||
defaultValueForCall = null
|
|
||||||
return this
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user