diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/tree/SharedImplUtil.java b/platform/core-impl/src/com/intellij/psi/impl/source/tree/SharedImplUtil.java index 026ee4e4c2a4..f1c76f048f71 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/tree/SharedImplUtil.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/tree/SharedImplUtil.java @@ -66,10 +66,10 @@ public class SharedImplUtil { } public static PsiFile getContainingFile(ASTNode thisElement) { - FileASTNode element = findFileElement(thisElement); - PsiElement psiElement = element == null ? null : element.getPsi(); - if (psiElement == null) return null; - return psiElement.getContainingFile(); + FileASTNode node = findFileElement(thisElement); + PsiElement psi = node == null ? null : node.getPsi(); + if (psi == null || psi instanceof PsiFile) return (PsiFile)psi; + throw new AssertionError("Invalid PSI " + psi + " of " + psi.getClass() + " for AST " + node + " of " + node.getClass()); } public static boolean isValid(ASTNode thisElement) {