clang 20.0.0git
|
Manages the lifetime of CallEvent objects. More...
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
Friends | |
class | CallEvent |
Manages the lifetime of CallEvent objects.
CallEventManager provides a way to create arbitrary CallEvents "on the stack" as if they were value objects by keeping a cache of CallEvent-sized memory blocks. The CallEvents created by CallEventManager are only valid for the lifetime of the OwnedCallEvent that holds them; right now these objects cannot be copied and ownership cannot be transferred.
Definition at line 1356 of file CallEvent.h.
|
inline |
Definition at line 1410 of file CallEvent.h.
CallEventRef CallEventManager::getCall | ( | const Stmt * | S, |
ProgramStateRef | State, | ||
const LocationContext * | LC, | ||
CFGBlock::ConstCFGElementRef | ElemRef | ||
) |
Gets a call event for a function call, Objective-C method call, a 'new', or a 'delete' call.
Definition at line 1504 of file CallEvent.cpp.
References getCXXAllocatorCall(), getCXXDeallocatorCall(), getObjCMethodCall(), and getSimpleCall().
Referenced by generateDiagnosticsForCallLike(), and getCaller().
CallEventRef CallEventManager::getCaller | ( | const StackFrameContext * | CalleeCtx, |
ProgramStateRef | State | ||
) |
Gets an outside caller given a callee context.
Definition at line 1447 of file CallEvent.cpp.
References E, clang::ento::SVal::getAsRegion(), getCall(), clang::StackFrameContext::getCallSite(), clang::StackFrameContext::getCallSiteBlock(), getCXXConstructorCall(), getCXXDestructorCall(), getCXXInheritedConstructorCall(), clang::ento::SValBuilder::getCXXThis(), clang::LocationContext::getDecl(), clang::StackFrameContext::getIndex(), clang::LocationContext::getParent(), and clang::LocationContext::getStackFrame().
Referenced by annotateConsumedSummaryMismatch(), clang::ento::CallEvent::getCaller(), clang::ento::ExprEngine::processCallExit(), clang::ento::NoStateChangeFuncVisitor::VisitNode(), and clang::ento::UndefOrNullArgVisitor::VisitNode().
|
inline |
Definition at line 1458 of file CallEvent.h.
References E.
Referenced by getCall(), clang::ento::ExprEngine::VisitCXXNewAllocatorCall(), and clang::ento::ExprEngine::VisitCXXNewExpr().
|
inline |
Definition at line 1434 of file CallEvent.h.
References E.
Referenced by clang::ento::ExprEngine::computeObjectUnderConstruction(), and getCaller().
|
inline |
Definition at line 1465 of file CallEvent.h.
References E.
Referenced by getCall(), and clang::ento::ExprEngine::VisitCXXDeleteExpr().
|
inline |
Definition at line 1449 of file CallEvent.h.
Referenced by getCaller(), and clang::ento::ExprEngine::VisitCXXDestructor().
|
inline |
|
inline |
Definition at line 1427 of file CallEvent.h.
References E.
Referenced by clang::ento::ExprEngine::computeObjectUnderConstruction(), generateDiagnosticsForCallLike(), getCall(), and clang::ento::ExprEngine::VisitObjCMessage().
CallEventRef CallEventManager::getSimpleCall | ( | const CallExpr * | E, |
ProgramStateRef | State, | ||
const LocationContext * | LCtx, | ||
CFGBlock::ConstCFGElementRef | ElemRef | ||
) |
Definition at line 1422 of file CallEvent.cpp.
References clang::CallExpr::getCallee(), clang::Expr::getType(), and clang::Type::isBlockPointerType().
Referenced by clang::ento::ExprEngine::computeObjectUnderConstruction(), getCall(), and clang::ento::ExprEngine::VisitCallExpr().
|
friend |
Definition at line 1357 of file CallEvent.h.