diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddTypeArgumentsFix.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddTypeArgumentsFix.java index 1a5519529f69..0da9795ac0fb 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddTypeArgumentsFix.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddTypeArgumentsFix.java @@ -20,6 +20,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.pom.java.LanguageLevel; import com.intellij.psi.*; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.TypeConversionUtil; import com.intellij.refactoring.util.RefactoringChangeUtil; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; @@ -104,8 +105,7 @@ public class AddTypeArgumentsFix extends MethodArgumentFix { @Override public boolean areTypesConvertible(final PsiType exprType, final PsiType parameterType, final PsiElement context) { - return !(exprType instanceof PsiPrimitiveType) && - !(parameterType instanceof PsiPrimitiveType); + return !(exprType instanceof PsiPrimitiveType) && !(parameterType instanceof PsiPrimitiveType) || TypeConversionUtil.boxingConversionApplicable(exprType, parameterType); } } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArguments/afterPrimitives.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArguments/afterPrimitives.java new file mode 100644 index 000000000000..08841589c9d9 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArguments/afterPrimitives.java @@ -0,0 +1,14 @@ +// "Add explicit type arguments to 2nd argument" "true" +import java.util.Collections; +import java.util.List; + +class Foo { + + public static void main(String[] args) { + new Foo(1, Collections.emptyList()); + } + + public Foo(Integer i, List list) { + + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArguments/beforePrimitives.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArguments/beforePrimitives.java new file mode 100644 index 000000000000..52a2dfff2769 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/addTypeArguments/beforePrimitives.java @@ -0,0 +1,14 @@ +// "Add explicit type arguments to 2nd argument" "true" +import java.util.Collections; +import java.util.List; + +class Foo { + + public static void main(String[] args) { + new Foo(1, Collections.emptyList()); + } + + public Foo(Integer i, List list) { + + } +} \ No newline at end of file