private void OnSourceFileParsed(IList <SourceFile> files, ParserResult result) { switch (result.Kind) { case ParserResultKind.Success: Diagnostics.Message("Parsed '{0}'", string.Join(", ", files)); break; case ParserResultKind.Error: Diagnostics.Error("Error parsing '{0}'", string.Join(", ", files)); _hasParsingErrors = true; break; case ParserResultKind.FileNotFound: Diagnostics.Error("A file from '{0}' was not found", string.Join(",", files)); break; } for (uint i = 0; i < result.DiagnosticsCount; ++i) { var diagnostics = result.GetDiagnostics(i); var message = $"{diagnostics.FileName}({diagnostics.LineNumber},{diagnostics.ColumnNumber}): " + $"{diagnostics.Level.ToString().ToLower()}: {diagnostics.Message}"; Diagnostics.Message(message); } }
void OnFileParsed(IEnumerable<string> files, ParserResult result) { switch (result.Kind) { case ParserResultKind.Success: Diagnostics.Message("Parsed '{0}'", string.Join(", ", files)); break; case ParserResultKind.Error: Diagnostics.Error("Error parsing '{0}'", string.Join(", ", files)); hasParsingErrors = true; break; case ParserResultKind.FileNotFound: Diagnostics.Error("A file from '{0}' was not found", string.Join(",", files)); break; } for (uint i = 0; i < result.DiagnosticsCount; ++i) { var diag = result.GetDiagnostics(i); if (Options.IgnoreParseWarnings && diag.Level == ParserDiagnosticLevel.Warning) continue; if (diag.Level == ParserDiagnosticLevel.Note) continue; Diagnostics.Message("{0}({1},{2}): {3}: {4}", diag.FileName, diag.LineNumber, diag.ColumnNumber, diag.Level.ToString().ToLower(), diag.Message); } }