From d2bfe3d14bfa48af585f1faddc9a0c37dc05e724 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Tue, 13 Mar 2018 10:28:31 +0100 Subject: [PATCH] ensure name when retrieving constructors from a class (IDEA-188068) --- java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java | 2 +- .../src/com/intellij/psi/impl/source/PsiClassImpl.java | 4 ++-- .../afterAlreadyAssigned.java | 2 +- .../beforeAlreadyAssigned.java | 2 +- .../afterIncompleteConstructor.java | 2 +- .../afterMultipleInvoke.java | 2 +- .../afterParamWithSameName.java | 2 +- .../initializeFinalFieldInConstructor/afterSimpleInvoke.java | 2 +- .../beforeIncompleteConstructor.java | 2 +- .../beforeMultipleInvoke.java | 2 +- .../beforeParamWithSameName.java | 2 +- .../initializeFinalFieldInConstructor/beforeSimpleInvoke.java | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java index ed176c47c2e5..b5185b79d317 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java @@ -70,7 +70,7 @@ public class PsiImplUtil { public static PsiMethod[] getConstructors(@NotNull PsiClass aClass) { List result = null; for (PsiMethod method : aClass.getMethods()) { - if (method.isConstructor()) { + if (method.isConstructor() && method.getName().equals(aClass.getName())) { if (result == null) result = ContainerUtil.newSmartList(); result.add(method); } diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassImpl.java index fe2a89492bbc..e9ae71afac37 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassImpl.java @@ -503,8 +503,8 @@ public class PsiClassImpl extends JavaStubPsiElement> implements } // rename constructors - for (PsiMethod method : getConstructors()) { - if (method.getName().equals(oldName)) { + for (PsiMethod method : getMethods()) { + if (method.isConstructor() && method.getName().equals(oldName)) { method.setName(newName); } } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterAlreadyAssigned.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterAlreadyAssigned.java index 19947eecde6c..98db59dabb7f 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterAlreadyAssigned.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/afterAlreadyAssigned.java @@ -1,5 +1,5 @@ // "Add constructor parameter" "true" -class A { +class Foo { private final String text; public Foo(String text) { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/beforeAlreadyAssigned.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/beforeAlreadyAssigned.java index fd698dc023ea..af60a1037d3a 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/beforeAlreadyAssigned.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/createConstructorParameterFromField/beforeAlreadyAssigned.java @@ -1,5 +1,5 @@ // "Add constructor parameter" "true" -class A { +class Foo { private final String text; public Foo(String text) { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterIncompleteConstructor.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterIncompleteConstructor.java index 0b21594951a6..ed1011d9d6cd 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterIncompleteConstructor.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterIncompleteConstructor.java @@ -1,5 +1,5 @@ // "Initialize in constructor" "true" -class A { +class Main { private final int var; private Main() { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterMultipleInvoke.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterMultipleInvoke.java index 6b4cbc49001e..3b057f7cbef9 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterMultipleInvoke.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterMultipleInvoke.java @@ -1,5 +1,5 @@ // "Initialize in constructor" "true" -class A { +class Main { private final int var; private Main() { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterParamWithSameName.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterParamWithSameName.java index 8dda8ee78eb3..735b106f2d72 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterParamWithSameName.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterParamWithSameName.java @@ -1,5 +1,5 @@ // "Initialize in constructor" "true" -class A { +class Main { private final int var; private Main(int var) { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterSimpleInvoke.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterSimpleInvoke.java index 2155e450fbb2..81922a2ac704 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterSimpleInvoke.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/afterSimpleInvoke.java @@ -1,5 +1,5 @@ // "Initialize in constructor" "true" -class A { +class Main { private final int var; private Main() { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeIncompleteConstructor.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeIncompleteConstructor.java index a83084579e22..a8fe79cf090d 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeIncompleteConstructor.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeIncompleteConstructor.java @@ -1,5 +1,5 @@ // "Initialize in constructor" "true" -class A { +class Main { private final int var; private Main() diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeMultipleInvoke.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeMultipleInvoke.java index e53edb214bd4..2d23ac0d14e8 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeMultipleInvoke.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeMultipleInvoke.java @@ -1,5 +1,5 @@ // "Initialize in constructor" "true" -class A { +class Main { private final int var; private Main() { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeParamWithSameName.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeParamWithSameName.java index f90a87b12cf9..5b1e03b0f0ce 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeParamWithSameName.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeParamWithSameName.java @@ -1,5 +1,5 @@ // "Initialize in constructor" "true" -class A { +class Main { private final int var; private Main(int var) { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeSimpleInvoke.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeSimpleInvoke.java index a166f8ca8d38..19f7b5aaa4da 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeSimpleInvoke.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/initializeFinalFieldInConstructor/beforeSimpleInvoke.java @@ -1,5 +1,5 @@ // "Initialize in constructor" "true" -class A { +class Main { private final int var; private Main() {