diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangePropertySignatureDialog.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangePropertySignatureDialog.kt index 623b78f1e60..02eb0db99cf 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangePropertySignatureDialog.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangePropertySignatureDialog.kt @@ -141,22 +141,22 @@ public class JetChangePropertySignatureDialog( } override fun doAction() { - val descriptor = (methodDescriptor as? JetMutableMethodDescriptor)?.original ?: methodDescriptor + val originalDescriptor = methodDescriptor.original val receiver = if (receiverTypeCheckBox?.isSelected() ?: false) { - descriptor.receiver ?: JetParameterInfo(callableDescriptor = descriptor.baseDescriptor, - name = "receiver", - defaultValueForCall = getDefaultReceiverValue()) + originalDescriptor.receiver ?: JetParameterInfo(callableDescriptor = originalDescriptor.baseDescriptor, + name = "receiver", + defaultValueForCall = getDefaultReceiverValue()) } else null receiver?.currentTypeText = receiverTypeField.getText() - val changeInfo = JetChangeInfo(descriptor, + val changeInfo = JetChangeInfo(originalDescriptor, nameField.getText(), null, returnTypeField.getText(), visibilityCombo.getSelectedItem() as Visibility, emptyList(), receiver, - descriptor.getMethod()) + originalDescriptor.getMethod()) invokeRefactoring(JetChangeSignatureProcessor(myProject, changeInfo, commandName ?: getTitle())) } @@ -167,7 +167,7 @@ public class JetChangePropertySignatureDialog( commandName: String, descriptor: JetMethodDescriptor ): BaseRefactoringProcessor { - val originalDescriptor = (descriptor as? JetMutableMethodDescriptor)?.original ?: descriptor + val originalDescriptor = descriptor.original val changeInfo = JetChangeInfo(methodDescriptor = originalDescriptor, context = originalDescriptor.getMethod()) changeInfo.setNewName(descriptor.getName()) changeInfo.receiverParameterInfo = descriptor.receiver diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureData.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureData.kt index 92ce4ba83f1..8f4eada231b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureData.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureData.kt @@ -92,6 +92,9 @@ public class JetChangeSignatureData( return JetParameterInfo(callableDescriptor = baseDescriptor, name = receiverName, type = receiverType) } + override val original: JetMethodDescriptor + get() = this + override val primaryCallables: Collection> by Delegates.lazy { descriptorsForSignatureChange.map { val declaration = DescriptorToSourceUtilsIde.getAnyDeclaration(baseDeclaration.getProject(), it) diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureDialog.java b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureDialog.java index 117c64a72ef..60b414f99eb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureDialog.java +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureDialog.java @@ -520,11 +520,8 @@ public class JetChangeSignatureDialog extends ChangeSignatureDialogBase< } String returnTypeText = returnTypeCodeFragment != null ? returnTypeCodeFragment.getText().trim() : ""; - JetMethodDescriptor descriptor = methodDescriptor instanceof JetMutableMethodDescriptor - ? ((JetMutableMethodDescriptor) methodDescriptor).getOriginal() - : methodDescriptor; JetType returnType = getType((JetTypeCodeFragment) returnTypeCodeFragment); - return new JetChangeInfo(descriptor, methodName, returnType, returnTypeText, + return new JetChangeInfo(methodDescriptor.getOriginal(), methodName, returnType, returnTypeText, visibility, parameters, parametersModel.getReceiver(), defaultValueContext); } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetMethodDescriptor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetMethodDescriptor.kt index fa2c7911a7e..7f93e37a641 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetMethodDescriptor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetMethodDescriptor.kt @@ -41,6 +41,8 @@ public trait JetMethodDescriptor : MethodDescriptor = original.getParameters() override var receiver: JetParameterInfo? = original.receiver