clang  3.7.0
Public Member Functions | Static Public Member Functions | List of all members
clang::ento::PathDiagnosticEventPiece Class Reference

#include <PathDiagnostic.h>

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

Public Member Functions

 PathDiagnosticEventPiece (const PathDiagnosticLocation &pos, StringRef s, bool addPosRange=true, StackHintGenerator *stackHint=nullptr)
 
 ~PathDiagnosticEventPiece () override
 
void setPrunable (bool isPrunable, bool override=false)
 
bool isPrunable () const
 Return true if the diagnostic piece is prunable. More...
 
bool hasCallStackHint ()
 
std::string getCallStackMessage (const ExplodedNode *N)
 
void dump () const override
 
- Public Member Functions inherited from clang::ento::PathDiagnosticSpotPiece
 PathDiagnosticSpotPiece (const PathDiagnosticLocation &pos, StringRef s, PathDiagnosticPiece::Kind k, bool addPosRange=true)
 
PathDiagnosticLocation getLocation () const override
 
void flattenLocations () override
 
void Profile (llvm::FoldingSetNodeID &ID) const override
 
- Public Member Functions inherited from clang::ento::PathDiagnosticPiece
 ~PathDiagnosticPiece () override
 
StringRef getString () const
 
void setTag (const char *tag)
 Tag this PathDiagnosticPiece with the given C-string. More...
 
const void * getTag () const
 Return the opaque tag (if any) on the PathDiagnosticPiece. More...
 
StringRef getTagStr () const
 
DisplayHint getDisplayHint () const
 
Kind getKind () const
 
void addRange (SourceRange R)
 
void addRange (SourceLocation B, SourceLocation E)
 
ArrayRef< SourceRangegetRanges () const
 Return the SourceRanges associated with this PathDiagnosticPiece. More...
 
void setAsLastInMainSourceFile ()
 
bool isLastInMainSourceFile () const
 

Static Public Member Functions

static bool classof (const PathDiagnosticPiece *P)
 
- Static Public Member Functions inherited from clang::ento::PathDiagnosticSpotPiece
static bool classof (const PathDiagnosticPiece *P)
 

Additional Inherited Members

- Public Types inherited from clang::ento::PathDiagnosticPiece
enum  Kind { ControlFlow, Event, Macro, Call }
 
enum  DisplayHint { Above, Below }
 
- Protected Member Functions inherited from clang::ento::PathDiagnosticPiece
 PathDiagnosticPiece (StringRef s, Kind k, DisplayHint hint=Below)
 
 PathDiagnosticPiece (Kind k, DisplayHint hint=Below)
 

Detailed Description

Definition at line 502 of file PathDiagnostic.h.

Constructor & Destructor Documentation

clang::ento::PathDiagnosticEventPiece::PathDiagnosticEventPiece ( const PathDiagnosticLocation pos,
StringRef  s,
bool  addPosRange = true,
StackHintGenerator stackHint = nullptr 
)
inline

Definition at line 512 of file PathDiagnostic.h.

PathDiagnosticEventPiece::~PathDiagnosticEventPiece ( )
override

Definition at line 59 of file PathDiagnostic.cpp.

Member Function Documentation

static bool clang::ento::PathDiagnosticEventPiece::classof ( const PathDiagnosticPiece P)
inlinestatic
void PathDiagnosticEventPiece::dump ( ) const
overridevirtual
std::string clang::ento::PathDiagnosticEventPiece::getCallStackMessage ( const ExplodedNode N)
inline

Produce the hint for the given node. The node contains information about the call for which the diagnostic can be generated.

Definition at line 538 of file PathDiagnostic.h.

bool clang::ento::PathDiagnosticEventPiece::hasCallStackHint ( )
inline

Definition at line 534 of file PathDiagnostic.h.

bool clang::ento::PathDiagnosticEventPiece::isPrunable ( ) const
inline

Return true if the diagnostic piece is prunable.

Definition at line 530 of file PathDiagnostic.h.

Referenced by removeUnneededCalls(), and setPrunable().

void clang::ento::PathDiagnosticEventPiece::setPrunable ( bool  isPrunable,
bool  override = false 
)
inline

Mark the diagnostic piece as being potentially prunable. This flag may have been previously set, at which point it will not be reset unless one specifies to do so.

Definition at line 523 of file PathDiagnostic.h.

References isPrunable().

Referenced by GenerateAlternateExtensivePathDiagnostic(), GenerateExtensivePathDiagnostic(), and clang::ento::ConditionBRVisitor::VisitTrueTest().


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