mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
@Nullable PsiParameter.getTypeElement (EA-28714)
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user