clang
7.0.0
|
BugReporter is a utility class for generating PathDiagnostics for analysis. More...
#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"
Public Types | |
enum | Kind { BaseBRKind, GRBugReporterKind } |
using | iterator = BugTypesTy::iterator |
Iterator over the set of BugTypes tracked by the BugReporter. More... | |
using | EQClasses_iterator = llvm::FoldingSet< BugReportEquivClass >::iterator |
Iterator over the set of BugReports tracked by the BugReporter. More... | |
Protected Member Functions | |
BugReporter (BugReporterData &d, Kind k) | |
BugReporter is a utility class for generating PathDiagnostics for analysis.
It collects the BugReports and BugTypes and knows how to generate and flush the corresponding diagnostics.
The base class is used for generating path-insensitive
Definition at line 412 of file BugReporter.h.
using clang::ento::BugReporter::EQClasses_iterator = llvm::FoldingSet<BugReportEquivClass>::iterator |
Iterator over the set of BugReports tracked by the BugReporter.
Definition at line 468 of file BugReporter.h.
using clang::ento::BugReporter::iterator = BugTypesTy::iterator |
Iterator over the set of BugTypes tracked by the BugReporter.
Definition at line 463 of file BugReporter.h.
Enumerator | |
---|---|
BaseBRKind | |
GRBugReporterKind |
Definition at line 414 of file BugReporter.h.
|
inlineprotected |
Definition at line 441 of file BugReporter.h.
|
inline |
Definition at line 445 of file BugReporter.h.
|
virtual |
Definition at line 2228 of file BugReporter.cpp.
|
inline |
Definition at line 464 of file BugReporter.h.
void clang::ento::BugReporter::EmitBasicReport | ( | const Decl * | DeclWithIssue, |
const CheckerBase * | Checker, | ||
StringRef | BugName, | ||
StringRef | BugCategory, | ||
StringRef | BugStr, | ||
PathDiagnosticLocation | Loc, | ||
ArrayRef< SourceRange > | Ranges = None |
||
) |
Referenced by CompareReturnTypes(), LookThroughTransitiveAssignmentsAndCommaOperators(), and seenBeforeRec().
void clang::ento::BugReporter::EmitBasicReport | ( | const Decl * | DeclWithIssue, |
CheckName | CheckName, | ||
StringRef | BugName, | ||
StringRef | BugCategory, | ||
StringRef | BugStr, | ||
PathDiagnosticLocation | Loc, | ||
ArrayRef< SourceRange > | Ranges = None |
||
) |
void clang::ento::BugReporter::emitReport | ( | std::unique_ptr< BugReport > | R | ) |
Add the given report to the set of reports tracked by BugReporter.
The reports are usually generated by the checkers. Further, they are folded based on the profile value, which is done to coalesce similar reports.
Referenced by clang::ento::CheckerContext::emitReport(), getArgumentValueString(), clang::ento::mpi::MPIBugReporter::reportDoubleNonblocking(), clang::ento::mpi::MPIBugReporter::reportMissingWait(), and clang::ento::mpi::MPIBugReporter::reportUnmatchedWait().
|
inline |
Definition at line 465 of file BugReporter.h.
|
inline |
Definition at line 469 of file BugReporter.h.
|
inline |
Definition at line 470 of file BugReporter.h.
void BugReporter::FlushReports | ( | ) |
Generate and flush diagnostics for all bug reports.
Definition at line 2236 of file BugReporter.cpp.
Referenced by clang::ento::ExprEngine::~ExprEngine().
|
inlinevirtual |
Reimplemented in clang::ento::GRBugReporter.
Definition at line 479 of file BugReporter.h.
References clang::ento::BugReport::BT, clang::ento::BugReport::DeclWithIssue, and clang::ento::BugReport::Ranges.
|
inline |
Definition at line 476 of file BugReporter.h.
References clang::ento::BugReporterData::getAnalyzerOptions().
Referenced by clang::ento::BugReporterContext::getAnalyzerOptions().
|
inline |
Definition at line 472 of file BugReporter.h.
References clang::ento::BugReporterData::getASTContext().
Referenced by CheckObjCInstMethSignature(), clang::ento::BugReporterContext::getASTContext(), and isArc4RandomAvailable().
|
inline |
Definition at line 454 of file BugReporter.h.
References clang::ento::BugReporterData::getDiagnostic().
|
inline |
Definition at line 452 of file BugReporter.h.
Referenced by clang::ento::GRBugReporter::classof().
|
inline |
Definition at line 458 of file BugReporter.h.
References clang::ento::BugReporterData::getPathDiagnosticConsumers().
|
inline |
Definition at line 474 of file BugReporter.h.
References clang::ento::BugReporterData::getSourceManager().
Referenced by CompareReturnTypes(), emitDiagnostics(), clang::ento::CheckerContext::getSourceManager(), clang::ento::BugReporterContext::getSourceManager(), LookThroughTransitiveAssignmentsAndCommaOperators(), and seenBeforeRec().
void clang::ento::BugReporter::Register | ( | BugType * | BT | ) |