diff --git a/java/java-impl/src/com/intellij/refactoring/util/RefactoringUtil.java b/java/java-impl/src/com/intellij/refactoring/util/RefactoringUtil.java index 8f1e063df70c..3225ce91be24 100644 --- a/java/java-impl/src/com/intellij/refactoring/util/RefactoringUtil.java +++ b/java/java-impl/src/com/intellij/refactoring/util/RefactoringUtil.java @@ -393,6 +393,9 @@ public class RefactoringUtil { ExpectedTypeInfo[] infos = ExpectedTypesProvider.getExpectedTypes(expr, false); if (infos.length == 1) { type = infos[0].getType(); + if (type instanceof PsiPrimitiveType) { + type = ((PsiPrimitiveType)type).getBoxedType(expr); + } } else { type = factory.createTypeByFQClassName(CommonClassNames.JAVA_LANG_OBJECT, expr.getResolveScope()); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/changeMethodSignatureFromUsage/afterToBoxedType.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/changeMethodSignatureFromUsage/afterToBoxedType.java new file mode 100644 index 000000000000..c0792981bfa2 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/changeMethodSignatureFromUsage/afterToBoxedType.java @@ -0,0 +1,5 @@ +// "Change 1st parameter of method 'bar' from 'int' to 'Integer'" "true" + public class Bar { + void bar(Integer i) { } + { bar(null);} + } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/changeMethodSignatureFromUsage/beforeToBoxedType.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/changeMethodSignatureFromUsage/beforeToBoxedType.java new file mode 100644 index 000000000000..cf40d089a4b8 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/changeMethodSignatureFromUsage/beforeToBoxedType.java @@ -0,0 +1,5 @@ +// "Change 1st parameter of method 'bar' from 'int' to 'Integer'" "true" + public class Bar { + void bar(int i) { } + { bar(null);} + } \ No newline at end of file