@Nullable PsiParameter.getTypeElement (EA-28714)

This commit is contained in:
peter
2011-07-08 19:47:05 +02:00
parent cf75ca6bed
commit d39f423d61
2 changed files with 11 additions and 7 deletions
@@ -105,12 +105,15 @@ public class ExtendsClassChecker extends DomCustomAnnotationChecker<ExtendClass>
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;
}
}
}
}
@@ -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();
}