Szelethus added a comment.

Global nit: I guess having both DESC and DOCS as variable/macro arg names is 
confusing. Can we instead use DOCSURI/DocsUri?

In D55792#1334339 <https://reviews.llvm.org/D55792#1334339>, @aaron.ballman 
wrote:

> In D55792#1334291 <https://reviews.llvm.org/D55792#1334291>, @Szelethus wrote:
>
> > Thank you so much for working on this! The lack of a 
> >  I guess it'd be better to generate the entire URI in the tblgen file, and 
> > also allow plugins to register their own through `CheckerRegistry`. Sarif 
> > lacking the support for them is one thing, but adding a new field to the 
> > `Checker` class in `CheckerBase.td` I think should be accompanied by 
> > extending `CheckerRegistry::CheckerInfo` and `CheckerRegistry::getChecker`.
>
>
> Good point about the checker registry, I'll make those changes. However, I'm 
> a bit less certain about generating the entire URI in the tablegen file -- 
> that adds a lot of string literals to the binary when I think we don't have 
> to. However, perhaps that's not a huge concern and having the information in 
> its final form in the .inc file is a better approach. WDYT?


Well, we already store checker- and the quite lengthy -analyzer-config 
descriptions... but I'm not sure thats a good point.
However, plugin checkers being able to specify uris such as 
"mycompany.internal.supersecret.idk/dontshare/checkers/tradesecrets.html" would 
be neat.

One more thing to consider is that if Sphinx lands after 8.0.0., the uri will 
most probably change. We can always redirect, but thats a thing to consider. 
I'm not sure whether there's any likelihood of it being completed until the new 
release branch is created. But I don't think there's any change needed for this 
patch just because of this.



================
Comment at: lib/StaticAnalyzer/Core/SarifDiagnostics.cpp:270-275
+#define GET_CHECKERS
+#define CHECKER(FULLNAME, CLASS, HELPTEXT, DOCS)                               
\
+  .Case(FULLNAME, DOCS)
+#include "clang/StaticAnalyzer/Checkers/Checkers.inc"
+#undef CHECKER
+#undef GET_CHECKERS
----------------
aaron.ballman wrote:
> Szelethus wrote:
> > As per usual, this won't handle plugin checkers, but the solution is in an 
> > arms reach -- in the last couple months, I changed a lot around checker 
> > registration, and once things settle down a bit.
> > 
> > One idea is to store the list of registered checkers (now, in this case, 
> > registered means that the analyzer even knows about its existence, not that 
> > it's enabled) in `AnalyzerOptions`, however it'd force you to put an extra 
> > parameter to almost all functions here. What do you think?
> > As per usual, this won't handle plugin checkers, but the solution is in an 
> > arms reach -- in the last couple months, I changed a lot around checker 
> > registration, and once things settle down a bit.
> 
> I knew this wouldn't do good things for plugins yet, but I'm glad to hear 
> things are moving forward on that front!
> 
> > One idea is to store the list of registered checkers (now, in this case, 
> > registered means that the analyzer even knows about its existence, not that 
> > it's enabled) in AnalyzerOptions, however it'd force you to put an extra 
> > parameter to almost all functions here. What do you think?
> 
> I could always wrap these methods up to be private methods of the 
> `SarifDiagnostics` class so they'd have access to the options, so I think 
> there's a decent path forward.
Ah, touchpad messed up my inline, but I guess it was understandable.

Okay, thanks, one more concern out of the way then!


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55792/new/

https://reviews.llvm.org/D55792



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to