clang 22.0.0git
|
Represents a point when we begin processing an inlined call. More...
#include "clang/Analysis/ProgramPoint.h"
Public Member Functions | |
CallEnter (const Stmt *stmt, const StackFrameContext *calleeCtx, const LocationContext *callerCtx) | |
const Stmt * | getCallExpr () const |
const StackFrameContext * | getCalleeContext () const |
const CFGBlock * | getEntry () const |
Returns the entry block in the CFG for the entered function. | |
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 |
Friends | |
class | ProgramPoint |
A ProgramPoint identifies a location in the CFG by pointing to a specific Fact. |
Represents a point when we begin processing an inlined call.
CallEnter uses the caller's location context.
Definition at line 638 of file ProgramPoint.h.
|
inline |
Definition at line 640 of file ProgramPoint.h.
References clang::ProgramPoint::CallEnterKind, clang::nullptr, ProgramPoint, and clang::ast_matchers::stmt.
|
inline |
Definition at line 648 of file ProgramPoint.h.
References clang::ProgramPoint::getData2().
Referenced by getEntry(), clang::ento::ExprEngine::processCallEnter(), and clang::ento::PathDiagnosticCallPiece::setCallee().
|
inline |
Definition at line 644 of file ProgramPoint.h.
References clang::ProgramPoint::getData1().
Referenced by clang::ento::NoOwnershipChangeVisitor::getFunctionName().
|
inline |
Returns the entry block in the CFG for the entered function.
Definition at line 653 of file ProgramPoint.h.
References getCalleeContext(), clang::LocationContext::getCFG(), and clang::CFG::getEntry().
Referenced by clang::ento::ExprEngine::processCallEnter().
|
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 660 of file ProgramPoint.h.
References clang::ProgramPoint::CallEnterKind, and ProgramPoint.
Referenced by CallEnter(), and ProgramPoint.