clang API Documentation
#include <ProgramPoint.h>

Public Types | |
| enum | Kind { BlockEdgeKind, BlockEntranceKind, BlockExitKind, PreStmtKind, PreStmtPurgeDeadSymbolsKind, PostStmtPurgeDeadSymbolsKind, PostStmtKind, PreLoadKind, PostLoadKind, PreStoreKind, PostStoreKind, PostConditionKind, PostLValueKind, PostInitializerKind, CallEnterKind, CallExitBeginKind, CallExitEndKind, MinPostStmtKind = PostStmtKind, MaxPostStmtKind = CallExitEndKind, EpsilonKind } |
Public Member Functions | |
| ProgramPoint | withTag (const ProgramPointTag *tag) const |
| Kind | getKind () const |
| bool | isPurgeKind () |
| Is this a program point corresponding to purge/removal of dead symbols and bindings. | |
| const ProgramPointTag * | getTag () const |
| const LocationContext * | getLocationContext () const |
| unsigned | getHashValue () const |
| bool | operator== (const ProgramPoint &RHS) const |
| bool | operator!= (const ProgramPoint &RHS) const |
| void | Profile (llvm::FoldingSetNodeID &ID) const |
Static Public Member Functions | |
| static bool | classof (const ProgramPoint *) |
| static ProgramPoint | getProgramPoint (const Stmt *S, ProgramPoint::Kind K, const LocationContext *LC, const ProgramPointTag *tag) |
Protected Member Functions | |
| ProgramPoint (const void *P, Kind k, const LocationContext *l, const ProgramPointTag *tag=0) | |
| ProgramPoint (const void *P1, const void *P2, Kind k, const LocationContext *l, const ProgramPointTag *tag=0) | |
| const void * | getData1 () const |
| const void * | getData2 () const |
| void | setData2 (const void *d) |
Definition at line 37 of file ProgramPoint.h.
Definition at line 39 of file ProgramPoint.h.
| clang::ProgramPoint::ProgramPoint | ( | const void * | P, |
| Kind | k, | ||
| const LocationContext * | l, | ||
| const ProgramPointTag * | tag = 0 |
||
| ) | [inline, protected] |
Definition at line 73 of file ProgramPoint.h.
References getData1(), getKind(), and getLocationContext().
| clang::ProgramPoint::ProgramPoint | ( | const void * | P1, |
| const void * | P2, | ||
| Kind | k, | ||
| const LocationContext * | l, | ||
| const ProgramPointTag * | tag = 0 |
||
| ) | [inline, protected] |
Definition at line 86 of file ProgramPoint.h.
| static bool clang::ProgramPoint::classof | ( | const ProgramPoint * | ) | [inline, static] |
Reimplemented in clang::EpsilonPoint, clang::CallExitEnd, clang::CallExitBegin, clang::CallEnter, clang::PostInitializer, clang::BlockEdge, clang::PostStmtPurgeDeadSymbols, clang::PreStmtPurgeDeadSymbols, clang::PostLValue, clang::PostStore, clang::PostLoad, clang::PreStore, clang::PreLoad, clang::LocationCheck, clang::PostCondition, clang::PostStmt, clang::PreStmt, clang::StmtPoint, clang::BlockExit, and clang::BlockEntrance.
Definition at line 139 of file ProgramPoint.h.
| const void* clang::ProgramPoint::getData1 | ( | ) | const [inline, protected] |
Definition at line 97 of file ProgramPoint.h.
Referenced by clang::BlockEntrance::getBlock(), clang::BlockExit::getBlock(), clang::CallEnter::getCallExpr(), clang::EpsilonPoint::getData(), clang::BlockEdge::getSrc(), clang::StmtPoint::getStmt(), Profile(), ProgramPoint(), and withTag().
| const void* clang::ProgramPoint::getData2 | ( | ) | const [inline, protected] |
Definition at line 98 of file ProgramPoint.h.
Referenced by clang::CallEnter::getCalleeContext(), clang::BlockEdge::getDst(), clang::PostStore::getLocationValue(), clang::PreStmt::getSubStmt(), clang::PostStore::PostStore(), Profile(), and withTag().
| unsigned clang::ProgramPoint::getHashValue | ( | ) | const [inline] |
Definition at line 133 of file ProgramPoint.h.
References Profile().
Referenced by llvm::DenseMapInfo< clang::ProgramPoint >::getHashValue().
| Kind clang::ProgramPoint::getKind | ( | ) | const [inline] |
Definition at line 109 of file ProgramPoint.h.
Referenced by clang::BlockEntrance::classof(), clang::BlockExit::classof(), clang::StmtPoint::classof(), clang::PreStmt::classof(), clang::PostStmt::classof(), clang::PostCondition::classof(), clang::LocationCheck::classof(), clang::PreLoad::classof(), clang::PreStore::classof(), clang::PostLoad::classof(), clang::PostStore::classof(), clang::PostLValue::classof(), clang::PreStmtPurgeDeadSymbols::classof(), clang::PostStmtPurgeDeadSymbols::classof(), clang::BlockEdge::classof(), clang::PostInitializer::classof(), clang::CallEnter::classof(), clang::CallExitBegin::classof(), clang::CallExitEnd::classof(), clang::EpsilonPoint::classof(), clang::ento::CoreEngine::dispatchWorkItem(), clang::ento::WorkList::enqueue(), llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel(), isPurgeKind(), Profile(), ProgramPoint(), and withTag().
| const LocationContext* clang::ProgramPoint::getLocationContext | ( | ) | const [inline] |
Definition at line 128 of file ProgramPoint.h.
Referenced by clang::ento::PathDiagnosticCallPiece::construct(), clang::ento::PathDiagnosticLocation::create(), clang::ento::PathDiagnosticLocation::createEndOfPath(), getLastStmt(), getLastStmtLoc(), clang::ento::ExplodedNode::getLocationContext(), llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel(), clang::ento::SubEngine::processCFGBlockEntrance(), Profile(), ProgramPoint(), clang::ento::PathDiagnosticCallPiece::setCallee(), and withTag().
| ProgramPoint ProgramPoint::getProgramPoint | ( | const Stmt * | S, |
| ProgramPoint::Kind | K, | ||
| const LocationContext * | LC, | ||
| const ProgramPointTag * | tag | ||
| ) | [static] |
Definition at line 21 of file ProgramPoint.cpp.
References PostLoadKind, PostLValueKind, PostStmtKind, PostStmtPurgeDeadSymbolsKind, PreLoadKind, PreStmtKind, PreStmtPurgeDeadSymbolsKind, and PreStoreKind.
Referenced by clang::ento::StmtNodeBuilder::generateNode(), and clang::ento::CheckerManager::runCheckersForEvalCall().
| const ProgramPointTag* clang::ProgramPoint::getTag | ( | ) | const [inline] |
Definition at line 126 of file ProgramPoint.h.
Referenced by llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel().
| bool clang::ProgramPoint::isPurgeKind | ( | ) | [inline] |
Is this a program point corresponding to purge/removal of dead symbols and bindings.
Definition at line 120 of file ProgramPoint.h.
References getKind(), PostStmtPurgeDeadSymbolsKind, and PreStmtPurgeDeadSymbolsKind.
| bool clang::ProgramPoint::operator!= | ( | const ProgramPoint & | RHS | ) | const [inline] |
Definition at line 148 of file ProgramPoint.h.
| bool clang::ProgramPoint::operator== | ( | const ProgramPoint & | RHS | ) | const [inline] |
Definition at line 141 of file ProgramPoint.h.
| void clang::ProgramPoint::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | const [inline] |
Definition at line 155 of file ProgramPoint.h.
References getData1(), getData2(), getKind(), and getLocationContext().
Referenced by getHashValue().
| void clang::ProgramPoint::setData2 | ( | const void * | d | ) | [inline, protected] |
Definition at line 99 of file ProgramPoint.h.
Referenced by clang::PostStore::PostStore().
| ProgramPoint clang::ProgramPoint::withTag | ( | const ProgramPointTag * | tag | ) | const [inline] |
Create a new ProgramPoint object that is the same as the original except for using the specified tag value.
Definition at line 104 of file ProgramPoint.h.
References getData1(), getData2(), getKind(), and getLocationContext().
Referenced by clang::ento::NodeBuilderWithSinks::generateNode().