[svn]
r7271: vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/Checker.n
IT
svnadmin at nemerle.org
Mon Jan 15 22:47:45 CET 2007
Log:
Combining error messages.
Author: IT
Date: Mon Jan 15 22:47:44 2007
New Revision: 7271
Modified:
vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/Checker.n
Modified: vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/Checker.n
==============================================================================
--- vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/Checker.n (original)
+++ vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/Checker.n Mon Jan 15 22:47:44 2007
@@ -530,9 +530,38 @@
errors = _project.GetAllCompilerMessageForFile(_fileIndex).ToArray();
}
- foreach (cm in errors)
- when (!_addError(cm))
- break;
+ mutable err;
+ mutable doAdd = true;
+
+ foreach (cm when doAdd in errors)
+ {
+ if (err == null)
+ err = cm;
+ else if (err.Location == cm.Location)
+ err = CompilerMessage(
+ {
+ mutable msg = err.Message;
+
+ unless (msg.EndsWith(".") || msg.EndsWith(":"))
+ msg += ".";
+
+ msg += "\n";
+ msg += char.ToUpper(cm.Message[0]).ToString();
+ msg += cm.Message.Substring(1);
+
+ msg.Replace("`", "'")
+ },
+ err.Location,
+ err.MessageKind);
+ else
+ {
+ doAdd = _addError(err);
+ err = cm;
+ }
+ }
+
+ when (doAdd && err != null)
+ _ = _addError(err);
ProcessRegions(_project.CompileUnits[_fileIndex].Decls);
}
More information about the svn
mailing list