Custom diag client for clang that verifies that each implicitly build module is a system module.
If not, it will let the current rootcling invocation fail with an error. All other diags beside module build remarks will be forwarded to the passed child diag client.
The reason why we need this is that if we built implicitly a C++ module that belongs to a ROOT dictionary, then we will miss information generated by rootcling in this file (e.g. the source code comments to annotation attributes transformation will be missing in the module file).
Definition at line 3417 of file rootcling_impl.cxx.
Public Member Functions | |
| CheckModuleBuildClient (clang::DiagnosticConsumer *Child, bool OwnsChild, clang::ModuleMap &Map) | |
| ~CheckModuleBuildClient () override | |
| void | BeginSourceFile (const clang::LangOptions &LangOpts, const clang::Preprocessor *PP) override |
| void | clear () override |
| void | EndSourceFile () override |
| void | finish () override |
| void | HandleDiagnostic (clang::DiagnosticsEngine::Level DiagLevel, const clang::Diagnostic &Info) override |
| bool | IncludeInDiagnosticCounts () const override |
Private Attributes | |
| clang::DiagnosticConsumer * | fChild |
| clang::ModuleMap & | fMap |
| bool | fOwnsChild |
|
inline |
Definition at line 3423 of file rootcling_impl.cxx.
|
inlineoverride |
Definition at line 3428 of file rootcling_impl.cxx.
|
inlineoverride |
Definition at line 3502 of file rootcling_impl.cxx.
|
inlineoverride |
Definition at line 3496 of file rootcling_impl.cxx.
|
inlineoverride |
Definition at line 3508 of file rootcling_impl.cxx.
|
inlineoverride |
Definition at line 3514 of file rootcling_impl.cxx.
|
inlineoverride |
Definition at line 3434 of file rootcling_impl.cxx.
|
inlineoverride |
Definition at line 3520 of file rootcling_impl.cxx.
|
private |
Definition at line 3418 of file rootcling_impl.cxx.
|
private |
Definition at line 3420 of file rootcling_impl.cxx.
|
private |
Definition at line 3419 of file rootcling_impl.cxx.