From 9dc2a8c86cbc57b7cb55e929586bd8417f0591d5 Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 28 Nov 2015 10:15:17 +0100 Subject: [PATCH] break SOE in getContainingFile (EA-73885 - SOE: ASTDelegatePsiElement.getContainingFile) --- .../com/intellij/psi/impl/source/tree/SharedImplUtil.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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) {