From d5c14467328b696c6c2deae8508b75063dce1b7f Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Mon, 23 Apr 2018 15:51:53 +0200 Subject: [PATCH] enable var type change when method is called on qualifier (IDEA-190067) --- .../daemon/impl/quickfix/VariableTypeFromCallFix.java | 2 +- .../varTypeFromCall/afterOnNonGenericQualifier.java | 11 +++++++++++ .../varTypeFromCall/beforeOnNonGenericQualifier.java | 11 +++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/varTypeFromCall/afterOnNonGenericQualifier.java create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/varTypeFromCall/beforeOnNonGenericQualifier.java diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableTypeFromCallFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableTypeFromCallFix.java index 6166cb15fdf9..fba57acb846e 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableTypeFromCallFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableTypeFromCallFix.java @@ -103,8 +103,8 @@ public class VariableTypeFromCallFix implements IntentionAction { final PsiClassType appropriateVarType = JavaPsiFacade.getElementFactory(expression.getProject()).createType(varClass, psiSubstitutor); if (!varType.equals(appropriateVarType)) { actions.add(new VariableTypeFromCallFix(appropriateVarType, (PsiVariable)resolved)); + break; } - break; } } } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/varTypeFromCall/afterOnNonGenericQualifier.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/varTypeFromCall/afterOnNonGenericQualifier.java new file mode 100644 index 000000000000..4b9e364718cf --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/varTypeFromCall/afterOnNonGenericQualifier.java @@ -0,0 +1,11 @@ +// "Change field 'f' type to 'java.lang.String'" "true" +class Test { + String f; + void foo(A a) { + a.foo(f); + } +} + +class A { + void foo(String s) {} +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/varTypeFromCall/beforeOnNonGenericQualifier.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/varTypeFromCall/beforeOnNonGenericQualifier.java new file mode 100644 index 000000000000..1ebbbab8a4bb --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/varTypeFromCall/beforeOnNonGenericQualifier.java @@ -0,0 +1,11 @@ +// "Change field 'f' type to 'java.lang.String'" "true" +class Test { + int f; + void foo(A a) { + a.foo(f); + } +} + +class A { + void foo(String s) {} +} \ No newline at end of file