Logo ROOT  
Reference Guide
No Matches
CheckModuleBuildClient Class Reference

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 3567 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
Inheritance diagram for CheckModuleBuildClient:

Constructor & Destructor Documentation

◆ CheckModuleBuildClient()

CheckModuleBuildClient::CheckModuleBuildClient ( clang::DiagnosticConsumer *  Child,
bool  OwnsChild,
clang::ModuleMap &  Map 

Definition at line 3573 of file rootcling_impl.cxx.

◆ ~CheckModuleBuildClient()

CheckModuleBuildClient::~CheckModuleBuildClient ( )

Definition at line 3578 of file rootcling_impl.cxx.

Member Function Documentation

◆ BeginSourceFile()

virtual void CheckModuleBuildClient::BeginSourceFile ( const clang::LangOptions &  LangOpts,
const clang::Preprocessor *  PP 

Definition at line 3642 of file rootcling_impl.cxx.

◆ clear()

virtual void CheckModuleBuildClient::clear ( )

Definition at line 3636 of file rootcling_impl.cxx.

◆ EndSourceFile()

virtual void CheckModuleBuildClient::EndSourceFile ( )

Definition at line 3648 of file rootcling_impl.cxx.

◆ finish()

virtual void CheckModuleBuildClient::finish ( )

Definition at line 3654 of file rootcling_impl.cxx.

◆ HandleDiagnostic()

virtual void CheckModuleBuildClient::HandleDiagnostic ( clang::DiagnosticsEngine::Level  DiagLevel,
const clang::Diagnostic &  Info 

Definition at line 3584 of file rootcling_impl.cxx.

◆ IncludeInDiagnosticCounts()

virtual bool CheckModuleBuildClient::IncludeInDiagnosticCounts ( ) const

Definition at line 3660 of file rootcling_impl.cxx.

Member Data Documentation

◆ fChild

clang::DiagnosticConsumer* CheckModuleBuildClient::fChild

Definition at line 3568 of file rootcling_impl.cxx.

◆ fMap

clang::ModuleMap& CheckModuleBuildClient::fMap

Definition at line 3570 of file rootcling_impl.cxx.

◆ fOwnsChild

bool CheckModuleBuildClient::fOwnsChild

Definition at line 3569 of file rootcling_impl.cxx.

  • core/dictgen/src/rootcling_impl.cxx