clang: clang::ProgramPoint Class Reference (original) (raw)
#include "[clang/Analysis/ProgramPoint.h](ProgramPoint%5F8h%5Fsource.html)"
Public Types |
|
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 } |
|
|
Protected Member Functions |
|
|
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 58 of file ProgramPoint.h.
◆ Kind
Enumerator |
BlockEdgeKind |
BlockEntranceKind |
BlockExitKind |
PreStmtKind |
PreStmtPurgeDeadSymbolsKind |
PostStmtPurgeDeadSymbolsKind |
PostStmtKind |
PreLoadKind |
PostLoadKind |
PreStoreKind |
PostStoreKind |
PostConditionKind |
PostLValueKind |
PostAllocatorCallKind |
MinPostStmtKind |
MaxPostStmtKind |
PostInitializerKind |
CallEnterKind |
CallExitBeginKind |
CallExitEndKind |
FunctionExitKind |
PreImplicitCallKind |
PostImplicitCallKind |
MinImplicitCallKind |
MaxImplicitCallKind |
LoopExitKind |
EpsilonKind |
Definition at line 60 of file ProgramPoint.h.
clang::ProgramPoint::ProgramPoint ( ) |
protecteddefault |
◆ ProgramPoint() [2/3]
◆ ProgramPoint() [3/3]
◆ castAs()
template<typename T >
T clang::ProgramPoint::castAs ( ) const |
inline |
◆ dump()
LLVM_DUMP_METHOD void ProgramPoint::dump |
( |
) |
const |
◆ getAs()
template<typename T >
std::optional< T > clang::ProgramPoint::getAs ( ) const |
inline |
Convert to the specified ProgramPoint type, returning std::nullopt if this ProgramPoint is not of the desired type.
Definition at line 147 of file ProgramPoint.h.
References clang::T.
Referenced by clang::ento::CoreEngine::enqueueStmtNode(), exitingDestructor(), GetAllocationSite(), getLastStmt(), clang::ento::CheckerContext::getLocationRegionIfPostStore(), clang::ento::PathSensitiveBugReport::getStmt(), getStmtBeforeCond(), peelOffOuterExpr(), shouldRemoveDeadBindings(), clang::ento::ExprEngine::VisitGuardedExpr(), clang::ento::ExprEngine::VisitLogicalExpr(), clang::ento::UndefOrNullArgVisitor::VisitNode(), clang::ento::retaincountchecker::RefCountReportVisitor::VisitNode(), clang::ento::SuppressInlineDefensiveChecksVisitor::VisitNode(), and clang::ento::ConditionBRVisitor::VisitNodeImpl().
◆ getData1()
const void * clang::ProgramPoint::getData1 ( ) const |
inlineprotected |
Definition at line 121 of file ProgramPoint.h.
Referenced by clang::BlockEntrance::getBlock(), clang::BlockExit::getBlock(), clang::CallExitEnd::getCalleeContext(), clang::CallEnter::getCallExpr(), clang::EpsilonPoint::getData(), clang::PostInitializer::getInitializer(), clang::ImplicitCallPoint::getLocation(), clang::LoopExit::getLoopStmt(), clang::CallExitBegin::getReturnStmt(), clang::BlockEdge::getSrc(), clang::StmtPoint::getStmt(), clang::FunctionExitPoint::getStmt(), Profile(), and withTag().
◆ getData2()
const void * clang::ProgramPoint::getData2 ( ) const |
inlineprotected |
◆ getElementRef()
◆ getHashValue()
unsigned clang::ProgramPoint::getHashValue ( ) const |
inline |
◆ getKind()
Kind clang::ProgramPoint::getKind ( ) const |
inline |
◆ getLocationContext()
const LocationContext * clang::ProgramPoint::getLocationContext ( ) const |
inline |
◆ getProgramPoint()
◆ getStackFrame()
◆ getTag()
◆ isPurgeKind()
bool clang::ProgramPoint::isPurgeKind ( ) |
inline |
◆ operator!=()
◆ operator==()
◆ printJson()
void ProgramPoint::printJson |
( |
llvm::raw_ostream & |
Out, |
const char * |
NL = "\n" |
|
|
) |
const |
|
|
Definition at line 52 of file ProgramPoint.cpp.
References BlockEdgeKind, BlockEntranceKind, BlockExitKind, clang::C, CallEnterKind, CallExitBeginKind, CallExitEndKind, E, EpsilonKind, FunctionExitKind, clang::LocationContext::getAnalysisDeclContext(), clang::Decl::getAsFunction(), clang::AnalysisDeclContext::getASTContext(), clang::ImplicitCallPoint::getDecl(), clang::AnalysisDeclContext::getFunctionName(), getKind(), clang::ASTContext::getLangOpts(), clang::QualType::getLocalUnqualifiedType(), clang::ImplicitCallPoint::getLocation(), getLocationContext(), clang::ASTContext::getPrintingPolicy(), clang::NamedDecl::getQualifiedNameAsString(), clang::ASTContext::getSourceManager(), clang::Init, Label, LoopExitKind, PostImplicitCallKind, PostInitializerKind, PreImplicitCallKind, clang::QualType::print(), clang::printSourceLocationAsJson(), SM, and clang::T.
Referenced by dump(), and llvm::DOTGraphTraits< ExplodedGraph * >::getNodeLabel().
◆ Profile()
void clang::ProgramPoint::Profile ( llvm::FoldingSetNodeID & ID) const |
inline |
◆ setData2()
void clang::ProgramPoint::setData2 ( const void * d) |
inlineprotected |
◆ withTag()
The documentation for this class was generated from the following files: