From d39f423d6165da92378724dfc3e1b68fbb18eb46 Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 8 Jul 2011 17:50:59 +0200 Subject: [PATCH] @Nullable PsiParameter.getTypeElement (EA-28714) --- .../util/xml/impl/ExtendsClassChecker.java | 15 +++++++++------ .../src/com/intellij/psi/PsiParameter.java | 3 ++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/java/java-impl/src/com/intellij/util/xml/impl/ExtendsClassChecker.java b/java/java-impl/src/com/intellij/util/xml/impl/ExtendsClassChecker.java index c54ff5089a64..bcf0c747dc13 100644 --- a/java/java-impl/src/com/intellij/util/xml/impl/ExtendsClassChecker.java +++ b/java/java-impl/src/com/intellij/util/xml/impl/ExtendsClassChecker.java @@ -105,12 +105,15 @@ public class ExtendsClassChecker extends DomCustomAnnotationChecker for (PsiMethod method : value.getConstructors()) { final PsiParameterList psiParameterList = method.getParameterList(); if (psiParameterList.getParametersCount() != 1) continue; - final PsiType psiType = psiParameterList.getParameters()[0].getTypeElement().getType(); - if (psiType instanceof PsiClassType) { - final PsiClass psiClass = ((PsiClassType)psiType).resolve(); - if (psiClass != null && InheritanceUtil.isInheritorOrSelf(psiClass, extendClass, true)) { - hasConstructor = true; - break; + PsiTypeElement typeElement = psiParameterList.getParameters()[0].getTypeElement(); + if (typeElement != null) { + final PsiType psiType = typeElement.getType(); + if (psiType instanceof PsiClassType) { + final PsiClass psiClass = ((PsiClassType)psiType).resolve(); + if (psiClass != null && InheritanceUtil.isInheritorOrSelf(psiClass, extendClass, true)) { + hasConstructor = true; + break; + } } } } diff --git a/java/openapi/src/com/intellij/psi/PsiParameter.java b/java/openapi/src/com/intellij/psi/PsiParameter.java index 4d0c63d8fed3..8c5ec61ec43c 100644 --- a/java/openapi/src/com/intellij/psi/PsiParameter.java +++ b/java/openapi/src/com/intellij/psi/PsiParameter.java @@ -17,6 +17,7 @@ package com.intellij.psi; import com.intellij.util.ArrayFactory; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** * Represents the parameter of a Java method, foreach (enhanced for) statement or catch block. @@ -59,6 +60,6 @@ public interface PsiParameter extends PsiVariable { /** * {@inheritDoc} */ - @NotNull + @Nullable PsiTypeElement getTypeElement(); }