From 2d19eecbc6ff68d7c1a68c87e2b47449734cde78 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 18 Feb 2015 18:25:52 +0100 Subject: [PATCH] diagnostics for outdated anchor in SymbolCollectingProcessor (EA-63219 - IAE: ObjectUtils._assertNotNull) --- .../source/resolve/SymbolCollectingProcessor.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/SymbolCollectingProcessor.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/SymbolCollectingProcessor.java index b5933ed64e68..8a1f32ce83f4 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/SymbolCollectingProcessor.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/SymbolCollectingProcessor.java @@ -24,7 +24,6 @@ import com.intellij.psi.scope.BaseScopeProcessor; import com.intellij.psi.scope.ElementClassHint; import com.intellij.psi.scope.JavaScopeProcessorEvent; import com.intellij.psi.scope.PsiScopeProcessor; -import com.intellij.util.ObjectUtils; import com.intellij.util.containers.MostlySingularMultiMap; import org.jetbrains.annotations.NotNull; @@ -83,7 +82,16 @@ public class SymbolCollectingProcessor extends BaseScopeProcessor implements Ele @NotNull public PsiNamedElement getElement() { - return (PsiNamedElement)ObjectUtils.assertNotNull(myElement.retrieve()); + PsiElement element = myElement.retrieve(); + if (element == null) { + String message = "Anchor hasn't survived: " + myElement; + if (myElement instanceof PsiAnchor.StubIndexReference) { + message += "; diagnostics=" + ((PsiAnchor.StubIndexReference)myElement).diagnoseNull(); + } + throw new AssertionError(message); + } + + return (PsiNamedElement)element; } public PsiElement getFileContext() {