From abe476f2c44ea411dfb2e78a3b799232ae86aebe Mon Sep 17 00:00:00 2001 From: Alexey Gopachenko Date: Fri, 31 Aug 2012 20:50:51 +0200 Subject: [PATCH] PHP avoid dumb SOE in deeeeeeeeep trees. --- .../com/intellij/extapi/psi/ASTDelegatePsiElement.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/platform/core-impl/src/com/intellij/extapi/psi/ASTDelegatePsiElement.java b/platform/core-impl/src/com/intellij/extapi/psi/ASTDelegatePsiElement.java index ba20572bdb3f..2dfade012dec 100644 --- a/platform/core-impl/src/com/intellij/extapi/psi/ASTDelegatePsiElement.java +++ b/platform/core-impl/src/com/intellij/extapi/psi/ASTDelegatePsiElement.java @@ -53,8 +53,12 @@ public abstract class ASTDelegatePsiElement extends PsiElementBase { @Override public PsiManagerEx getManager() { - final PsiElement parent = getParent(); - if (parent == null) throw new PsiInvalidElementAccessException(this); + PsiElement parent; + for (parent = this; parent.getParent() instanceof ASTDelegatePsiElement; parent = parent.getParent()) { + } + parent = parent.getParent(); + if (parent == null) + throw new PsiInvalidElementAccessException(this); return (PsiManagerEx)parent.getManager(); }