langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
changeset 10626 83f0c2860f5b
parent 9814 978b696e85ad
child 10721 ca322e50ddb7
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java	Mon Sep 12 11:40:07 2011 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java	Tue Sep 13 14:14:57 2011 +0100
@@ -306,7 +306,16 @@
      */
     void duplicateError(DiagnosticPosition pos, Symbol sym) {
         if (!sym.type.isErroneous()) {
-            log.error(pos, "already.defined", sym, sym.location());
+            Symbol location = sym.location();
+            if (location.kind == MTH &&
+                    ((MethodSymbol)location).isStaticOrInstanceInit()) {
+                log.error(pos, "already.defined.in.clinit", kindName(sym), sym,
+                        kindName(sym.location()), kindName(sym.location().enclClass()),
+                        sym.location().enclClass());
+            } else {
+                log.error(pos, "already.defined", kindName(sym), sym,
+                        kindName(sym.location()), sym.location());
+            }
         }
     }