23 if (locationParts.size() == 3)
25 path = locationParts[0];
26 line = std::stoi(locationParts[1]);
27 column = std::stoi(locationParts[2]);
32 Issue issue = {path, line, column, level, message};
33 issues.push_back(issue);
44 for (
Issue issue : issues)
46 if (! issue.path.empty())
48 s << issue.path <<
":";
52 s << issue.line <<
":";
53 if (issue.column >= 0)
54 s << issue.column <<
":";
61 if (issue.level == clang::DiagnosticsEngine::Ignored)
62 levelName =
"ignored";
63 else if (issue.level == clang::DiagnosticsEngine::Note)
65 else if (issue.level == clang::DiagnosticsEngine::Remark)
67 else if (issue.level == clang::DiagnosticsEngine::Warning)
68 levelName =
"warning";
69 else if (issue.level == clang::DiagnosticsEngine::Error)
71 else if (issue.level == clang::DiagnosticsEngine::Fatal)
72 levelName =
"fatal error";
74 if (! levelName.empty())
75 s << levelName <<
": ";
79 if (++i < issues.size())