clang 18.0.0git
|
Abstract interface, implemented by clients of the front-end, which formats and prints fully processed diagnostics. More...
#include "clang/Basic/Diagnostic.h"
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. | |
Abstract interface, implemented by clients of the front-end, which formats and prints fully processed diagnostics.
Definition at line 1740 of file Diagnostic.h.
|
default |
|
virtualdefault |
|
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().
LangOpts | The language options for the source file being processed. |
PP | The 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 1764 of file Diagnostic.h.
Referenced by clang::arcmt::MigrationProcess::applyTransform(), clang::FrontendAction::BeginSourceFile(), clang::VerifyDiagnosticConsumer::BeginSourceFile(), clang::ChainedDiagnosticConsumer::BeginSourceFile(), clang::arcmt::checkForManualIssues(), clang::ASTUnit::enableSourceFileDiagnostics(), and clang::ASTMergeAction::ExecuteAction().
|
inlinevirtual |
Reimplemented in clang::ForwardingDiagnosticConsumer.
Definition at line 1751 of file Diagnostic.h.
References NumErrors, and NumWarnings.
Referenced by clang::FixItRecompile::BeginInvocation(), clang::ForwardingDiagnosticConsumer::clear(), and clang::PCHGenerator::HandleTranslationUnit().
|
inlinevirtual |
Callback to inform the diagnostic client that processing of a source file has ended.
The diagnostic client should assume that any objects made available via BeginSourceFile() are inaccessible.
Reimplemented in clang::ChainedDiagnosticConsumer, clang::LogDiagnosticPrinter, clang::SARIFDiagnosticPrinter, clang::TextDiagnosticPrinter, and clang::VerifyDiagnosticConsumer.
Definition at line 1772 of file Diagnostic.h.
Referenced by clang::arcmt::MigrationProcess::applyTransform(), clang::FrontendAction::BeginSourceFile(), clang::arcmt::checkForManualIssues(), clang::FrontendAction::EndSourceFile(), clang::ChainedDiagnosticConsumer::EndSourceFile(), clang::VerifyDiagnosticConsumer::EndSourceFile(), clang::ASTMergeAction::ExecuteAction(), and clang::ASTUnit::~ASTUnit().
|
inlinevirtual |
Callback to inform the diagnostic client that processing of all source files has ended.
Reimplemented in clang::ChainedDiagnosticConsumer.
Definition at line 1776 of file Diagnostic.h.
Referenced by clang::CompilerInstance::ExecuteAction(), and clang::ChainedDiagnosticConsumer::finish().
|
inline |
Definition at line 1749 of file Diagnostic.h.
References NumErrors.
Referenced by clang::arcmt::MigrationProcess::applyTransform(), and clang::CompilerInstance::ExecuteAction().
|
inline |
Definition at line 1750 of file Diagnostic.h.
References NumWarnings.
Referenced by clang::CompilerInstance::ExecuteAction().
|
virtual |
Handle this diagnostic, reporting it to the user or capturing it to a log as needed.
The default implementation just keeps track of the total number of warnings and errors.
Reimplemented in clang::ForwardingDiagnosticConsumer, clang::ChainedDiagnosticConsumer, clang::LogDiagnosticPrinter, clang::TextDiagnosticBuffer, clang::VerifyDiagnosticConsumer, clang::FixItRewriter, clang::format::FatalDiagnosticConsumer, clang::SARIFDiagnosticPrinter, and clang::TextDiagnosticPrinter.
Definition at line 560 of file Diagnostic.cpp.
References clang::DiagnosticsEngine::Error, IncludeInDiagnosticCounts(), NumErrors, NumWarnings, and clang::DiagnosticsEngine::Warning.
Referenced by clang::ForwardingDiagnosticConsumer::HandleDiagnostic(), clang::ChainedDiagnosticConsumer::HandleDiagnostic(), clang::LogDiagnosticPrinter::HandleDiagnostic(), clang::TextDiagnosticBuffer::HandleDiagnostic(), clang::FixItRewriter::HandleDiagnostic(), clang::SARIFDiagnosticPrinter::HandleDiagnostic(), clang::TextDiagnosticPrinter::HandleDiagnostic(), and clang::DiagnosticsEngine::Report().
|
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 1191 of file Diagnostic.cpp.
Referenced by HandleDiagnostic(), clang::ForwardingDiagnosticConsumer::IncludeInDiagnosticCounts(), clang::ChainedDiagnosticConsumer::IncludeInDiagnosticCounts(), clang::FixItRewriter::IncludeInDiagnosticCounts(), and clang::DiagnosticsEngine::Report().
|
protected |
Number of errors reported.
Definition at line 1743 of file Diagnostic.h.
Referenced by clear(), getNumErrors(), and HandleDiagnostic().
|
protected |
Number of warnings reported.
Definition at line 1742 of file Diagnostic.h.
Referenced by clear(), getNumWarnings(), and HandleDiagnostic().