clang
6.0.0
|
Represents a non-static C++ member function call, no matter how it is written. More...
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
Public Member Functions | |
virtual const Expr * | getCXXThisExpr () const |
Returns the expression representing the implicit 'this' object. More... | |
virtual SVal | getCXXThisVal () const |
Returns the value of 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) |
Protected Member Functions | |
void | getExtraInvalidatedValues (ValueList &Values, RegionAndSymbolInvalidationTraits *ETraits) 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 599 of file CallEvent.h.
|
inlineprotected |
Definition at line 604 of file CallEvent.h.
|
inlineprotected |
Definition at line 607 of file CallEvent.h.
|
inlineprotected |
Definition at line 612 of file CallEvent.h.
Definition at line 628 of file CallEvent.h.
References clang::ento::CE_BEG_CXX_INSTANCE_CALLS, and clang::ento::CE_END_CXX_INSTANCE_CALLS.
|
inlinevirtual |
Returns the expression representing the implicit 'this' object.
Reimplemented in clang::CXXMemberOperatorCall, and clang::CXXMemberCall.
Definition at line 616 of file CallEvent.h.
|
virtual |
Returns the value of the implicit 'this' object.
Reimplemented in clang::CXXDestructorCall.
Definition at line 493 of file CallEvent.cpp.
References clang::ento::SVal::getAs(), clang::ento::CallEvent::getSVal(), and clang::ento::SVal::isUnknownOrUndef().
|
override |
Definition at line 455 of file CallEvent.cpp.
References clang::CallExpr::getCallee(), clang::ento::AnyFunctionCall::getDecl(), clang::CallExpr::getDirectCallee(), clang::ento::CallEvent::getOriginExpr(), and clang::ento::CallEvent::getSVal().
Referenced by isTrivialObjectAssignment().
|
overrideprotected |
Definition at line 467 of file CallEvent.cpp.
References clang::Type::getAsCXXRecordDecl(), clang::ento::SVal::getAsRegion(), clang::ento::MemRegion::getBaseRegion(), clang::ento::CallEvent::getDecl(), clang::Expr::getType(), clang::CXXRecordDecl::hasMutableFields(), clang::Expr::ignoreParenBaseCasts(), clang::ento::RegionAndSymbolInvalidationTraits::setTrait(), and clang::ento::RegionAndSymbolInvalidationTraits::TK_PreserveContents.
|
override |
Definition at line 566 of file CallEvent.cpp.
References clang::ento::StoreManager::attemptDownCast(), clang::Decl::getCanonicalDecl(), clang::CXXMethodDecl::getCanonicalDecl(), clang::ento::SValBuilder::getContext(), clang::ento::SValBuilder::getCXXThis(), clang::ento::CallEvent::getDecl(), clang::LocationContext::getDecl(), clang::ento::AnyFunctionCall::getInitialStackFrameContents(), clang::CXXMethodDecl::getParent(), clang::ASTContext::getPointerType(), clang::ASTContext::getRecordType(), clang::ento::CallEvent::getState(), clang::ento::ProgramStateManager::getStoreManager(), clang::ento::ProgramStateManager::getSValBuilder(), and clang::ento::SVal::isUnknown().
|
override |
Definition at line 505 of file CallEvent.cpp.
References clang::ento::DynamicTypeInfo::canBeASubClass(), clang::Type::getAsCXXRecordDecl(), clang::CXXMethodDecl::getCorrespondingMethodInClass(), clang::ento::CallEvent::getDecl(), clang::ento::getDynamicTypeInfo(), clang::CXXMethodDecl::getParent(), clang::Type::getPointeeType(), clang::ento::AnyFunctionCall::getRuntimeDefinition(), clang::ento::CallEvent::getState(), 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().