Logo ROOT  
Reference Guide
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 3544 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:
[legend]

Constructor & Destructor Documentation

◆ CheckModuleBuildClient()

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

Definition at line 3550 of file rootcling_impl.cxx.

◆ ~CheckModuleBuildClient()

CheckModuleBuildClient::~CheckModuleBuildClient ( )
inline

Definition at line 3555 of file rootcling_impl.cxx.

Member Function Documentation

◆ BeginSourceFile()

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

Definition at line 3619 of file rootcling_impl.cxx.

◆ clear()

virtual void CheckModuleBuildClient::clear ( )
inlineoverridevirtual

Definition at line 3613 of file rootcling_impl.cxx.

◆ EndSourceFile()

virtual void CheckModuleBuildClient::EndSourceFile ( )
inlineoverridevirtual

Definition at line 3625 of file rootcling_impl.cxx.

◆ finish()

virtual void CheckModuleBuildClient::finish ( )
inlineoverridevirtual

Definition at line 3631 of file rootcling_impl.cxx.

◆ HandleDiagnostic()

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

Definition at line 3561 of file rootcling_impl.cxx.

◆ IncludeInDiagnosticCounts()

virtual bool CheckModuleBuildClient::IncludeInDiagnosticCounts ( ) const
inlineoverridevirtual

Definition at line 3637 of file rootcling_impl.cxx.

Member Data Documentation

◆ fChild

clang::DiagnosticConsumer* CheckModuleBuildClient::fChild
private

Definition at line 3545 of file rootcling_impl.cxx.

◆ fMap

clang::ModuleMap& CheckModuleBuildClient::fMap
private

Definition at line 3547 of file rootcling_impl.cxx.

◆ fOwnsChild

bool CheckModuleBuildClient::fOwnsChild
private

Definition at line 3546 of file rootcling_impl.cxx.


The documentation for this class was generated from the following file: