diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java index f780df025bd..719b804ea5f 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java @@ -1183,7 +1183,7 @@ public class Attr extends JCTree.Visitor { Errors.DefaultAllowedInIntfAnnotationMember); } if (isDefaultMethod || (tree.sym.flags() & (ABSTRACT | NATIVE)) == 0) - log.error(tree.pos(), Errors.MissingMethBodyOrDeclAbstract); + log.error(tree.pos(), Errors.MissingMethBodyOrDeclAbstract(tree.sym, owner)); } else { if ((tree.sym.flags() & (ABSTRACT|DEFAULT|PRIVATE)) == ABSTRACT) { if ((owner.flags() & INTERFACE) != 0) { diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java index 3d9eff107da..da7db138604 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java @@ -2080,7 +2080,7 @@ public class Check { } } log.error(pos, - explicitOverride ? (m.isStatic() ? Errors.StaticMethodsCannotBeAnnotatedWithOverride : Errors.MethodDoesNotOverrideSuperclass) : + explicitOverride ? (m.isStatic() ? Errors.StaticMethodsCannotBeAnnotatedWithOverride(m, m.enclClass()) : Errors.MethodDoesNotOverrideSuperclass(m, m.enclClass())) : Errors.AnonymousDiamondMethodDoesNotOverrideSuperclass(Fragments.DiamondAnonymousMethodsImplicitlyOverride)); } } diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties index a226b2f5960..1d18635f14b 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties @@ -905,14 +905,17 @@ compiler.err.limit.string.overflow=\ compiler.err.malformed.fp.lit=\ malformed floating-point literal +# 0: symbol, 1: symbol compiler.err.method.does.not.override.superclass=\ - method does not override or implement a method from a supertype + {0} in {1} does not override or implement a method from a supertype +# 0: symbol, 1: symbol compiler.err.static.methods.cannot.be.annotated.with.override=\ - static methods cannot be annotated with @Override + static method {0} in {1} cannot be annotated with @Override +# 0: symbol, 1: symbol compiler.err.missing.meth.body.or.decl.abstract=\ - missing method body, or declare abstract + method {0} in {1} is missing a method body, or should be declared abstract compiler.err.missing.ret.stmt=\ missing return statement diff --git a/test/langtools/tools/javac/OverrideChecks/Private.out b/test/langtools/tools/javac/OverrideChecks/Private.out index f49ef46a255..2ccbecd6d3a 100644 --- a/test/langtools/tools/javac/OverrideChecks/Private.out +++ b/test/langtools/tools/javac/OverrideChecks/Private.out @@ -1,2 +1,2 @@ -Private.java:14:5: compiler.err.method.does.not.override.superclass +Private.java:14:5: compiler.err.method.does.not.override.superclass: m(), Bar 1 error diff --git a/test/langtools/tools/javac/annotations/6359949/T6359949a.out b/test/langtools/tools/javac/annotations/6359949/T6359949a.out index f179ca1bc1a..2c2aed1da27 100644 --- a/test/langtools/tools/javac/annotations/6359949/T6359949a.out +++ b/test/langtools/tools/javac/annotations/6359949/T6359949a.out @@ -1,2 +1,2 @@ -T6359949a.java:15:5: compiler.err.static.methods.cannot.be.annotated.with.override +T6359949a.java:15:5: compiler.err.static.methods.cannot.be.annotated.with.override: example(), Test 1 error diff --git a/test/langtools/tools/javac/annotations/crash_empty_enum_const/CrashEmptyEnumConstructorTest.java b/test/langtools/tools/javac/annotations/crash_empty_enum_const/CrashEmptyEnumConstructorTest.java index 29340dd720e..865c53a19c3 100644 --- a/test/langtools/tools/javac/annotations/crash_empty_enum_const/CrashEmptyEnumConstructorTest.java +++ b/test/langtools/tools/javac/annotations/crash_empty_enum_const/CrashEmptyEnumConstructorTest.java @@ -92,7 +92,7 @@ public class CrashEmptyEnumConstructorTest extends TestRunner { """); List expected = List.of( - "E.java:3: error: missing method body, or declare abstract", + "E.java:3: error: method E(String) in E is missing a method body, or should be declared abstract", " E(String one);", " ^", "1 error"); diff --git a/test/langtools/tools/javac/annotations/neg/OverrideNo.out b/test/langtools/tools/javac/annotations/neg/OverrideNo.out index 2af05a13fc3..34f4fe08e2a 100644 --- a/test/langtools/tools/javac/annotations/neg/OverrideNo.out +++ b/test/langtools/tools/javac/annotations/neg/OverrideNo.out @@ -1,2 +1,2 @@ -OverrideNo.java:16:5: compiler.err.method.does.not.override.superclass +OverrideNo.java:16:5: compiler.err.method.does.not.override.superclass: f(), overrideNo.B 1 error diff --git a/test/langtools/tools/javac/defaultMethods/private/Private02.out b/test/langtools/tools/javac/defaultMethods/private/Private02.out index cc61d11113f..ba6fb69fdbc 100644 --- a/test/langtools/tools/javac/defaultMethods/private/Private02.out +++ b/test/langtools/tools/javac/defaultMethods/private/Private02.out @@ -1,4 +1,4 @@ Private02.java:13:31: compiler.err.illegal.combination.of.modifiers: abstract, private Private02.java:16:22: compiler.err.already.defined: kindname.method, foo(int), kindname.interface, Private02.I -Private02.java:12:22: compiler.err.missing.meth.body.or.decl.abstract +Private02.java:12:22: compiler.err.missing.meth.body.or.decl.abstract: foo(java.lang.String), Private02.I 3 errors diff --git a/test/langtools/tools/javac/defaultMethods/private/Private08.out b/test/langtools/tools/javac/defaultMethods/private/Private08.out index f259aae76ba..bf1e68c5e73 100644 --- a/test/langtools/tools/javac/defaultMethods/private/Private08.out +++ b/test/langtools/tools/javac/defaultMethods/private/Private08.out @@ -2,7 +2,7 @@ Private08.java:13:28: compiler.err.illegal.combination.of.modifiers: public, pri Private08.java:14:30: compiler.err.illegal.combination.of.modifiers: abstract, private Private08.java:15:29: compiler.err.illegal.combination.of.modifiers: private, default Private08.java:16:24: compiler.err.mod.not.allowed.here: protected -Private08.java:17:22: compiler.err.missing.meth.body.or.decl.abstract +Private08.java:17:22: compiler.err.missing.meth.body.or.decl.abstract: missingBody(), Private08.I Private08.java:22:33: compiler.err.report.access: foo(), private, Private08.I Private08.java:27:21: compiler.err.override.weaker.access: (compiler.misc.clashes.with: doo(), Private08_01.J, doo(), Private08.I), public Private08.java:25:13: compiler.err.non-static.cant.be.ref: kindname.variable, super diff --git a/test/langtools/tools/javac/lvti/BadLocalVarInferenceTest.out b/test/langtools/tools/javac/lvti/BadLocalVarInferenceTest.out index 9e7cab9633d..d9e7ce5a552 100644 --- a/test/langtools/tools/javac/lvti/BadLocalVarInferenceTest.out +++ b/test/langtools/tools/javac/lvti/BadLocalVarInferenceTest.out @@ -5,7 +5,7 @@ BadLocalVarInferenceTest.java:22:13: compiler.err.cant.infer.local.var.type: g, BadLocalVarInferenceTest.java:23:13: compiler.err.cant.infer.local.var.type: d, (compiler.misc.local.self.ref) BadLocalVarInferenceTest.java:24:13: compiler.err.cant.infer.local.var.type: k, (compiler.misc.local.array.missing.target) BadLocalVarInferenceTest.java:25:29: compiler.err.does.not.override.abstract: compiler.misc.anonymous.class: BadLocalVarInferenceTest$1, m(java.lang.Object), BadLocalVarInferenceTest.Foo -BadLocalVarInferenceTest.java:26:13: compiler.err.method.does.not.override.superclass +BadLocalVarInferenceTest.java:26:13: compiler.err.method.does.not.override.superclass: m(java.lang.String), compiler.misc.anonymous.class: BadLocalVarInferenceTest$1 BadLocalVarInferenceTest.java:29:27: compiler.err.cant.resolve.location.args: kindname.method, charAt, , int, (compiler.misc.location.1: kindname.variable, x, java.lang.Object) BadLocalVarInferenceTest.java:30:13: compiler.err.cant.infer.local.var.type: t, (compiler.misc.local.cant.infer.void) 10 errors