// 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;
1717, 1718, 1720,
1901,
2002, 2023, 2029,
- 3005, 3012, 3018, 3019, 3021, 3022, 3023, 3026, 3027,
+ 3000, 3001, 3002, 3003, 3005, 3006, 3007, 3008, 3009,
+ 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019,
+ 3021, 3022, 3023, 3026, 3027,
+
+ 414, // Non ISO-1 warnings
#if GMCS_SOURCE
- 402, 414, 458, 693, 1058, 1700, 3024
+ 402, 458, 464, 693, 1058, 1700, 3024
#endif
};
public static void EnableReporting ()
{
- if (warning_stack != null)
+ if (warning_stack != null && warning_stack.Count > 0)
Warnings = (int) warning_stack.Pop ();
else
Warnings = 0;
public interface IMessageRecorder
{
+ bool IsEmpty { get; }
void EndSession ();
void AddMessage (AbstractMessage msg);
bool PrintMessages ();
session_messages.Add (msg);
}
+ public bool IsEmpty {
+ get {
+ return merged_messages == null && common_messages == null;
+ }
+ }
+
//
// Prints collected messages, common messages have a priority
//
Check (code);
}
- public virtual string ColorFormat (string s)
+ protected virtual string ColorFormat (string s)
{
return s;
}
{
static string prefix, postfix;
- [System.Runtime.InteropServices.DllImport ("libc", EntryPoint="isatty")]
- extern static int _isatty (int fd);
-
- static bool isatty (int fd)
- {
- try {
- return _isatty (fd) == 1;
- } catch {
- return false;
- }
- }
-
static ErrorMessage ()
{
string term = Environment.GetEnvironmentVariable ("TERM");
if (!xterm_colors)
return;
- if (!(isatty (1) && isatty (2)))
+ if (!(UnixUtils.isatty (1) && UnixUtils.isatty (2)))
return;
string config = Environment.GetEnvironmentVariable ("MCS_COLORS");
{
}
- public override string ColorFormat (string s)
+ protected override string ColorFormat (string s)
{
if (prefix != null)
return prefix + s + postfix;
version = "2.0";
break;
case LanguageVersion.Default_MCS:
- Report.Error (1644, loc, "Feature `{0}' is not available in Mono mcs1 compiler. Consider using Mono mcs compiler instead",
+ Report.Error (1644, loc, "Feature `{0}' is not available in Mono mcs1 compiler. Consider using the `gmcs' compiler instead",
feature);
return;
default:
return;
}
+ // FIXME: Completely wrong, it has to use FindMembers
MemberCore mc = temp_ds.GetDefinition (mi.Name);
- SymbolRelatedToPreviousError (mc);
+ if (mc != null)
+ SymbolRelatedToPreviousError (mc);
}
}
static void SymbolRelatedToPreviousError (string loc, string symbol)
{
- extra_information.Add (String.Format ("{0} (Location of the symbol related to previous ", loc));
+ string msg = String.Format ("{0} (Location of the symbol related to previous ", loc);
+ if (extra_information.Contains (msg))
+ return;
+
+ extra_information.Add (msg);
}
public static void ExtraInformation (Location loc, string msg)