diff options
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.java | 2 | ||||
-rw-r--r-- | java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java | 8 |
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) |