diff options
Diffstat (limited to 'java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java')
-rw-r--r-- | java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java b/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java index 42f1494bad2e..d7a60cc4cb88 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java @@ -862,6 +862,14 @@ public class TypeConversionUtil { if (left instanceof PsiPrimitiveType && !PsiType.NULL.equals(left)) { return right instanceof PsiClassType && isAssignable(left, right); } + + if (left instanceof PsiIntersectionType) { + for (PsiType lConjunct : ((PsiIntersectionType)left).getConjuncts()) { + if (!boxingConversionApplicable(lConjunct, right)) return false; + } + return true; + } + return left instanceof PsiClassType && right instanceof PsiPrimitiveType && !PsiType.NULL.equals(right) |