clang
7.0.0
|
Represents an implicit call to a C++ destructor. More...
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
Public Member Functions | |
SourceRange | getSourceRange () const override |
unsigned | getNumArgs () const override |
RuntimeDefinition | getRuntimeDefinition () const override |
SVal | getCXXThisVal () const override |
Returns the value of the implicit 'this' object. More... | |
bool | isBaseDestructor () const |
Returns true if this is a call to a base class destructor. More... | |
Kind | getKind () const override |
![]() | |
virtual const Expr * | getCXXThisExpr () const |
Returns the expression representing the implicit 'this' object. More... | |
const FunctionDecl * | getDecl () const override |
RuntimeDefinition | getRuntimeDefinition () const override |
void | getInitialStackFrameContents (const StackFrameContext *CalleeCtx, BindingsTy &Bindings) const override |
Static Public Member Functions | |
static bool | classof (const CallEvent *CA) |
![]() | |
static bool | classof (const CallEvent *CA) |
Protected Types | |
using | DtorDataTy = llvm::PointerIntPair< const MemRegion *, 1, bool > |
Protected Member Functions | |
CXXDestructorCall (const CXXDestructorDecl *DD, const Stmt *Trigger, const MemRegion *Target, bool IsBaseDestructor, ProgramStateRef St, const LocationContext *LCtx) | |
Creates an implicit destructor. More... | |
CXXDestructorCall (const CXXDestructorCall &Other)=default | |
void | cloneTo (void *Dest) const override |
![]() | |
CXXInstanceCall (const CallExpr *CE, ProgramStateRef St, const LocationContext *LCtx) | |
CXXInstanceCall (const FunctionDecl *D, ProgramStateRef St, const LocationContext *LCtx) | |
CXXInstanceCall (const CXXInstanceCall &Other)=default | |
void | getExtraInvalidatedValues (ValueList &Values, RegionAndSymbolInvalidationTraits *ETraits) const override |
Friends | |
class | CallEventManager |
Represents an implicit call to a C++ destructor.
This can occur at the end of a scope (for automatic objects), at the end of a full-expression (for temporaries), or as part of a delete.
Definition at line 778 of file CallEvent.h.
|
protected |
Definition at line 782 of file CallEvent.h.
|
inlineprotected |
Creates an implicit destructor.
DD | The destructor that will be called. |
Trigger | The statement whose completion causes this destructor call. |
Target | The object region to be destructed. |
St | The path-sensitive state at this point in the program. |
LCtx | The location context at this point in the program. |
Definition at line 791 of file CallEvent.h.
References clang::Stmt::getLocEnd().
|
protecteddefault |
Definition at line 819 of file CallEvent.h.
References clang::ento::CE_CXXDestructor.
|
inlineoverrideprotected |
Definition at line 801 of file CallEvent.h.
|
overridevirtual |
Returns the value of the implicit 'this' object.
Reimplemented from clang::CXXInstanceCall.
Definition at line 826 of file CallEvent.cpp.
References clang::ento::CallEvent::Data.
|
inlineoverride |
Definition at line 817 of file CallEvent.h.
References clang::ento::CE_CXXDestructor.
|
inlineoverride |
Definition at line 805 of file CallEvent.h.
|
override |
Definition at line 832 of file CallEvent.cpp.
References clang::ento::AnyFunctionCall::getRuntimeDefinition(), and clang::CXXInstanceCall::getRuntimeDefinition().
|
inlineoverride |
Definition at line 804 of file CallEvent.h.
|
inline |
Returns true if this is a call to a base class destructor.
Definition at line 813 of file CallEvent.h.
|
friend |
Definition at line 779 of file CallEvent.h.