IDEA-104910 Groovy: normalize extends list doesn't suggest fix

This commit is contained in:
Max Medvedev
2013-04-12 14:48:35 +04:00
parent 4bb26f9a4f
commit 60984699fe
@@ -1347,15 +1347,15 @@ public class GroovyAnnotator extends GroovyElementVisitor {
public void visitExtendsClause(GrExtendsClause extendsClause) {
GrTypeDefinition typeDefinition = (GrTypeDefinition)extendsClause.getParent();
if (typeDefinition.isInterface()) {
if (typeDefinition.isAnnotationType()) {
myHolder.createErrorAnnotation(extendsClause, GroovyBundle.message("annotation.types.may.not.have.extends.clause"));
}
else if (typeDefinition.isInterface()) {
checkReferenceList(myHolder, extendsClause, true, GroovyBundle.message("no.class.expected.here"), null);
}
else if (typeDefinition.isEnum()) {
myHolder.createErrorAnnotation(extendsClause, GroovyBundle.message("enums.may.not.have.extends.clause"));
}
else if (typeDefinition.isAnnotationType()) {
myHolder.createErrorAnnotation(extendsClause, GroovyBundle.message("annotation.types.may.not.have.extends.clause"));
}
else {
checkReferenceList(myHolder, extendsClause, false, GroovyBundle.message("no.interface.expected.here"),
new ChangeExtendsImplementsQuickFix(typeDefinition));
@@ -1368,12 +1368,13 @@ public class GroovyAnnotator extends GroovyElementVisitor {
public void visitImplementsClause(GrImplementsClause implementsClause) {
GrTypeDefinition typeDefinition = (GrTypeDefinition)implementsClause.getParent();
if (typeDefinition.isInterface()) {
myHolder.createErrorAnnotation(implementsClause, GroovyBundle.message("no.implements.clause.allowed.for.interface"));
}
else if (typeDefinition.isAnnotationType()) {
if (typeDefinition.isAnnotationType()) {
myHolder.createErrorAnnotation(implementsClause, GroovyBundle.message("annotation.types.may.not.have.implements.clause"));
}
else if (typeDefinition.isInterface()) {
myHolder.createErrorAnnotation(implementsClause, GroovyBundle.message("no.implements.clause.allowed.for.interface"))
.registerFix(new ChangeExtendsImplementsQuickFix(typeDefinition));
}
else {
checkReferenceList(myHolder, implementsClause, true, GroovyBundle.message("no.class.expected.here"),
new ChangeExtendsImplementsQuickFix(typeDefinition));