2008-07-14 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / mcs / report.cs
index 615e74d89e7926ec25faad3989a4351a8eea16fa..16a813e67c77206aa4b4651a21809a6dcc103606 100644 (file)
@@ -4,7 +4,7 @@
 // Author: Miguel de Icaza (miguel@ximian.com)
 //         Marek Safar (marek.safar@seznam.cz)         
 //
-// (C) 2001 Ximian, Inc. (http://www.ximian.com)
+// Copyright 2001 Ximian, Inc. (http://www.ximian.com)
 //
 
 using System;
@@ -101,7 +101,7 @@ namespace Mono.CSharp {
                        2002, 2023, 2029,
                        3005, 3012, 3018, 3019, 3021, 3022, 3023, 3026, 3027,
 #if GMCS_SOURCE
-                       402, 414, 458, 693, 1058, 1700, 3024
+                       402, 414, 458, 464, 693, 1058, 1700, 3024
 #endif
                };
 
@@ -138,7 +138,7 @@ namespace Mono.CSharp {
 
                public static void EnableReporting ()
                {
-                       if (warning_stack != null)
+                       if (warning_stack != null && warning_stack.Count > 0)
                                Warnings = (int) warning_stack.Pop ();
                        else
                                Warnings = 0;
@@ -160,6 +160,7 @@ namespace Mono.CSharp {
 
                public interface IMessageRecorder
                {
+                       bool IsEmpty { get; }
                        void EndSession ();
                        void AddMessage (AbstractMessage msg);
                        bool PrintMessages ();
@@ -241,6 +242,12 @@ namespace Mono.CSharp {
                                session_messages.Add (msg);
                        }
 
+                       public bool IsEmpty {
+                               get {
+                                       return merged_messages == null && common_messages == null;
+                               }
+                       }
+
                        //
                        // Prints collected messages, common messages have a priority
                        //
@@ -358,7 +365,7 @@ namespace Mono.CSharp {
                                Check (code);
                        }
 
-                       public virtual string ColorFormat (string s)
+                       protected virtual string ColorFormat (string s)
                        {
                                return s;
                        }
@@ -537,7 +544,7 @@ namespace Mono.CSharp {
                        {
                        }
 
-                       public override string ColorFormat (string s)
+                       protected override string ColorFormat (string s)
                        {
                                if (prefix != null)
                                        return prefix + s + postfix;