void (@NotNull GrExtendsClause extendsClause) { GrTypeDefinition typeDefinition = (GrTypeDefinition)extendsClause.getParent(); if (typeDefinition.isAnnotationType()) { myHolder.newAnnotation(HighlightSeverity.ERROR, GroovyBundle.message("annotation.types.may.not.have.extends.clause")).create(); } else if (typeDefinition.isTrait()) { checkReferenceList(myHolder, extendsClause, IS_TRAIT, GroovyBundle.message("only.traits.expected.here"), null); } else if (typeDefinition.isInterface()) { checkReferenceList(myHolder, extendsClause, IS_INTERFACE, GroovyBundle.message("no.class.expected.here"), null); } else if (typeDefinition.isEnum()) { myHolder.newAnnotation(HighlightSeverity.ERROR, GroovyBundle.message("enums.may.not.have.extends.clause")).create(); } else { checkReferenceList(myHolder, extendsClause, IS_NOT_INTERFACE, GroovyBundle.message("no.interface.expected.here"), new ChangeExtendsImplementsQuickFix(typeDefinition).asIntention()); checkForWildCards(myHolder, extendsClause); } }