From b8fc9fb5bc007ccebcdb73a3757aa97301354b06 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 24 Sep 2012 17:41:22 +0200 Subject: [PATCH] diagnose invalid type (EA-39404) --- java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java index 2b1b117b7553..7fb45493a58f 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/PsiImplUtil.java @@ -327,6 +327,9 @@ public class PsiImplUtil { } public static PsiType normalizeWildcardTypeByPosition(@NotNull PsiType type, @NotNull PsiExpression expression) { + LOG.assertTrue(expression.isValid()); + LOG.assertTrue(type.isValid()); + PsiExpression toplevel = expression; while (toplevel.getParent() instanceof PsiArrayAccessExpression && ((PsiArrayAccessExpression)toplevel.getParent()).getArrayExpression() == toplevel) { @@ -334,6 +337,7 @@ public class PsiImplUtil { } final PsiType normalized = doNormalizeWildcardByPosition(type, expression, toplevel); + LOG.assertTrue(normalized.isValid(), type); if (normalized instanceof PsiClassType && !PsiUtil.isAccessedForWriting(toplevel)) { return PsiUtil.captureToplevelWildcards(normalized, expression); }