summaryrefslogtreecommitdiff
path: root/java/java-psi-api/src/com/intellij/psi/util
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-psi-api/src/com/intellij/psi/util')
-rw-r--r--java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java2
-rw-r--r--java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java8
2 files changed, 9 insertions, 1 deletions
diff --git a/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java b/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java
index a69e11a9d3cc..b38bb494c1e7 100644
--- a/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java
+++ b/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java
@@ -722,7 +722,7 @@ public final class PsiUtil extends PsiUtilCore {
}
public static void checkIsIdentifier(@NotNull PsiManager manager, String text) throws IncorrectOperationException{
- if (!JavaPsiFacade.getInstance(manager.getProject()).getNameHelper().isIdentifier(text)){
+ if (!PsiNameHelper.getInstance(manager.getProject()).isIdentifier(text)){
throw new IncorrectOperationException(PsiBundle.message("0.is.not.an.identifier", text) );
}
}
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)