class PathSensitiveBugReporter
Declaration
class PathSensitiveBugReporter : public BugReporter { /* full declaration omitted */ };
Description
GRBugReporter is used for generating path-sensitive reports.
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:664
Inherits from: BugReporter
Member Variables
- private clang::ento::ExprEngine& Eng
Method Overview
- public PathSensitiveBugReporter(clang::ento::BugReporterData & d, clang::ento::ExprEngine & eng)
- public void emitReport(std::unique_ptr<BugReport> R)
- private clang::ento::BugReport * findReportInEquivalenceClass(clang::ento::BugReportEquivClass & eqClass, SmallVectorImpl<clang::ento::BugReport *> & bugReports)
- private std::unique_ptr<DiagnosticForConsumerMapTy> generateDiagnosticForConsumerMap(clang::ento::BugReport * exampleReport, ArrayRef<clang::ento::PathDiagnosticConsumer *> consumers, ArrayRef<clang::ento::BugReport *> bugReports)
- public std::unique_ptr<DiagnosticForConsumerMapTy> generatePathDiagnostics(ArrayRef<clang::ento::PathDiagnosticConsumer *> consumers, ArrayRef<clang::ento::PathSensitiveBugReport *> & bugReports)
- public const clang::ento::ExplodedGraph & getGraph() const
- public clang::ento::ProgramStateManager & getStateManager() const
Inherited from BugReporter:
- public EQClasses_begin
- public EQClasses_end
- public EmitBasicReport
- public EmitBasicReport
- public FlushReports
- public emitReport
- protected generateDiagnosticForConsumerMap
- public getAnalyzerOptions
- public getContext
- public getPathDiagnosticConsumers
- public getPreprocessor
- public getSourceManager
Methods
¶PathSensitiveBugReporter(
clang::ento::BugReporterData& d,
clang::ento::ExprEngine& eng)
PathSensitiveBugReporter(
clang::ento::BugReporterData& d,
clang::ento::ExprEngine& eng)
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:677
Parameters
¶void emitReport(std::unique_ptr<BugReport> R)
void emitReport(std::unique_ptr<BugReport> R)
Description
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.
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:697
Parameters
- std::unique_ptr<BugReport> R
¶clang::ento::BugReport*
findReportInEquivalenceClass(
clang::ento::BugReportEquivClass& eqClass,
SmallVectorImpl<clang::ento::BugReport*>&
bugReports)
clang::ento::BugReport*
findReportInEquivalenceClass(
clang::ento::BugReportEquivClass& eqClass,
SmallVectorImpl<clang::ento::BugReport*>&
bugReports)
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:667
Parameters
- clang::ento::BugReportEquivClass& eqClass
- SmallVectorImpl<clang::ento::BugReport*>& bugReports
¶std::unique_ptr<DiagnosticForConsumerMapTy>
generateDiagnosticForConsumerMap(
clang::ento::BugReport* exampleReport,
ArrayRef<clang::ento::PathDiagnosticConsumer*>
consumers,
ArrayRef<clang::ento::BugReport*> bugReports)
std::unique_ptr<DiagnosticForConsumerMapTy>
generateDiagnosticForConsumerMap(
clang::ento::BugReport* exampleReport,
ArrayRef<clang::ento::PathDiagnosticConsumer*>
consumers,
ArrayRef<clang::ento::BugReport*> bugReports)
Description
Generate the diagnostics for the given bug report.
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:673
Parameters
- clang::ento::BugReport* exampleReport
- ArrayRef<clang::ento::PathDiagnosticConsumer*> consumers
- ArrayRef<clang::ento::BugReport*> bugReports
¶std::unique_ptr<DiagnosticForConsumerMapTy>
generatePathDiagnostics(
ArrayRef<clang::ento::PathDiagnosticConsumer*>
consumers,
ArrayRef<
clang::ento::PathSensitiveBugReport*>&
bugReports)
std::unique_ptr<DiagnosticForConsumerMapTy>
generatePathDiagnostics(
ArrayRef<clang::ento::PathDiagnosticConsumer*>
consumers,
ArrayRef<
clang::ento::PathSensitiveBugReport*>&
bugReports)
Description
\p bugReports A set of bug reports within a *single* equivalence class
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:693
Parameters
- ArrayRef<clang::ento::PathDiagnosticConsumer*> consumers
- ArrayRef<clang::ento::PathSensitiveBugReport*>& bugReports
Returns
A mapping from consumers to the corresponding diagnostics. Iterates through the bug reports within a single equivalence class, stops at a first non-invalidated report.
¶const clang::ento::ExplodedGraph& getGraph() const
const clang::ento::ExplodedGraph& getGraph() const
Description
getGraph - Get the exploded graph created by the analysis engine for the analyzed method or function.
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:682
¶clang::ento::ProgramStateManager&
getStateManager() const
clang::ento::ProgramStateManager&
getStateManager() const
Description
getStateManager - Return the state manager used by the analysis engine.
Declared at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:686