diff --git a/java/java-impl/src/com/intellij/slicer/SliceUtil.java b/java/java-impl/src/com/intellij/slicer/SliceUtil.java index 6d87cd6b331f..c2e88bbdd0b6 100644 --- a/java/java-impl/src/com/intellij/slicer/SliceUtil.java +++ b/java/java-impl/src/com/intellij/slicer/SliceUtil.java @@ -316,8 +316,12 @@ public class SliceUtil { PsiSubstitutor combined = unify(substitutor, parentSubstitutor, project); if (combined == null) return true; - PsiType substitited = combined.substitute(passExpression.getType()); - if (substitited == null || !TypeConversionUtil.areTypesConvertible(substitited, actualType)) return true; + PsiType substituted = combined.substitute(passExpression.getType()); + if (substituted instanceof PsiPrimitiveType) { + final PsiClassType boxedType = ((PsiPrimitiveType)substituted).getBoxedType(argumentList); + substituted = boxedType != null ? boxedType : substituted; + } + if (substituted == null || !TypeConversionUtil.areTypesConvertible(substituted, actualType)) return true; return handToProcessor(passExpression, processor, parent, combined); }