private static MessageSinkFromDelegate ToMessageSink(IVsGeneratorProgress progressCallback) { var sink = new MessageSinkFromDelegate( (Symbol severity, object context, string message, object[] args) => { if (MessageSink.GetSeverity(severity) >= MessageSink.GetSeverity(MessageSink.Warning)) { int line = 0, col = 0; if (context is LNode) { var range = ((LNode)context).Range; line = range.Begin.Line; col = range.Begin.PosInLine; } progressCallback.GeneratorError(severity == MessageSink.Warning ? 1 : 0, 0u, Localize.From(message, args), (uint)line - 1u, (uint)col); } else { MessageSink.Console.Write(severity, context, message, args); } }); return(sink); }
private static MessageSinkFromDelegate ToMessageSink(IVsGeneratorProgress progressCallback) { var sink = new MessageSinkFromDelegate( (Symbol severity, object context, string message, object[] args) => { if (MessageSink.GetSeverity(severity) >= MessageSink.GetSeverity(MessageSink.Warning)) { int line = 0, col = 0; if (context is LNode) { var range = ((LNode)context).Range; line = range.Begin.Line; col = range.Begin.PosInLine; } progressCallback.GeneratorError(severity == MessageSink.Warning ? 1 : 0, 0u, Localize.From(message, args), (uint)line - 1u, (uint)col); } else MessageSink.Console.Write(severity, context, message, args); }); return sink; }