clang
13.0.0git
|
#include "clang/Analysis/PathDiagnostic.h"
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< PathDiagnostic > | Diags |
Definition at line 100 of file PathDiagnostic.h.
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 150 of file PathDiagnostic.h.
|
default |
|
virtual |
Definition at line 135 of file PathDiagnostic.cpp.
void PathDiagnosticConsumer::FlushDiagnostics | ( | PathDiagnosticConsumer::FilesMade * | Files | ) |
Definition at line 403 of file PathDiagnostic.cpp.
References compare(), Diags, FlushDiagnosticsImpl(), flushed, int, and clang::tooling::X().
|
pure virtual |
Referenced by FlushDiagnostics().
|
inlinevirtual |
Definition at line 161 of file PathDiagnostic.h.
References Minimal.
Referenced by shouldAddPathEdges(), and shouldGenerateDiagnostics().
|
pure virtual |
void PathDiagnosticConsumer::HandlePathDiagnostic | ( | std::unique_ptr< PathDiagnostic > | D | ) |
Definition at line 141 of file PathDiagnostic.cpp.
References clang::ento::PathDiagnosticLocation::asLocation(), Diags, clang::FullSourceLoc::getExpansionLoc(), clang::SourceManager::getExpansionLoc(), clang::SourceManager::getFileID(), clang::ento::PathDiagnosticPiece::getLocation(), clang::ento::PathDiagnosticPiece::getRanges(), clang::SourceLocation::isFileID(), clang::FileID::isInvalid(), macro(), and supportsCrossFileDiagnostics().
|
inline |
Definition at line 167 of file PathDiagnostic.h.
References Extensive, and getGenerationScheme().
|
inline |
Definition at line 163 of file PathDiagnostic.h.
References getGenerationScheme(), and None.
|
inlinevirtual |
Return true if the PathDiagnosticConsumer supports individual PathDiagnostics that span multiple files.
Definition at line 173 of file PathDiagnostic.h.
Referenced by HandlePathDiagnostic().
|
inlinevirtual |
Definition at line 169 of file PathDiagnostic.h.
|
protected |
Definition at line 177 of file PathDiagnostic.h.
Referenced by FlushDiagnostics(), HandlePathDiagnostic(), and ~PathDiagnosticConsumer().
Definition at line 176 of file PathDiagnostic.h.
Referenced by FlushDiagnostics().