<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">+ Ted<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 5, 2015, at 2:02 AM, Manuel Klimek <<a href="mailto:klimek@google.com" class="">klimek@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">+chandler and daniel; I think that are all the chefs we need for this particular porridge</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class="gmail_quote" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">On Mon Jan 05 2015 at 10:05:02 AM Gábor Horváth <<a href="mailto:xazax.hun@gmail.com" class="">xazax.hun@gmail.com</a>> wrote:<br class=""><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div dir="ltr" class=""><div class=""><div class=""><div class=""><div class=""><div class=""><div class=""><span style="font-family: arial, helvetica, sans-serif;" class="">Hello everyone,<br class=""><br class=""></span></div><span style="font-family: arial, helvetica, sans-serif;" class=""><font class="">The Clang Static analyzer can output the diagnostics<span class="Apple-converted-space"> </span></font></span><span style="font-family: arial, helvetica, sans-serif;" class="">in plist format. It is a useful feature, because it is easy to parse that format with 3rd party tools, hence integrating clang tools with others.<br class=""><br class=""></span><span style="font-family: arial, helvetica, sans-serif;" class=""></span></div><span style="font-family: arial, helvetica, sans-serif;" class="">Unfortunately the plist reporting format is not supported by Clang Tidy. We would like to add plist support to it. This involves a lot of changes both to the format and the public API, so I want your opinion, how to do it.<br class=""><br class=""></span></div><span style="font-family: arial, helvetica, sans-serif;" class="">In my opinion we need to extend the plist format to:<br class=""></span></div><span style="font-family: arial, helvetica, sans-serif;" class="">* Support notes that are not events<br class=""></span></div><span style="font-family: arial, helvetica, sans-serif;" class="">* Support fixits<br class=""><br class=""></span></div><div class=""><span style="font-family: arial, helvetica, sans-serif;" class="">What do you think, what would be the bast way to extend the format with those informations?<br class=""><br class=""></span></div><div class=""><span style="font-family: arial, helvetica, sans-serif;" class=""><font class="">The plist reporting related functionality is not part of the Clang public API at the moment. The best would be, if the Static Analyzer and regular diagnostics could be reported to the same plist output file. To achieve this, the diagnostic consumer that outputs to the plist should support both PathDiagnostics and regular Diagnostics.<span class="Apple-converted-space"> </span></font></span><span style="font-family: arial, helvetica, sans-serif;" class=""><font class="">It would be redundant to reimplement the whole functionality in Clang Tidy. To reduce the redundancy, we would like to refactor several plist related helper functions out from PlistDiagnostics and make it available in public headers. We would also like to make<span class="Apple-converted-space"> </span></font></span><span style="font-family: arial, helvetica, sans-serif;" class="">PlistDiagnostics class available so we can inherit from it. What do you think, what would be the best way to organize these changes?<span class="Apple-converted-space"> </span><br class=""></span></div></div></blockquote><div class=""><br class=""></div><div class="">If I remember correctly, Chandler has long ago proposed to merge the different diagnostic types we have into one central clang diagnostic type that supports all our use cases.</div><div class=""><br class=""></div><div class="">I personally would need to see a CL to judge whether it makes sense, but generally, I think what you say sounds like it's the right direction (if you agree with the sentence above: make clang's basic diagnostic system powerful enough to support the analyzer's use cases, and then switch the analyzer and clang-tidy to use it).</div><div class=""><br class=""></div><div class="">I'd vote for renaming Plist to something non-horrible in the process, (I still have no idea what the "P" stands for), but that's bikeshedding.</div></div></div></blockquote><br class=""><a href="http://en.wikipedia.org/wiki/Property_list" class="">http://en.wikipedia.org/wiki/Property_list</a></div><div>(plist is the specific format widely used at Apple)</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_quote" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class=""><br class=""></div><div class="">Cheers,</div><div class="">/Manuel</div></div></div></blockquote></div><br class=""></div></body></html>