From 8b975831797181d5d7e17d1f428c21b59814460a Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 3 Dec 2013 16:39:27 +0100 Subject: [PATCH] add explicit arguments: eliminate wildcards (IDEA-106741) --- .../quickfix/AddTypeArgumentsConditionalFix.java | 2 +- .../afterEliminateWildcards.java | 12 ++++++++++++ .../beforeEliminateWildcards.java | 12 ++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArgumentsConditional/afterEliminateWildcards.java create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArgumentsConditional/beforeEliminateWildcards.java diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddTypeArgumentsConditionalFix.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddTypeArgumentsConditionalFix.java index f574b49dc551..09f879b0d795 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddTypeArgumentsConditionalFix.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddTypeArgumentsConditionalFix.java @@ -75,7 +75,7 @@ public class AddTypeArgumentsConditionalFix implements IntentionAction { public String fun(PsiTypeParameter parameter) { final PsiType substituteTypeParam = mySubstitutor.substitute(parameter); LOG.assertTrue(substituteTypeParam != null); - return substituteTypeParam.getCanonicalText(); + return GenericsUtil.eliminateWildcards(substituteTypeParam).getCanonicalText(); } }, ", ") + ">"; final PsiExpression expression = myExpression.getMethodExpression().getQualifierExpression(); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArgumentsConditional/afterEliminateWildcards.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArgumentsConditional/afterEliminateWildcards.java new file mode 100644 index 000000000000..a228257636cc --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArgumentsConditional/afterEliminateWildcards.java @@ -0,0 +1,12 @@ +// "Add explicit type arguments" "true" +import java.util.*; + +class Test { + static class A {} + static class B extends A {} + + + public Collection run(boolean flag) { + return flag ? Collections.singletonList(new B()) : Collections.emptyList(); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArgumentsConditional/beforeEliminateWildcards.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArgumentsConditional/beforeEliminateWildcards.java new file mode 100644 index 000000000000..8d4383c05752 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArgumentsConditional/beforeEliminateWildcards.java @@ -0,0 +1,12 @@ +// "Add explicit type arguments" "true" +import java.util.*; + +class Test { + static class A {} + static class B extends A {} + + + public Collection run(boolean flag) { + return flag ? Collections.singletonList(new B()) : Collections.emptyList(); + } +} \ No newline at end of file