diagnostics for EA-91568 - PIEAE: PsiUtilCore$NullPsiElement.createException

This commit is contained in:
Alexey Kudravtsev
2017-02-13 14:36:49 +03:00
parent b0cebe2318
commit 5a595b8eed
@@ -17,6 +17,7 @@
package com.intellij.psi;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.psi.util.PsiUtilCore;
import com.intellij.util.WalkingState;
import org.jetbrains.annotations.NotNull;
@@ -30,12 +31,17 @@ public abstract class PsiWalkingState extends WalkingState<PsiElement> {
private static class PsiTreeGuide implements TreeGuide<PsiElement> {
@Override
public PsiElement getNextSibling(@NotNull PsiElement element) {
return element.getNextSibling();
return checkSanity(element, element.getNextSibling());
}
private static PsiElement checkSanity(PsiElement element, PsiElement sibling) {
if (sibling == PsiUtilCore.NULL_PSI_ELEMENT) throw new PsiInvalidElementAccessException(element, "Sibling of "+element+" is NULL_PSI_ELEMENT");
return sibling;
}
@Override
public PsiElement getPrevSibling(@NotNull PsiElement element) {
return element.getPrevSibling();
return checkSanity(element, element.getPrevSibling());
}
@Override