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 3541 of file rootcling_impl.cxx.
Public Member Functions | |
CheckModuleBuildClient (clang::DiagnosticConsumer *Child, bool OwnsChild, clang::ModuleMap &Map) | |
~CheckModuleBuildClient () | |
virtual void | BeginSourceFile (const clang::LangOptions &LangOpts, const clang::Preprocessor *PP) override |
virtual void | clear () override |
virtual void | EndSourceFile () override |
virtual void | finish () override |
virtual void | HandleDiagnostic (clang::DiagnosticsEngine::Level DiagLevel, const clang::Diagnostic &Info) override |
virtual bool | IncludeInDiagnosticCounts () const override |
Private Attributes | |
clang::DiagnosticConsumer * | fChild |
clang::ModuleMap & | fMap |
bool | fOwnsChild |
|
inline |
Definition at line 3547 of file rootcling_impl.cxx.
|
inline |
Definition at line 3552 of file rootcling_impl.cxx.
|
inlineoverridevirtual |
Definition at line 3616 of file rootcling_impl.cxx.
|
inlineoverridevirtual |
Definition at line 3610 of file rootcling_impl.cxx.
|
inlineoverridevirtual |
Definition at line 3622 of file rootcling_impl.cxx.
|
inlineoverridevirtual |
Definition at line 3628 of file rootcling_impl.cxx.
|
inlineoverridevirtual |
Definition at line 3558 of file rootcling_impl.cxx.
|
inlineoverridevirtual |
Definition at line 3634 of file rootcling_impl.cxx.
|
private |
Definition at line 3542 of file rootcling_impl.cxx.
|
private |
Definition at line 3544 of file rootcling_impl.cxx.
|
private |
Definition at line 3543 of file rootcling_impl.cxx.