From 02714dbd422a1a180344175d850671ea8ffbc8df Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Sat, 12 Feb 2005 22:00:41 +0300 Subject: [PATCH] PsiElement.getProject() won't fail with NPE anymore even if element is invalid. null will be returned instead. --- source/com/intellij/psi/impl/PsiElementBase.java | 3 ++- .../com/intellij/psi/impl/source/tree/CompositePsiElement.java | 3 ++- source/com/intellij/psi/impl/source/tree/LeafPsiElement.java | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/source/com/intellij/psi/impl/PsiElementBase.java b/source/com/intellij/psi/impl/PsiElementBase.java index 909c622d7a58..238ce20900f1 100644 --- a/source/com/intellij/psi/impl/PsiElementBase.java +++ b/source/com/intellij/psi/impl/PsiElementBase.java @@ -125,7 +125,8 @@ public abstract class PsiElementBase extends ElementBase implements PsiElement,N } public Project getProject() { - return getManager().getProject(); + final PsiManager manager = getManager(); + return manager != null ? manager.getProject() : null; } public Language getLanguage() { diff --git a/source/com/intellij/psi/impl/source/tree/CompositePsiElement.java b/source/com/intellij/psi/impl/source/tree/CompositePsiElement.java index 901a920fec20..f3acfd26d896 100644 --- a/source/com/intellij/psi/impl/source/tree/CompositePsiElement.java +++ b/source/com/intellij/psi/impl/source/tree/CompositePsiElement.java @@ -237,7 +237,8 @@ public abstract class CompositePsiElement extends CompositeElement implements Ps } public Project getProject() { - return getManager().getProject(); + final PsiManager manager = getManager(); + return manager != null ? manager.getProject() : null; } public Language getLanguage() { diff --git a/source/com/intellij/psi/impl/source/tree/LeafPsiElement.java b/source/com/intellij/psi/impl/source/tree/LeafPsiElement.java index 6673420f995f..de83f526f122 100644 --- a/source/com/intellij/psi/impl/source/tree/LeafPsiElement.java +++ b/source/com/intellij/psi/impl/source/tree/LeafPsiElement.java @@ -184,7 +184,8 @@ public class LeafPsiElement extends LeafElementImpl implements PsiElement { } public Project getProject() { - return getManager().getProject(); + final PsiManager manager = getManager(); + return manager != null ? manager.getProject() : null; } public Language getLanguage() {