fixed PY-8128 Change Signature: signature for child method is not updated when changing method name

This commit is contained in:
Ekaterina Tuzova
2012-11-28 14:36:21 +04:00
parent 05ec32d66f
commit cf9065acfb
4 changed files with 21 additions and 2 deletions
@@ -232,8 +232,7 @@ public class PyChangeSignatureUsageProcessor implements ChangeSignatureUsageProc
updateParameterList(changeInfo, function);
}
if (changeInfo.isNameChanged()) {
final PsiElement method = changeInfo.getMethod();
RenameUtil.doRenameGenericNamedElement(method, changeInfo.getNewName(), UsageInfo.EMPTY_ARRAY, null);
RenameUtil.doRenameGenericNamedElement(function, changeInfo.getNewName(), UsageInfo.EMPTY_ARRAY, null);
}
}
@@ -0,0 +1,8 @@
class A(object):
def m1(self):
print(1)
class B(A):
def m1(self):
print(2)
@@ -0,0 +1,8 @@
class A(object):
def m<caret>(self):
print(1)
class B(A):
def m(self):
print(2)
@@ -87,6 +87,10 @@ public class PyChangeSignatureTest extends PyTestCase {
new PyParameterInfo(-1, "a", "2", false)), LanguageLevel.PYTHON32);
}
public void testRenameOverriding() {
doChangeSignatureTest("m1", Arrays.asList(new PyParameterInfo(0, "self", null, false)));
}
public void testEmptyParameterName() {
doValidationTest(null, Arrays.asList(new PyParameterInfo(-1, "", "2", true)),
PyBundle.message("refactoring.change.signature.dialog.validation.parameter.name"));