clang API Documentation
Represents a non-static C++ member function call, no matter how it is written. More...
#include <CallEvent.h>
Public Member Functions | |
virtual const Expr * | getCXXThisExpr () const |
Returns the expression representing the implicit 'this' object. | |
virtual SVal | getCXXThisVal () const |
Returns the value of the implicit 'this' object. | |
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) |
Protected Member Functions | |
void | getExtraInvalidatedValues (ValueList &Values) const override |
CXXInstanceCall (const CallExpr *CE, ProgramStateRef St, const LocationContext *LCtx) | |
CXXInstanceCall (const FunctionDecl *D, ProgramStateRef St, const LocationContext *LCtx) | |
CXXInstanceCall (const CXXInstanceCall &Other) |
Represents a non-static C++ member function call, no matter how it is written.
Definition at line 522 of file CallEvent.h.
clang::CXXInstanceCall::CXXInstanceCall | ( | const CallExpr * | CE, |
ProgramStateRef | St, | ||
const LocationContext * | LCtx | ||
) | [inline, protected] |
Definition at line 526 of file CallEvent.h.
clang::CXXInstanceCall::CXXInstanceCall | ( | const FunctionDecl * | D, |
ProgramStateRef | St, | ||
const LocationContext * | LCtx | ||
) | [inline, protected] |
Definition at line 529 of file CallEvent.h.
clang::CXXInstanceCall::CXXInstanceCall | ( | const CXXInstanceCall & | Other | ) | [inline, protected] |
Definition at line 534 of file CallEvent.h.
static bool clang::CXXInstanceCall::classof | ( | const CallEvent * | CA | ) | [inline, static] |
Reimplemented in clang::CXXDestructorCall, clang::CXXMemberOperatorCall, and clang::CXXMemberCall.
Definition at line 550 of file CallEvent.h.
References clang::ento::CE_BEG_CXX_INSTANCE_CALLS, and clang::ento::CE_END_CXX_INSTANCE_CALLS.
virtual const Expr* clang::CXXInstanceCall::getCXXThisExpr | ( | ) | const [inline, virtual] |
Returns the expression representing the implicit 'this' object.
Reimplemented in clang::CXXMemberOperatorCall, and clang::CXXMemberCall.
Definition at line 538 of file CallEvent.h.
SVal CXXInstanceCall::getCXXThisVal | ( | ) | const [virtual] |
Returns the value of the implicit 'this' object.
Reimplemented in clang::CXXDestructorCall.
Definition at line 409 of file CallEvent.cpp.
References clang::ento::SVal::getAs(), and clang::ento::SVal::isUnknownOrUndef().
const FunctionDecl * CXXInstanceCall::getDecl | ( | ) | const [override] |
Definition at line 393 of file CallEvent.cpp.
References clang::CallExpr::getCallee(), clang::ento::AnyFunctionCall::getDecl(), and clang::CallExpr::getDirectCallee().
Referenced by isTrivialObjectAssignment().
void CXXInstanceCall::getExtraInvalidatedValues | ( | ValueList & | Values | ) | const [override, protected] |
Definition at line 405 of file CallEvent.cpp.
void CXXInstanceCall::getInitialStackFrameContents | ( | const StackFrameContext * | CalleeCtx, |
BindingsTy & | Bindings | ||
) | const [override] |
Definition at line 482 of file CallEvent.cpp.
References clang::ento::StoreManager::evalDynamicCast(), clang::CXXMethodDecl::getCanonicalDecl(), clang::ento::SValBuilder::getContext(), clang::ento::SValBuilder::getCXXThis(), clang::LocationContext::getDecl(), clang::ento::AnyFunctionCall::getInitialStackFrameContents(), clang::CXXMethodDecl::getParent(), clang::ASTContext::getPointerType(), clang::ASTContext::getRecordType(), clang::ento::ProgramStateManager::getStoreManager(), clang::ento::ProgramStateManager::getSValBuilder(), and clang::ento::SVal::isUnknown().
RuntimeDefinition CXXInstanceCall::getRuntimeDefinition | ( | ) | const [override] |
Reimplemented in clang::CXXDestructorCall, and clang::CXXMemberCall.
Definition at line 421 of file CallEvent.cpp.
References clang::ento::DynamicTypeInfo::canBeASubClass(), clang::Type::getAsCXXRecordDecl(), clang::CXXMethodDecl::getCorrespondingMethodInClass(), clang::CXXMethodDecl::getParent(), clang::Type::getPointeeType(), clang::ento::AnyFunctionCall::getRuntimeDefinition(), clang::ento::DynamicTypeInfo::getType(), clang::FunctionDecl::hasBody(), clang::QualType::isNull(), clang::ento::DynamicTypeInfo::isValid(), clang::CXXMethodDecl::isVirtual(), and clang::ento::MemRegion::StripCasts().
Referenced by clang::CXXMemberCall::getRuntimeDefinition(), and clang::CXXDestructorCall::getRuntimeDefinition().