summaryrefslogtreecommitdiff
path: root/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java
diff options
context:
space:
mode:
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.java8
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)