|
| PostCondition (const Stmt *S, const LocationContext *L, const ProgramPointTag *tag=nullptr) |
|
| PostStmt (const Stmt *S, Kind k, const LocationContext *L, const ProgramPointTag *tag=nullptr) |
|
| PostStmt (const Stmt *S, const LocationContext *L, const ProgramPointTag *tag=nullptr) |
|
| StmtPoint (const Stmt *S, const void *p2, Kind k, const LocationContext *L, const ProgramPointTag *tag) |
|
const Stmt * | getStmt () const |
|
template<typename T > |
const T * | getStmtAs () const |
|
ProgramPoint | withTag (const ProgramPointTag *tag) const |
| Create a new ProgramPoint object that is the same as the original except for using the specified tag value.
|
|
template<typename T > |
T | castAs () const |
| Convert to the specified ProgramPoint type, asserting that this ProgramPoint is of the desired type.
|
|
template<typename T > |
std::optional< T > | getAs () const |
| Convert to the specified ProgramPoint type, returning std::nullopt if this ProgramPoint is not of the desired type.
|
|
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 |
|
const StackFrameContext * | getStackFrame () const |
|
unsigned | getHashValue () const |
|
bool | operator== (const ProgramPoint &RHS) const |
|
bool | operator!= (const ProgramPoint &RHS) const |
|
void | Profile (llvm::FoldingSetNodeID &ID) const |
|
void | printJson (llvm::raw_ostream &Out, const char *NL="\n") const |
|
LLVM_DUMP_METHOD void | dump () const |
|
|
enum | Kind {
BlockEdgeKind
, BlockEntranceKind
, BlockExitKind
, PreStmtKind
,
PreStmtPurgeDeadSymbolsKind
, PostStmtPurgeDeadSymbolsKind
, PostStmtKind
, PreLoadKind
,
PostLoadKind
, PreStoreKind
, PostStoreKind
, PostConditionKind
,
PostLValueKind
, PostAllocatorCallKind
, MinPostStmtKind = PostStmtKind
, MaxPostStmtKind = PostAllocatorCallKind
,
PostInitializerKind
, CallEnterKind
, CallExitBeginKind
, CallExitEndKind
,
FunctionExitKind
, PreImplicitCallKind
, PostImplicitCallKind
, MinImplicitCallKind = PreImplicitCallKind
,
MaxImplicitCallKind = PostImplicitCallKind
, LoopExitKind
, EpsilonKind
} |
|
static ProgramPoint | getProgramPoint (const Stmt *S, ProgramPoint::Kind K, const LocationContext *LC, const ProgramPointTag *tag) |
|
| PostStmt ()=default |
|
| PostStmt (const Stmt *S, const void *data, Kind k, const LocationContext *L, const ProgramPointTag *tag=nullptr) |
|
| StmtPoint ()=default |
|
| ProgramPoint ()=default |
|
| ProgramPoint (const void *P, Kind k, const LocationContext *l, const ProgramPointTag *tag=nullptr, CFGBlock::ConstCFGElementRef ElemRef={nullptr, 0}) |
|
| ProgramPoint (const void *P1, const void *P2, Kind k, const LocationContext *l, const ProgramPointTag *tag=nullptr, CFGBlock::ConstCFGElementRef ElemRef={nullptr, 0}) |
|
const void * | getData1 () const |
|
const void * | getData2 () const |
|
void | setData2 (const void *d) |
|
CFGBlock::ConstCFGElementRef | getElementRef () const |
|
Definition at line 354 of file ProgramPoint.h.