From 7646fda820ef954152e9dc7654a38adcbc9b36b4 Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 28 Dec 2012 18:14:42 +0100 Subject: [PATCH] wording: don't suggest to make enum constant abstract (IDEA-98165) --- .../codeInsight/daemon/impl/analysis/HighlightClassUtil.java | 2 +- java/java-psi-impl/src/messages/JavaErrorMessages.properties | 1 + .../genericsHighlighting/EnumWithAbstractMethods.java | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightClassUtil.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightClassUtil.java index a130bce020eb..f56fd76638ec 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightClassUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightClassUtil.java @@ -93,7 +93,7 @@ public class HighlightClassUtil { } String baseClassName = HighlightUtil.formatClass(aClass, false); String methodName = HighlightUtil.formatMethod(abstractMethod); - String message = JavaErrorMessages.message("class.must.be.abstract", + String message = JavaErrorMessages.message(aClass instanceof PsiEnumConstantInitializer ? "enum.constant.should.implement.method" : "class.must.be.abstract", baseClassName, methodName, HighlightUtil.formatClass(abstractMethod.getContainingClass(), false)); diff --git a/java/java-psi-impl/src/messages/JavaErrorMessages.properties b/java/java-psi-impl/src/messages/JavaErrorMessages.properties index c21020291a86..1b02a298c40f 100644 --- a/java/java-psi-impl/src/messages/JavaErrorMessages.properties +++ b/java/java-psi-impl/src/messages/JavaErrorMessages.properties @@ -95,6 +95,7 @@ implements.after.interface=No implements clause allowed for interface extends.after.enum=No extends clause allowed for enum static.declaration.in.inner.class=Inner classes cannot have static declarations class.must.be.abstract=Class ''{0}'' must either be declared abstract or implement abstract method ''{1}'' in ''{2}'' +enum.constant.should.implement.method=Class ''{0}'' must implement abstract method ''{1}'' in ''{2}'' abstract.cannot.be.instantiated=''{0}'' is abstract; cannot be instantiated duplicate.class.in.other.file=Duplicate class found in the file ''{0}'' duplicate.class=Duplicate class: ''{0}'' diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/EnumWithAbstractMethods.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/EnumWithAbstractMethods.java index 61b111b4236a..c528445dfffe 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/EnumWithAbstractMethods.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/EnumWithAbstractMethods.java @@ -1,5 +1,5 @@ abstract enum OurEnum { - A { + A { }, B, C { @@ -12,7 +12,7 @@ enum xxx { X, - Y { + Y { }; abstract void f();