Minor: Pull up original property

This commit is contained in:
Alexey Sedunov
2015-07-01 15:55:37 +03:00
parent e9b2732aa9
commit 4cc2a57aed
5 changed files with 14 additions and 12 deletions
@@ -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
@@ -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<JetCallableDefinitionUsage<PsiElement>> by Delegates.lazy {
descriptorsForSignatureChange.map {
val declaration = DescriptorToSourceUtilsIde.getAnyDeclaration(baseDeclaration.getProject(), it)
@@ -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);
}
@@ -41,6 +41,8 @@ public trait JetMethodDescriptor : MethodDescriptor<JetParameterInfo, Visibility
}
}
val original: JetMethodDescriptor
val baseDeclaration: PsiElement
val baseDescriptor: CallableDescriptor
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.idea.refactoring.changeSignature
import org.jetbrains.kotlin.descriptors.Visibility
public class JetMutableMethodDescriptor(val original: JetMethodDescriptor): JetMethodDescriptor by original {
public class JetMutableMethodDescriptor(override val original: JetMethodDescriptor): JetMethodDescriptor by original {
private val parameters: MutableList<JetParameterInfo> = original.getParameters()
override var receiver: JetParameterInfo? = original.receiver