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


================
Comment at: 
clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:153
+#undef CHECKER_DEPENDENCY
+#undef GET_CHECKER_DEPENDENCIES
+  }
----------------
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.


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