import com.intellij.psi.*;
import com.intellij.psi.search.searches.ReferencesSearch;
import com.intellij.psi.util.InheritanceUtil;
+import com.intellij.psi.util.MethodSignatureUtil;
import com.intellij.refactoring.RefactoringBundle;
import com.intellij.refactoring.util.CommonRefactoringUtil;
import com.intellij.refactoring.util.RefactoringConflictsUtil;
assert modifierList != null;
if (!modifierList.hasModifierProperty(PsiModifier.ABSTRACT)) {
PsiMethod method = (PsiMethod)movedMember;
- final PsiMethod overrider = targetClass.findMethodBySignature(method, false);
+ final PsiMethod overrider = MethodSignatureUtil.findMethodBySuperMethod(targetClass, method, false);
if (overrider != null) {
String message = RefactoringBundle.message("0.is.already.overridden.in.1",
RefactoringUIUtil.getDescription(method, true), RefactoringUIUtil.getDescription(targetClass, false));
--- /dev/null
+class Parent<T> {
+ public void fo<caret>o(T p) {
+ System.out.println("a");
+ }
+}
+
+class Child extends Parent {
+ public void foo(Object p) {
+ System.out.println("b");
+ }
+}
\ No newline at end of file