<div dir="ltr"><div>It seems weird to be using FrontendAction for clang-tidy (and the analyzer too). clang-tidy isn't a compiler frontend (I mean look at the methods: hasCodeCompletionSupport? getCurrentFileKind? shouldEraseOutputFiles?). AFAICT All you are really need is a vector of PPCallbacks, and a vector of what is effectively std::function<TidyResult(ASTContext &)>. It seems like there should be at most a single FrontendAction which just sets things up so that it can forward everything down into those vectors.</div>
<div><br></div><div>-- Sean Silva</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 15, 2013 at 10:48 AM, Manuel Klimek <span dir="ltr"><<a href="mailto:klimek@google.com" target="_blank">klimek@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Heya,<div><br></div><div>while trying to integrate the static analyzer with clang-tidy I ran into the problem of combining the static analyzer's FrontendAction with clang-tidy's. As most of FrontendAction's methods are protected it is not straight forward to write a combiner/forwarder.</div>

<div><br></div><div>I see multiple ways to solve this problem, but don't really know what the best way to go forward is:</div><div>a) create a CombinedFrontendAction (either by befriending FrontendAction, or lowering its access boundaries); I assume that the protectedness in FrontendAction exists for a reason, so there might be downsides to this I'm not aware of</div>

<div>b) modularize the Analyzer enough to be able to run it as a PPCallback / ASTConsumer which is registered by a one-off FrontendAction; the problem with this approach is that when we want to build higher-level tools, we always need to keep that split</div>

<div><br></div><div>Thoughts?</div><span class="HOEnZb"><font color="#888888"><div>/Manuel</div></font></span></div>
<br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>