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;
+ }
}
}
}
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.
/**
* {@inheritDoc}
*/
- @NotNull
+ @Nullable
PsiTypeElement getTypeElement();
}