From e8d3a9691824ed69a0f441206dace3defe153816 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 25 Aug 2011 19:24:09 +0200 Subject: [PATCH] backward slices: types can be convertible through autoboxing here, though T t = 1 should be prohibited --- java/java-impl/src/com/intellij/slicer/SliceUtil.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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); }