clang API Documentation

Public Member Functions
clang::ento::ConditionBRVisitor Class Reference

Visitor that tries to report interesting diagnostics from conditions. More...

#include <BugReporterVisitor.h>

Inheritance diagram for clang::ento::ConditionBRVisitor:
Inheritance graph
[legend]
Collaboration diagram for clang::ento::ConditionBRVisitor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void Profile (llvm::FoldingSetNodeID &ID) const
virtual PathDiagnosticPieceVisitNode (const ExplodedNode *N, const ExplodedNode *Prev, BugReporterContext &BRC, BugReport &BR)
 Return a diagnostic piece which should be associated with the given node.
PathDiagnosticPieceVisitNodeImpl (const ExplodedNode *N, const ExplodedNode *Prev, BugReporterContext &BRC, BugReport &BR)
PathDiagnosticPieceVisitTerminator (const Stmt *Term, const ExplodedNode *N, const CFGBlock *srcBlk, const CFGBlock *dstBlk, BugReport &R, BugReporterContext &BRC)
PathDiagnosticPieceVisitTrueTest (const Expr *Cond, bool tookTrue, BugReporterContext &BRC, BugReport &R, const ExplodedNode *N)
PathDiagnosticPieceVisitTrueTest (const Expr *Cond, const DeclRefExpr *DR, const bool tookTrue, BugReporterContext &BRC, BugReport &R, const ExplodedNode *N)
PathDiagnosticPieceVisitTrueTest (const Expr *Cond, const BinaryOperator *BExpr, const bool tookTrue, BugReporterContext &BRC, BugReport &R, const ExplodedNode *N)
PathDiagnosticPieceVisitConditionVariable (StringRef LhsString, const Expr *CondVarExpr, const bool tookTrue, BugReporterContext &BRC, BugReport &R, const ExplodedNode *N)
bool patternMatch (const Expr *Ex, llvm::raw_ostream &Out, BugReporterContext &BRC, BugReport &R, const ExplodedNode *N, llvm::Optional< bool > &prunable)

Detailed Description

Visitor that tries to report interesting diagnostics from conditions.

Definition at line 167 of file BugReporterVisitor.h.


Member Function Documentation

bool ConditionBRVisitor::patternMatch ( const Expr Ex,
llvm::raw_ostream &  Out,
BugReporterContext BRC,
BugReport R,
const ExplodedNode N,
llvm::Optional< bool > &  prunable 
)
void clang::ento::ConditionBRVisitor::Profile ( llvm::FoldingSetNodeID &  ID) const [inline, virtual]

Implements clang::ento::BugReporterVisitor.

Definition at line 169 of file BugReporterVisitor.h.

PathDiagnosticPiece * ConditionBRVisitor::VisitConditionVariable ( StringRef  LhsString,
const Expr CondVarExpr,
const bool  tookTrue,
BugReporterContext BRC,
BugReport R,
const ExplodedNode N 
)
PathDiagnosticPiece * ConditionBRVisitor::VisitNode ( const ExplodedNode N,
const ExplodedNode PrevN,
BugReporterContext BRC,
BugReport BR 
) [virtual]
PathDiagnosticPiece * ConditionBRVisitor::VisitNodeImpl ( const ExplodedNode N,
const ExplodedNode Prev,
BugReporterContext BRC,
BugReport BR 
)
PathDiagnosticPiece * ConditionBRVisitor::VisitTerminator ( const Stmt Term,
const ExplodedNode N,
const CFGBlock srcBlk,
const CFGBlock dstBlk,
BugReport R,
BugReporterContext BRC 
)
PathDiagnosticPiece * ConditionBRVisitor::VisitTrueTest ( const Expr Cond,
bool  tookTrue,
BugReporterContext BRC,
BugReport R,
const ExplodedNode N 
)
PathDiagnosticPiece* clang::ento::ConditionBRVisitor::VisitTrueTest ( const Expr Cond,
const DeclRefExpr DR,
const bool  tookTrue,
BugReporterContext BRC,
BugReport R,
const ExplodedNode N 
)
PathDiagnosticPiece * ConditionBRVisitor::VisitTrueTest ( const Expr Cond,
const BinaryOperator BExpr,
const bool  tookTrue,
BugReporterContext BRC,
BugReport R,
const ExplodedNode N 
)

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