clang 10.0.0git

Public Member Functions | List of all members
clang::ento::PathSensitiveBugReporter Class Referencefinal

GRBugReporter is used for generating path-sensitive reports. More...

`#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"`

Inheritance diagram for clang::ento::PathSensitiveBugReporter:
[legend]
Collaboration diagram for clang::ento::PathSensitiveBugReporter:
[legend]

## 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. More...
ProgramStateManager & | getStateManager () const
| getStateManager - Return the state manager used by the analysis engine. More...
std::unique_ptr< DiagnosticForConsumerMapTy > | generatePathDiagnostics (ArrayRef< PathDiagnosticConsumer *> consumers, ArrayRef< PathSensitiveBugReport *> &bugReports)
| `bugReports` A set of bug reports within a single equivalence class More...
void | emitReport (std::unique_ptr< BugReport > R) override
| Add the given report to the set of reports tracked by BugReporter. More...
Public Member Functions inherited from clang::ento::BugReporter
| BugReporter (BugReporterData &d)
virtual | ~BugReporter ()
void | FlushReports ()
| Generate and flush diagnostics for all bug reports. More...
ArrayRef< PathDiagnosticConsumer * > | getPathDiagnosticConsumers ()
EQClasses_iterator | EQClasses_begin ()
EQClasses_iterator | EQClasses_end ()
ASTContext & | getContext ()
const SourceManager & | getSourceManager ()
const AnalyzerOptions & | getAnalyzerOptions ()
void | EmitBasicReport (const Decl *DeclWithIssue, const CheckerBase *Checker, StringRef BugName, StringRef BugCategory, StringRef BugStr, PathDiagnosticLocation Loc, ArrayRef< SourceRange > Ranges=None, ArrayRef< FixItHint > Fixits=None)
void | EmitBasicReport (const Decl *DeclWithIssue, CheckerNameRef CheckerName, StringRef BugName, StringRef BugCategory, StringRef BugStr, PathDiagnosticLocation Loc, ArrayRef< SourceRange > Ranges=None, ArrayRef< FixItHint > Fixits=None)

## 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. More...

## Detailed Description

GRBugReporter is used for generating path-sensitive reports.

Definition at line 653 of file BugReporter.h.

## Constructor & Destructor Documentation

## ◆ PathSensitiveBugReporter()

clang::ento::PathSensitiveBugReporter::PathSensitiveBugReporter | ( | BugReporterData & | d,
|  | ExprEngine & | eng
| ) |  |
| inline

Definition at line 666 of file BugReporter.h.

## Member Function Documentation

## ◆ emitReport()

void clang::ento::PathSensitiveBugReporter::emitReport | ( | std::unique_ptr< BugReport > | R | ) |
| override virtual

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.

Referenced by CompactMacroExpandedPieces().

## ◆ generatePathDiagnostics()

std::unique_ptr<DiagnosticForConsumerMapTy> clang::ento::PathSensitiveBugReporter::generatePathDiagnostics | ( | ArrayRef< PathDiagnosticConsumer *> | consumers,
|  | ArrayRef< PathSensitiveBugReport *> & | bugReports
| ) |  |

`bugReports` A set of bug reports within a single equivalence class

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.

Referenced by CompactMacroExpandedPieces().

## ◆ getGraph()

const ExplodedGraph & PathSensitiveBugReporter::getGraph | ( |  | ) | const

getGraph - Get the exploded graph created by the analysis engine for the analyzed method or function.

Definition at line 2384 of file BugReporter.cpp.

## ◆ getStateManager()

ProgramStateManager & PathSensitiveBugReporter::getStateManager | ( |  | ) | const

getStateManager - Return the state manager used by the analysis engine.

Definition at line 2388 of file BugReporter.cpp.

Referenced by clang::ento::BugReporterContext::getStateManager().

The documentation for this class was generated from the following files:

- include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
- lib/StaticAnalyzer/Core/BugReporter.cpp