From 8b47b700feffd56e9158d536dd561b60b330dcdb Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Fri, 13 Jan 2017 11:23:22 +0100 Subject: [PATCH] extract super: validate different qualified names, accept same short names (IDEA-159142) --- .../extractSuperclass/JavaExtractSuperBaseDialog.java | 10 ++++++++-- .../extractSuperclass/ExtractSuperBaseDialog.java | 10 +++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/java/java-impl/src/com/intellij/refactoring/extractSuperclass/JavaExtractSuperBaseDialog.java b/java/java-impl/src/com/intellij/refactoring/extractSuperclass/JavaExtractSuperBaseDialog.java index c52a799435f3..fd74ec9e3c06 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractSuperclass/JavaExtractSuperBaseDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/extractSuperclass/JavaExtractSuperBaseDialog.java @@ -177,8 +177,14 @@ public abstract class JavaExtractSuperBaseDialog extends ExtractSuperBaseDialog< @Override protected String validateName(String name) { return PsiNameHelper.getInstance(myProject).isIdentifier(name) - ? name.equals(mySourceClass.getName()) - ? "Different name expected" : null + ? null : RefactoringMessageUtil.getIncorrectIdentifierMessage(name); } + + @Nullable + @Override + protected String validateQualifiedName(String packageName, String extractedSuperName) { + return StringUtil.getQualifiedName(packageName, extractedSuperName).equals(mySourceClass.getQualifiedName()) ? "Different name expected" + : null; + } } diff --git a/platform/lang-impl/src/com/intellij/refactoring/extractSuperclass/ExtractSuperBaseDialog.java b/platform/lang-impl/src/com/intellij/refactoring/extractSuperclass/ExtractSuperBaseDialog.java index a3d50fee593c..7ded385ef781 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/extractSuperclass/ExtractSuperBaseDialog.java +++ b/platform/lang-impl/src/com/intellij/refactoring/extractSuperclass/ExtractSuperBaseDialog.java @@ -83,6 +83,11 @@ public abstract class ExtractSuperBaseDialog