From 78dff987eb6aba10e20a5047a1d79c170cc5d0fa Mon Sep 17 00:00:00 2001 From: "peter.gromov" Date: Wed, 10 Nov 2010 14:42:18 +0300 Subject: [PATCH] only allow to create anchors for valid PSI --- platform/lang-impl/src/com/intellij/psi/PsiAnchor.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/platform/lang-impl/src/com/intellij/psi/PsiAnchor.java b/platform/lang-impl/src/com/intellij/psi/PsiAnchor.java index 76eb110be95d..e42ffa872dc5 100644 --- a/platform/lang-impl/src/com/intellij/psi/PsiAnchor.java +++ b/platform/lang-impl/src/com/intellij/psi/PsiAnchor.java @@ -19,6 +19,7 @@ package com.intellij.psi; import com.intellij.lang.ASTNode; import com.intellij.lang.Language; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.NullableComputable; import com.intellij.openapi.util.TextRange; @@ -40,6 +41,7 @@ import java.util.Set; * @author db */ public abstract class PsiAnchor { + private static final Logger LOG = Logger.getInstance("#com.intellij.psi.PsiAnchor"); @Nullable public abstract PsiElement retrieve(); public abstract PsiFile getFile(); @@ -47,6 +49,8 @@ public abstract class PsiAnchor { public abstract int getEndOffset(); public static PsiAnchor create(final PsiElement element) { + LOG.assertTrue(element.isValid()); + if (element instanceof PsiFile) { return new HardReference(element); }