illegal generic type for instanceof checks (IDEA-76997)

This commit is contained in:
anna
2012-04-17 12:26:40 +02:00
parent 7a17222ff6
commit ca8c474bf6
3 changed files with 35 additions and 0 deletions
@@ -973,6 +973,13 @@ public class GenericsHighlightUtil {
return HighlightInfo.createHighlightInfo(HighlightInfoType.ERROR, ref, JavaErrorMessages.message("generics.cannot.instanceof.type.parameters"));
}
if (resolved instanceof PsiClass) {
final PsiClass containingClass = ((PsiClass)resolved).getContainingClass();
if (containingClass != null && ref.getQualifier() == null && containingClass.getTypeParameters().length > 0) {
return HighlightInfo.createHighlightInfo(HighlightInfoType.ERROR, typeElement, JavaErrorMessages.message("illegal.generic.type.for.instanceof"));
}
}
final PsiType[] parameters = ref.getTypeParameters();
for (PsiType parameterType : parameters) {
if (parameterType != null &&