martong added inline comments.

================
Comment at: 
clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:153
+#undef CHECKER_DEPENDENCY
+#undef GET_CHECKER_DEPENDENCIES
+  }
----------------
Szelethus wrote:
> Szelethus wrote:
> > balazske wrote:
> > > Probably too much of assert here (but it works)? (There is not a way to 
> > > get the dependency data "dynamically", like 
> > > //"Checker->isDependentOn(OtherChecker)"//?)
> > Wow, you're totally correct, I didn't even consider that. Indeed, this 
> > doesn't work with plugins (or checkers from unit tests), but it should be 
> > doable, since `CheckerManager` owns `CheckerRegistry` (D75360). This is 
> > kind of ironic, considering how much I tend to block patches based on this 
> > :^)
> Oh, to actually answer your question. The checker dependency information is 
> stored in `CheckerRegistry` in this small struct:
> ```lang=cpp
>   struct CheckerInfo {
>     enum class StateFromCmdLine {
>       // This checker wasn't explicitly enabled or disabled.
>       State_Unspecified,
>       // This checker was explicitly disabled.
>       State_Disabled,
>       // This checker was explicitly enabled.
>       State_Enabled
>     };
> 
>     InitializationFunction Initialize = nullptr;
>     ShouldRegisterFunction ShouldRegister = nullptr;
>     StringRef FullName;
>     StringRef Desc;
>     StringRef DocumentationUri;
>     CmdLineOptionList CmdLineOptions;
>     bool IsHidden = false;
>     StateFromCmdLine State = StateFromCmdLine::State_Unspecified;
> 
>     ConstCheckerInfoList Dependencies;
>     //...
>   };
> ```
> So the nice solution should make this info a bit more visible.
I have no serious bad feelings with the macro solution, but if you can come  up 
with a better structure then that would be so cool! :)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D78126



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

Reply via email to