clang  10.0.0svn
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:
Collaboration graph
[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
 
bool shouldGenerateDiagnostics () const
 
bool shouldAddPathEdges () 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< PathDiagnosticDiags
 

Detailed Description

Definition at line 66 of file PathDiagnostic.h.

Member Enumeration Documentation

◆ 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 116 of file PathDiagnostic.h.

Constructor & Destructor Documentation

◆ PathDiagnosticConsumer()

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

◆ ~PathDiagnosticConsumer()

PathDiagnosticConsumer::~PathDiagnosticConsumer ( )
virtual

Definition at line 200 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 453 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

◆ getGenerationScheme()

virtual PathGenerationScheme clang::ento::PathDiagnosticConsumer::getGenerationScheme ( ) const
inlinevirtual

Definition at line 127 of file PathDiagnostic.h.

References Minimal.

Referenced by shouldAddPathEdges(), and shouldGenerateDiagnostics().

◆ getName()

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

◆ HandlePathDiagnostic()

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

◆ shouldAddPathEdges()

bool clang::ento::PathDiagnosticConsumer::shouldAddPathEdges ( ) const
inline

Definition at line 133 of file PathDiagnostic.h.

References Extensive, and getGenerationScheme().

◆ shouldGenerateDiagnostics()

bool clang::ento::PathDiagnosticConsumer::shouldGenerateDiagnostics ( ) const
inline

Definition at line 129 of file PathDiagnostic.h.

References getGenerationScheme(), and None.

◆ supportsCrossFileDiagnostics()

virtual bool clang::ento::PathDiagnosticConsumer::supportsCrossFileDiagnostics ( ) const
inlinevirtual

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

Definition at line 139 of file PathDiagnostic.h.

◆ supportsLogicalOpControlFlow()

virtual bool clang::ento::PathDiagnosticConsumer::supportsLogicalOpControlFlow ( ) const
inlinevirtual

Definition at line 135 of file PathDiagnostic.h.

Member Data Documentation

◆ Diags

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

◆ flushed

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

Definition at line 142 of file PathDiagnostic.h.


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