clang 20.0.0git
Public Member Functions | Protected Attributes | List of all members
clang::DiagnosticConsumer Class Reference

Abstract interface, implemented by clients of the front-end, which formats and prints fully processed diagnostics. More...

#include "clang/Basic/Diagnostic.h"

Inheritance diagram for clang::DiagnosticConsumer:
Inheritance graph
[legend]

Public Member Functions

 DiagnosticConsumer ()=default
 
virtual ~DiagnosticConsumer ()
 
unsigned getNumErrors () const
 
unsigned getNumWarnings () const
 
virtual void clear ()
 
virtual void BeginSourceFile (const LangOptions &LangOpts, const Preprocessor *PP=nullptr)
 Callback to inform the diagnostic client that processing of a source file is beginning.
 
virtual void EndSourceFile ()
 Callback to inform the diagnostic client that processing of a source file has ended.
 
virtual void finish ()
 Callback to inform the diagnostic client that processing of all source files has ended.
 
virtual bool IncludeInDiagnosticCounts () const
 Indicates whether the diagnostics handled by this DiagnosticConsumer should be included in the number of diagnostics reported by DiagnosticsEngine.
 
virtual void HandleDiagnostic (DiagnosticsEngine::Level DiagLevel, const Diagnostic &Info)
 Handle this diagnostic, reporting it to the user or capturing it to a log as needed.
 

Protected Attributes

unsigned NumWarnings = 0
 Number of warnings reported.
 
unsigned NumErrors = 0
 Number of errors reported.
 

Detailed Description

Abstract interface, implemented by clients of the front-end, which formats and prints fully processed diagnostics.

Definition at line 1745 of file Diagnostic.h.

Constructor & Destructor Documentation

◆ DiagnosticConsumer()

clang::DiagnosticConsumer::DiagnosticConsumer ( )
default

◆ ~DiagnosticConsumer()

DiagnosticConsumer::~DiagnosticConsumer ( )
virtualdefault

Member Function Documentation

◆ BeginSourceFile()

virtual void clang::DiagnosticConsumer::BeginSourceFile ( const LangOptions LangOpts,
const Preprocessor PP = nullptr 
)
inlinevirtual

Callback to inform the diagnostic client that processing of a source file is beginning.

Note that diagnostics may be emitted outside the processing of a source file, for example during the parsing of command line options. However, diagnostics with source range information are required to only be emitted in between BeginSourceFile() and EndSourceFile().

Parameters
LangOptsThe language options for the source file being processed.
PPThe preprocessor object being used for the source; this is optional, e.g., it may not be present when processing AST source files.

Reimplemented in clang::VerifyDiagnosticConsumer, clang::ChainedDiagnosticConsumer, clang::LogDiagnosticPrinter, clang::SARIFDiagnosticPrinter, and clang::TextDiagnosticPrinter.

Definition at line 1769 of file Diagnostic.h.

Referenced by clang::arcmt::MigrationProcess::applyTransform(), clang::FrontendAction::BeginSourceFile(), clang::VerifyDiagnosticConsumer::BeginSourceFile(), clang::ChainedDiagnosticConsumer::BeginSourceFile(), clang::arcmt::checkForManualIssues(), clang::installapi::InstallAPIAction::CreateASTConsumer(), clang::ASTUnit::enableSourceFileDiagnostics(), and clang::ASTMergeAction::ExecuteAction().

◆ clear()

virtual void clang::DiagnosticConsumer::clear ( )
inlinevirtual

◆ EndSourceFile()

virtual void clang::DiagnosticConsumer::EndSourceFile ( )
inlinevirtual

◆ finish()

virtual void clang::DiagnosticConsumer::finish ( )
inlinevirtual

Callback to inform the diagnostic client that processing of all source files has ended.

Reimplemented in clang::ChainedDiagnosticConsumer.

Definition at line 1781 of file Diagnostic.h.

Referenced by clang::CompilerInstance::ExecuteAction(), and clang::ChainedDiagnosticConsumer::finish().

◆ getNumErrors()

unsigned clang::DiagnosticConsumer::getNumErrors ( ) const
inline

◆ getNumWarnings()

unsigned clang::DiagnosticConsumer::getNumWarnings ( ) const
inline

Definition at line 1755 of file Diagnostic.h.

References NumWarnings.

Referenced by clang::CompilerInstance::printDiagnosticStats().

◆ HandleDiagnostic()

void DiagnosticConsumer::HandleDiagnostic ( DiagnosticsEngine::Level  DiagLevel,
const Diagnostic Info 
)
virtual

◆ IncludeInDiagnosticCounts()

bool DiagnosticConsumer::IncludeInDiagnosticCounts ( ) const
virtual

Indicates whether the diagnostics handled by this DiagnosticConsumer should be included in the number of diagnostics reported by DiagnosticsEngine.

IncludeInDiagnosticCounts - This method (whose default implementation returns true) indicates whether the diagnostics handled by this DiagnosticConsumer should be included in the number of diagnostics reported by DiagnosticsEngine.

The default implementation returns true.

Reimplemented in clang::ForwardingDiagnosticConsumer, clang::ChainedDiagnosticConsumer, and clang::FixItRewriter.

Definition at line 1192 of file Diagnostic.cpp.

Referenced by HandleDiagnostic(), clang::ChainedDiagnosticConsumer::IncludeInDiagnosticCounts(), clang::FixItRewriter::IncludeInDiagnosticCounts(), and clang::DiagnosticsEngine::Report().

Member Data Documentation

◆ NumErrors

unsigned clang::DiagnosticConsumer::NumErrors = 0
protected

Number of errors reported.

Definition at line 1748 of file Diagnostic.h.

Referenced by clear(), getNumErrors(), and HandleDiagnostic().

◆ NumWarnings

unsigned clang::DiagnosticConsumer::NumWarnings = 0
protected

Number of warnings reported.

Definition at line 1747 of file Diagnostic.h.

Referenced by clear(), getNumWarnings(), and HandleDiagnostic().


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