public static IEnumerable <ParserDiagnostic> GetDiagnostics(this ParserResult result) { for (var x = 0; x < result.DiagnosticsCount; x++) { var diagnostic = result.getDiagnostics((uint)x); yield return(diagnostic); } }
void OnFileParsed(string file, ParserResult result) { switch (result.Kind) { case ParserResultKind.Success: Diagnostics.Message("Parsed '{0}'", file); break; case ParserResultKind.Error: Diagnostics.Error("Error parsing '{0}'", file); break; case ParserResultKind.FileNotFound: Diagnostics.Error("File '{0}' was not found", file); 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); } }