clang
6.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 } |
typedef BugTypesTy::iterator | iterator |
Iterator over the set of BugTypes tracked by the BugReporter. More... | |
typedef llvm::FoldingSet< BugReportEquivClass >::iterator | EQClasses_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.
Definition at line 403 of file BugReporter.h.
typedef llvm::FoldingSet<BugReportEquivClass>::iterator clang::ento::BugReporter::EQClasses_iterator |
Iterator over the set of BugReports tracked by the BugReporter.
Definition at line 457 of file BugReporter.h.
typedef BugTypesTy::iterator clang::ento::BugReporter::iterator |
Iterator over the set of BugTypes tracked by the BugReporter.
Definition at line 452 of file BugReporter.h.
Enumerator | |
---|---|
BaseBRKind | |
GRBugReporterKind |
Definition at line 405 of file BugReporter.h.
|
inlineprotected |
Definition at line 430 of file BugReporter.h.
|
inline |
Definition at line 434 of file BugReporter.h.
|
virtual |
Definition at line 2773 of file BugReporter.cpp.
|
inline |
Definition at line 453 of file BugReporter.h.
void BugReporter::EmitBasicReport | ( | const Decl * | DeclWithIssue, |
const CheckerBase * | Checker, | ||
StringRef | BugName, | ||
StringRef | BugCategory, | ||
StringRef | BugStr, | ||
PathDiagnosticLocation | Loc, | ||
ArrayRef< SourceRange > | Ranges = None |
||
) |
Definition at line 3590 of file BugReporter.cpp.
Referenced by CompareReturnTypes(), and LookThroughTransitiveAssignmentsAndCommaOperators().
void BugReporter::EmitBasicReport | ( | const Decl * | DeclWithIssue, |
CheckName | CheckName, | ||
StringRef | BugName, | ||
StringRef | BugCategory, | ||
StringRef | BugStr, | ||
PathDiagnosticLocation | Loc, | ||
ArrayRef< SourceRange > | Ranges = None |
||
) |
Definition at line 3598 of file BugReporter.cpp.
void 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.
Definition at line 3253 of file BugReporter.cpp.
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 454 of file BugReporter.h.
|
inline |
Definition at line 458 of file BugReporter.h.
|
inline |
Definition at line 459 of file BugReporter.h.
void BugReporter::FlushReports | ( | ) |
Generate and flush diagnostics for all bug reports.
Definition at line 2784 of file BugReporter.cpp.
Referenced by clang::ento::ExprEngine::~ExprEngine().
|
inlinevirtual |
Reimplemented in clang::ento::GRBugReporter.
Definition at line 467 of file BugReporter.h.
References clang::ento::BugReport::BT, clang::ento::BugReport::DeclWithIssue, and clang::ento::BugReport::Ranges.
|
inline |
Definition at line 465 of file BugReporter.h.
References clang::ento::BugReporterData::getAnalyzerOptions().
|
inline |
Definition at line 461 of file BugReporter.h.
References clang::ento::BugReporterData::getASTContext().
Referenced by CheckObjCInstMethSignature(), clang::ento::BugReporterContext::getASTContext(), and isArc4RandomAvailable().
|
inline |
Definition at line 443 of file BugReporter.h.
References clang::ento::BugReporterData::getDiagnostic().
|
inline |
Definition at line 441 of file BugReporter.h.
Referenced by clang::ento::GRBugReporter::classof().
|
inline |
Definition at line 447 of file BugReporter.h.
References clang::ento::BugReporterData::getPathDiagnosticConsumers().
|
inline |
Definition at line 463 of file BugReporter.h.
References clang::ento::BugReporterData::getSourceManager().
Referenced by CompareReturnTypes(), clang::ento::CheckerContext::getSourceManager(), clang::ento::BugReporterContext::getSourceManager(), and LookThroughTransitiveAssignmentsAndCommaOperators().
void BugReporter::Register | ( | BugType * | BT | ) |
Definition at line 3249 of file BugReporter.cpp.
bool clang::ento::BugReporter::RemoveUnneededCalls | ( | PathPieces & | pieces, |
BugReport * | R | ||
) |