clang API Documentation
Represents an implicit call to a C++ destructor. More...
#include <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. | |
bool | isBaseDestructor () const |
Returns true if this is a call to a base class destructor. | |
Kind | getKind () const override |
Static Public Member Functions | |
static bool | classof (const CallEvent *CA) |
Protected Types | |
typedef llvm::PointerIntPair < const MemRegion *, 1, bool > | DtorDataTy |
Protected Member Functions | |
CXXDestructorCall (const CXXDestructorDecl *DD, const Stmt *Trigger, const MemRegion *Target, bool IsBaseDestructor, ProgramStateRef St, const LocationContext *LCtx) | |
CXXDestructorCall (const CXXDestructorCall &Other) | |
void | cloneTo (void *Dest) 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 639 of file CallEvent.h.
typedef llvm::PointerIntPair<const MemRegion *, 1, bool> clang::CXXDestructorCall::DtorDataTy [protected] |
Definition at line 643 of file CallEvent.h.
clang::CXXDestructorCall::CXXDestructorCall | ( | const CXXDestructorDecl * | DD, |
const Stmt * | Trigger, | ||
const MemRegion * | Target, | ||
bool | IsBaseDestructor, | ||
ProgramStateRef | St, | ||
const LocationContext * | LCtx | ||
) | [inline, protected] |
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 652 of file CallEvent.h.
References clang::Stmt::getLocEnd().
clang::CXXDestructorCall::CXXDestructorCall | ( | const CXXDestructorCall & | Other | ) | [inline, protected] |
Definition at line 660 of file CallEvent.h.
static bool clang::CXXDestructorCall::classof | ( | const CallEvent * | CA | ) | [inline, static] |
Reimplemented from clang::CXXInstanceCall.
Definition at line 679 of file CallEvent.h.
References clang::ento::CE_CXXDestructor.
void clang::CXXDestructorCall::cloneTo | ( | void * | Dest | ) | const [inline, override, protected] |
Definition at line 661 of file CallEvent.h.
SVal CXXDestructorCall::getCXXThisVal | ( | ) | const [override, virtual] |
Returns the value of the implicit 'this' object.
Reimplemented from clang::CXXInstanceCall.
Definition at line 592 of file CallEvent.cpp.
Kind clang::CXXDestructorCall::getKind | ( | ) | const [inline, override] |
Definition at line 677 of file CallEvent.h.
References clang::ento::CE_CXXDestructor.
unsigned clang::CXXDestructorCall::getNumArgs | ( | ) | const [inline, override] |
Definition at line 665 of file CallEvent.h.
RuntimeDefinition CXXDestructorCall::getRuntimeDefinition | ( | ) | const [override] |
Reimplemented from clang::CXXInstanceCall.
Definition at line 598 of file CallEvent.cpp.
References clang::ento::AnyFunctionCall::getRuntimeDefinition(), and clang::CXXInstanceCall::getRuntimeDefinition().
SourceRange clang::CXXDestructorCall::getSourceRange | ( | ) | const [inline, override] |
Definition at line 664 of file CallEvent.h.
bool clang::CXXDestructorCall::isBaseDestructor | ( | ) | const [inline] |
Returns true if this is a call to a base class destructor.
Definition at line 673 of file CallEvent.h.
friend class CallEventManager [friend] |
Definition at line 640 of file CallEvent.h.