illegal generics instanceof (IDEA-89765)

This commit is contained in:
Anna Kozlova
2012-08-06 12:41:58 +02:00
parent b28bf0223d
commit 8e532ed732
2 changed files with 19 additions and 1 deletions
@@ -984,7 +984,11 @@ public class GenericsHighlightUtil {
if (resolved instanceof PsiClass) {
final PsiClass containingClass = ((PsiClass)resolved).getContainingClass();
if (containingClass != null && ref.getQualifier() == null && containingClass.getTypeParameters().length > 0 && !((PsiClass)resolved).hasModifierProperty(PsiModifier.STATIC)) {
if (containingClass != null &&
ref.getQualifier() == null &&
containingClass.getTypeParameters().length > 0 &&
!((PsiClass)resolved).hasModifierProperty(PsiModifier.STATIC) &&
((PsiClass)resolved).getTypeParameters().length == 0) {
return HighlightInfo.createHighlightInfo(HighlightInfoType.ERROR, typeElement, JavaErrorMessages.message("illegal.generic.type.for.instanceof"));
}
}
@@ -37,3 +37,17 @@ class BreakpointTree<TP> {
}
class Node {}
class XBreakpoint<SR>{}
public class GenericInnerClass<E> {
private void problem( Base base ) {
if ( base instanceof First) {}
}
private class Base {
}
private class First<T> extends Base {
}
}