clang 20.0.0git
|
GRBugReporter is used for generating path-sensitive reports. More...
#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"
Public Member Functions | |
PathSensitiveBugReporter (BugReporterData &d, ExprEngine &eng) | |
const ExplodedGraph & | getGraph () const |
getGraph - Get the exploded graph created by the analysis engine for the analyzed method or function. | |
ProgramStateManager & | getStateManager () const |
getStateManager - Return the state manager used by the analysis engine. | |
std::unique_ptr< DiagnosticForConsumerMapTy > | generatePathDiagnostics (ArrayRef< PathDiagnosticConsumer * > consumers, ArrayRef< PathSensitiveBugReport * > &bugReports) |
bugReports A set of bug reports within a single equivalence class | |
void | emitReport (std::unique_ptr< BugReport > R) override |
Add the given report to the set of reports tracked by BugReporter. | |
Public Member Functions inherited from clang::ento::BugReporter | |
BugReporter (BugReporterData &d) | |
virtual | ~BugReporter () |
void | FlushReports () |
Generate and flush diagnostics for all bug reports. | |
ArrayRef< PathDiagnosticConsumer * > | getPathDiagnosticConsumers () |
llvm::iterator_range< EQClasses_iterator > | equivalenceClasses () |
ASTContext & | getContext () |
const SourceManager & | getSourceManager () |
const AnalyzerOptions & | getAnalyzerOptions () |
Preprocessor & | getPreprocessor () |
const Decl * | getAnalysisEntryPoint () const |
Get the top-level entry point for the issue to be reported. | |
void | setAnalysisEntryPoint (const Decl *EntryPoint) |
virtual void | emitReport (std::unique_ptr< BugReport > R) |
Add the given report to the set of reports tracked by BugReporter. | |
void | EmitBasicReport (const Decl *DeclWithIssue, const CheckerBase *Checker, StringRef BugName, StringRef BugCategory, StringRef BugStr, PathDiagnosticLocation Loc, ArrayRef< SourceRange > Ranges={}, ArrayRef< FixItHint > Fixits={}) |
void | EmitBasicReport (const Decl *DeclWithIssue, CheckerNameRef CheckerName, StringRef BugName, StringRef BugCategory, StringRef BugStr, PathDiagnosticLocation Loc, ArrayRef< SourceRange > Ranges={}, ArrayRef< FixItHint > Fixits={}) |
Additional Inherited Members | |
Public Types inherited from clang::ento::BugReporter | |
using | EQClasses_iterator = llvm::FoldingSet< BugReportEquivClass >::iterator |
Iterator over the set of BugReports tracked by the BugReporter. | |
virtual std::unique_ptr< DiagnosticForConsumerMapTy > | generateDiagnosticForConsumerMap (BugReport *exampleReport, ArrayRef< PathDiagnosticConsumer * > consumers, ArrayRef< BugReport * > bugReports) |
Generate the diagnostics for the given bug report. | |
GRBugReporter is used for generating path-sensitive reports.
Definition at line 679 of file BugReporter.h.
|
inline |
Definition at line 692 of file BugReporter.h.
|
overridevirtual |
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.
Reimplemented from clang::ento::BugReporter.
Definition at line 2980 of file BugReporter.cpp.
References E, clang::ento::BugReporter::emitReport(), clang::AnalysisDeclContext::isBodyAutosynthesized(), and clang::AnalysisDeclContext::isBodyAutosynthesizedFromModelFile().
std::unique_ptr< DiagnosticForConsumerMapTy > PathSensitiveBugReporter::generatePathDiagnostics | ( | ArrayRef< PathDiagnosticConsumer * > | consumers, |
ArrayRef< PathSensitiveBugReport * > & | bugReports | ||
) |
bugReports
A set of bug reports within a single equivalence class
Definition at line 2931 of file BugReporter.cpp.
const ExplodedGraph & PathSensitiveBugReporter::getGraph | ( | ) | const |
getGraph - Get the exploded graph created by the analysis engine for the analyzed method or function.
Definition at line 2497 of file BugReporter.cpp.
References clang::ento::ExprEngine::getGraph().
ProgramStateManager & PathSensitiveBugReporter::getStateManager | ( | ) | const |
getStateManager - Return the state manager used by the analysis engine.
Definition at line 2501 of file BugReporter.cpp.
References clang::ento::ExprEngine::getStateManager().
Referenced by clang::ento::BugReporterContext::getStateManager().