[PATCH] D75360: [analyzer][NFC] Tie CheckerRegistry to CheckerManager, allow CheckerManager to be constructed for non-analysis purposes

Kristóf Umann via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 18 04:51:34 PDT 2020


Szelethus marked an inline comment as done.
Szelethus added inline comments.


================
Comment at: clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h:217
+    mgr.template registerChecker<T>();
   }
 
----------------
baloghadamsoftware wrote:
> NoQ wrote:
> > Szelethus wrote:
> > > baloghadamsoftware wrote:
> > > > Why do we need `MGR` here as template parameter? Is this function also used for other class instances than `CheckerManager`? I fail to see such invocation.
> > > Include cycles :) `CheckerManager.h` includes `CheckerRegistry.h`, so we can only forward declare `CheckerManager`, hence the need for a template parameter.
> > Maybe put the implementation into the cpp file instead?
> +1 Using templates where only one template parameter is possible is overkill and makes the code difficult to understand.
Can't do, mind that the **checker** is a template parameter as well. I could add more comments tho!


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

https://reviews.llvm.org/D75360





More information about the cfe-commits mailing list