clang  6.0.0svn
Public Member Functions | Friends | List of all members
clang::CallEventManager Class Reference

Manages the lifetime of CallEvent objects. More...

#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"

Public Member Functions

 CallEventManager (llvm::BumpPtrAllocator &alloc)
 
CallEventRef getCaller (const StackFrameContext *CalleeCtx, ProgramStateRef State)
 
CallEventRef getSimpleCall (const CallExpr *E, ProgramStateRef State, const LocationContext *LCtx)
 
CallEventRef< ObjCMethodCallgetObjCMethodCall (const ObjCMessageExpr *E, ProgramStateRef State, const LocationContext *LCtx)
 
CallEventRef< CXXConstructorCallgetCXXConstructorCall (const CXXConstructExpr *E, const MemRegion *Target, ProgramStateRef State, const LocationContext *LCtx)
 
CallEventRef< CXXDestructorCallgetCXXDestructorCall (const CXXDestructorDecl *DD, const Stmt *Trigger, const MemRegion *Target, bool IsBase, ProgramStateRef State, const LocationContext *LCtx)
 
CallEventRef< CXXAllocatorCallgetCXXAllocatorCall (const CXXNewExpr *E, ProgramStateRef State, const LocationContext *LCtx)
 

Friends

class CallEvent
 

Detailed Description

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 982 of file CallEvent.h.

Constructor & Destructor Documentation

◆ CallEventManager()

clang::CallEventManager::CallEventManager ( llvm::BumpPtrAllocator &  alloc)
inline

Definition at line 1033 of file CallEvent.h.

References State.

Member Function Documentation

◆ getCaller()

CallEventRef CallEventManager::getCaller ( const StackFrameContext CalleeCtx,
ProgramStateRef  State 
)

◆ getCXXAllocatorCall()

CallEventRef<CXXAllocatorCall> clang::CallEventManager::getCXXAllocatorCall ( const CXXNewExpr E,
ProgramStateRef  State,
const LocationContext LCtx 
)
inline

Definition at line 1064 of file CallEvent.h.

Referenced by clang::ento::ExprEngine::VisitCXXNewExpr().

◆ getCXXConstructorCall()

CallEventRef<CXXConstructorCall> clang::CallEventManager::getCXXConstructorCall ( const CXXConstructExpr E,
const MemRegion *  Target,
ProgramStateRef  State,
const LocationContext LCtx 
)
inline

Definition at line 1051 of file CallEvent.h.

Referenced by clang::ento::ExprEngine::VisitCXXConstructExpr().

◆ getCXXDestructorCall()

CallEventRef<CXXDestructorCall> clang::CallEventManager::getCXXDestructorCall ( const CXXDestructorDecl DD,
const Stmt Trigger,
const MemRegion *  Target,
bool  IsBase,
ProgramStateRef  State,
const LocationContext LCtx 
)
inline

Definition at line 1057 of file CallEvent.h.

References State.

◆ getObjCMethodCall()

CallEventRef<ObjCMethodCall> clang::CallEventManager::getObjCMethodCall ( const ObjCMessageExpr E,
ProgramStateRef  State,
const LocationContext LCtx 
)
inline

◆ getSimpleCall()

CallEventRef CallEventManager::getSimpleCall ( const CallExpr E,
ProgramStateRef  State,
const LocationContext LCtx 
)

Friends And Related Function Documentation

◆ CallEvent

friend class CallEvent
friend

Definition at line 983 of file CallEvent.h.


The documentation for this class was generated from the following files: