clang API Documentation

Public Types | Public Member Functions | Protected Member Functions
clang::ento::BugReporter Class Reference

#include <BugReporter.h>

Inheritance diagram for clang::ento::BugReporter:
Inheritance graph
[legend]

List of all members.

Public Types

enum  Kind { BaseBRKind, GRBugReporterKind }
typedef BugTypesTy::iterator iterator
 Iterator over the set of BugTypes tracked by the BugReporter.
typedef llvm::FoldingSet
< BugReportEquivClass >
::iterator 
EQClasses_iterator
 Iterator over the set of BugReports tracked by the BugReporter.

Public Member Functions

 BugReporter (BugReporterData &d)
virtual ~BugReporter ()
void FlushReports ()
 Generate and flush diagnostics for all bug reports.
Kind getKind () const
DiagnosticsEnginegetDiagnostic ()
ArrayRef
< PathDiagnosticConsumer * > 
getPathDiagnosticConsumers ()
iterator begin ()
iterator end ()
EQClasses_iterator EQClasses_begin ()
EQClasses_iterator EQClasses_end ()
ASTContextgetContext ()
SourceManagergetSourceManager ()
AnalyzerOptionsgetAnalyzerOptions ()
virtual bool generatePathDiagnostic (PathDiagnostic &pathDiagnostic, PathDiagnosticConsumer &PC, ArrayRef< BugReport * > &bugReports)
bool RemoveUnneededCalls (PathPieces &pieces, BugReport *R)
void Register (BugType *BT)
void emitReport (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=None)
void EmitBasicReport (const Decl *DeclWithIssue, CheckName CheckName, StringRef BugName, StringRef BugCategory, StringRef BugStr, PathDiagnosticLocation Loc, ArrayRef< SourceRange > Ranges=None)

Protected Member Functions

 BugReporter (BugReporterData &d, Kind k)

Detailed Description

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 388 of file BugReporter.h.


Member Typedef Documentation

Iterator over the set of BugReports tracked by the BugReporter.

Definition at line 442 of file BugReporter.h.

typedef BugTypesTy::iterator clang::ento::BugReporter::iterator

Iterator over the set of BugTypes tracked by the BugReporter.

Definition at line 437 of file BugReporter.h.


Member Enumeration Documentation

Enumerator:
BaseBRKind 
GRBugReporterKind 

Definition at line 390 of file BugReporter.h.


Constructor & Destructor Documentation

clang::ento::BugReporter::BugReporter ( BugReporterData d,
Kind  k 
) [inline, protected]

Definition at line 415 of file BugReporter.h.

Definition at line 419 of file BugReporter.h.

Definition at line 2747 of file BugReporter.cpp.


Member Function Documentation

Definition at line 438 of file BugReporter.h.

Referenced by clang::ento::ExprEngine::ViewGraph().

void BugReporter::EmitBasicReport ( const Decl DeclWithIssue,
const CheckerBase Checker,
StringRef  BugName,
StringRef  BugCategory,
StringRef  BugStr,
PathDiagnosticLocation  Loc,
ArrayRef< SourceRange Ranges = None 
)
void BugReporter::EmitBasicReport ( const Decl DeclWithIssue,
CheckName  CheckName,
StringRef  BugName,
StringRef  BugCategory,
StringRef  BugStr,
PathDiagnosticLocation  Loc,
ArrayRef< SourceRange Ranges = None 
)

Definition at line 439 of file BugReporter.h.

Referenced by clang::ento::ExprEngine::ViewGraph().

Definition at line 443 of file BugReporter.h.

Referenced by clang::ento::ExprEngine::ViewGraph().

Definition at line 444 of file BugReporter.h.

Referenced by clang::ento::ExprEngine::ViewGraph().

Generate and flush diagnostics for all bug reports.

Definition at line 2758 of file BugReporter.cpp.

Referenced by clang::ento::ExprEngine::~ExprEngine().

virtual bool clang::ento::BugReporter::generatePathDiagnostic ( PathDiagnostic pathDiagnostic,
PathDiagnosticConsumer PC,
ArrayRef< BugReport * > &  bugReports 
) [inline, virtual]

Reimplemented in clang::ento::GRBugReporter.

Definition at line 452 of file BugReporter.h.

Definition at line 450 of file BugReporter.h.

References clang::ento::BugReporterData::getAnalyzerOptions().

Definition at line 428 of file BugReporter.h.

References clang::ento::BugReporterData::getDiagnostic().

Definition at line 426 of file BugReporter.h.

Referenced by clang::ento::GRBugReporter::classof().

Definition at line 3226 of file BugReporter.cpp.


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