|
clang 22.0.0git
|
Represents an implicit call event. More...
#include "clang/Analysis/ProgramPoint.h"
Public Member Functions | |
| ImplicitCallPoint (const Decl *D, SourceLocation Loc, Kind K, const LocationContext *L, const ProgramPointTag *Tag, CFGBlock::ConstCFGElementRef ElemRef) | |
| const Decl * | getDecl () const |
| SourceLocation | getLocation () const |
| Public Member Functions inherited from clang::ProgramPoint | |
| std::optional< SourceLocation > | getSourceLocation () 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 |
Protected Member Functions | |
| ImplicitCallPoint ()=default | |
| Protected Member Functions inherited from clang::ProgramPoint | |
| 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 |
Friends | |
| class | ProgramPoint |
| A ProgramPoint identifies a location in the CFG by pointing to a specific Fact. | |
Additional Inherited Members | |
| Public Types inherited from clang::ProgramPoint | |
| 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 Public Member Functions inherited from clang::ProgramPoint | |
| static StringRef | getProgramPointKindName (Kind K) |
| static ProgramPoint | getProgramPoint (const Stmt *S, ProgramPoint::Kind K, const LocationContext *LC, const ProgramPointTag *tag) |
Represents an implicit call event.
The nearest statement is provided for diagnostic purposes.
Definition at line 564 of file ProgramPoint.h.
|
inline |
Definition at line 566 of file ProgramPoint.h.
References ProgramPoint.
Referenced by clang::PostImplicitCall::PostImplicitCall(), and clang::PreImplicitCall::PreImplicitCall().
|
protecteddefault |
|
inline |
Definition at line 571 of file ProgramPoint.h.
References clang::ProgramPoint::getData2().
Referenced by clang::ProgramPoint::printJson().
|
inline |
Definition at line 572 of file ProgramPoint.h.
References clang::ProgramPoint::getData1(), and clang::SourceLocation::getFromPtrEncoding().
Referenced by clang::ProgramPoint::printJson().
|
friend |
A ProgramPoint identifies a location in the CFG by pointing to a specific Fact.
identified by a lifetime-related event (Fact).
A ProgramPoint has "after" semantics: it represents the location immediately after its corresponding Fact.
Definition at line 579 of file ProgramPoint.h.
References clang::ProgramPoint::MaxImplicitCallKind, clang::ProgramPoint::MinImplicitCallKind, and ProgramPoint.
Referenced by ImplicitCallPoint(), and ProgramPoint.