clang 8.0.0

Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
clang::ento::PathDiagnosticConsumer Class Referenceabstract

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

Collaboration diagram for clang::ento::PathDiagnosticConsumer:
[legend]

## Classes
class | FilesMade
class | PDFileEntry

## Public Types
enum | PathGenerationScheme { None, Minimal, Extensive }

## Public Member Functions
| PathDiagnosticConsumer ()=default
virtual | ~PathDiagnosticConsumer ()
void | FlushDiagnostics (FilesMade *FilesMade)
virtual void | FlushDiagnosticsImpl (std::vector< const PathDiagnostic *> &Diags, FilesMade *filesMade)=0
virtual StringRef | getName () const =0
void | HandlePathDiagnostic (std::unique_ptr< PathDiagnostic > D)
virtual PathGenerationScheme | getGenerationScheme () const
virtual bool | supportsLogicalOpControlFlow () const
virtual bool | supportsCrossFileDiagnostics () const
| Return true if the PathDiagnosticConsumer supports individual PathDiagnostics that span multiple files. More...

## Protected Attributes
bool | flushed = false
llvm::FoldingSet< PathDiagnostic > | Diags

## Detailed Description

Definition at line 67 of file PathDiagnostic.h.

## Member Enumeration Documentation

## ◆ PathGenerationScheme

enum clang::ento::PathDiagnosticConsumer::PathGenerationScheme

Enumerator
None | Only runs visitors, no output generated.
Minimal | Used for HTML, SARIF, and text output.
Extensive | Used for plist output, used for "arrows" generation.

Definition at line 117 of file PathDiagnostic.h.

## Constructor & Destructor Documentation

## ◆ PathDiagnosticConsumer()

clang::ento::PathDiagnosticConsumer::PathDiagnosticConsumer | ( |  | ) |
| default

Referenced by clang::ento::PathDiagnosticConsumer::FilesMade::empty().

## ◆ ~PathDiagnosticConsumer()

PathDiagnosticConsumer::~PathDiagnosticConsumer | ( |  | ) |
| virtual

Definition at line 209 of file PathDiagnostic.cpp.

References Diag().

Referenced by clang::ento::PathDiagnosticConsumer::FilesMade::empty().

## Member Function Documentation

## ◆ FlushDiagnostics()

void PathDiagnosticConsumer::FlushDiagnostics | ( | PathDiagnosticConsumer::FilesMade * | Files | ) |

Definition at line 461 of file PathDiagnostic.cpp.

References compare().

Referenced by clang::ento::PathDiagnosticConsumer::FilesMade::empty().

## ◆ FlushDiagnosticsImpl()

virtual void clang::ento::PathDiagnosticConsumer::FlushDiagnosticsImpl | ( | std::vector< const PathDiagnostic *> & | Diags,
|  | FilesMade * | filesMade
| ) |  |
| pure virtual

Referenced by clang::ento::PathDiagnosticConsumer::FilesMade::empty().

## ◆ getGenerationScheme()

virtual PathGenerationScheme clang::ento::PathDiagnosticConsumer::getGenerationScheme | ( |  | ) | const
| inline virtual

Definition at line 128 of file PathDiagnostic.h.

References Minimal.

## ◆ getName()

virtual StringRef clang::ento::PathDiagnosticConsumer::getName | ( |  | ) | const
| pure virtual

Referenced by clang::ento::PathDiagnosticConsumer::FilesMade::empty().

## ◆ HandlePathDiagnostic()

void PathDiagnosticConsumer::HandlePathDiagnostic | ( | std::unique_ptr< PathDiagnostic > | D | ) |

Definition at line 215 of file PathDiagnostic.cpp.

References clang::ento::PathDiagnosticLocation::asLocation(), comparePath(), clang::FullSourceLoc::getExpansionLoc(), clang::SourceManager::getExpansionLoc(), clang::SourceManager::getFileID(), clang::ento::PathDiagnosticPiece::getLocation(), clang::ento::PathDiagnosticPiece::getRanges(), clang::SourceLocation::isFileID(), clang::FileID::isInvalid(), and X.

Referenced by clang::ento::PathDiagnosticConsumer::FilesMade::empty().

## ◆ supportsCrossFileDiagnostics()

virtual bool clang::ento::PathDiagnosticConsumer::supportsCrossFileDiagnostics | ( |  | ) | const
| inline virtual

Return true if the PathDiagnosticConsumer supports individual PathDiagnostics that span multiple files.

Definition at line 133 of file PathDiagnostic.h.

## ◆ supportsLogicalOpControlFlow()

virtual bool clang::ento::PathDiagnosticConsumer::supportsLogicalOpControlFlow | ( |  | ) | const
| inline virtual

Definition at line 129 of file PathDiagnostic.h.

## Member Data Documentation

## ◆ Diags

llvm::FoldingSet<PathDiagnostic> clang::ento::PathDiagnosticConsumer::Diags
| protected

Definition at line 137 of file PathDiagnostic.h.

Referenced by clang::ento::PathDiagnosticConsumer::FilesMade::empty().

## ◆ flushed

bool clang::ento::PathDiagnosticConsumer::flushed = false
| protected

Definition at line 136 of file PathDiagnostic.h.

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

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