public static void Print(TextWriter writer, CompilerErrorCollection errors)
{
Hashtable reported = new Hashtable();
StringBuilder buffer = new StringBuilder();
foreach (CompilerError error in errors)
{
buffer.Length = 0;
buffer.Append(Path.GetFileName(error.LexicalInfo.FileName));
buffer.AppendFormat("({0},{1}): ", error.LexicalInfo.Line, error.LexicalInfo.Column);
buffer.AppendFormat("{0}: ", error.Code);
buffer.Append(error.Message);
string message = buffer.ToString();
if (reported.ContainsKey(message)) continue;
reported.Add(message, message);
writer.WriteLine(message);
}
}