langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java
changeset 1996 c855318a4b03
parent 1870 57a1138dffc8
child 2212 1d3dc0e0ba0c
--- a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Fri Jan 30 23:28:38 2009 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java	Fri Feb 06 10:23:57 2009 -0800
@@ -371,6 +371,7 @@
                         context.get(DiagnosticListener.class) != null;
         devVerbose    = options.get("dev") != null;
         processPcks   = options.get("process.packages") != null;
+        werror        = options.get("-Werror")        != null;
 
         verboseCompilePolicy = options.get("verboseCompilePolicy") != null;
 
@@ -434,6 +435,10 @@
      */
     protected boolean processPcks;
 
+    /** Switch: treat warnings as errors
+     */
+    protected boolean werror;
+
     /** Switch: is annotation processing requested explitly via
      * CompilationTask.setProcessors?
      */
@@ -490,7 +495,11 @@
     public int errorCount() {
         if (delegateCompiler != null && delegateCompiler != this)
             return delegateCompiler.errorCount();
-        else
+        else {
+            if (werror && log.nerrors == 0 && log.nwarnings > 0) {
+                log.error("warnings.and.werror");
+            }
+        }
             return log.nerrors;
     }