|
clang
3.8.0
|
Represents any expression that calls an Objective-C method. More...
#include <CallEvent.h>
Public Member Functions | |
| virtual const ObjCMessageExpr * | getOriginExpr () const |
| const ObjCMethodDecl * | getDecl () const override |
| unsigned | getNumArgs () const override |
| const Expr * | getArgExpr (unsigned Index) const override |
| bool | isInstanceMessage () const |
| ObjCMethodFamily | getMethodFamily () const |
| Selector | getSelector () const |
| SourceRange | getSourceRange () const override |
| SVal | getReceiverSVal () const |
| Returns the value of the receiver at the time of this call. More... | |
| SVal | getSelfSVal () const |
| Return the value of 'self' if available. More... | |
| const ObjCInterfaceDecl * | getReceiverInterface () const |
| Get the interface for the receiver. More... | |
| bool | isReceiverSelfOrSuper () const |
| Checks if the receiver refers to 'self' or 'super'. More... | |
| ObjCMessageKind | getMessageKind () const |
| Returns how the message was written in the source (property access, subscript, or explicit message send). More... | |
| bool | isSetter () const |
| Returns true if this property access or subscript is a setter (has the form of an assignment). More... | |
| RuntimeDefinition | getRuntimeDefinition () const override |
| bool | argumentsMayEscape () const override |
| void | getInitialStackFrameContents (const StackFrameContext *CalleeCtx, BindingsTy &Bindings) const override |
| ArrayRef< ParmVarDecl * > | parameters () const override |
| Kind | getKind () const override |
Static Public Member Functions | |
| static bool | classof (const CallEvent *CA) |
Protected Member Functions | |
| ObjCMethodCall (const ObjCMessageExpr *Msg, ProgramStateRef St, const LocationContext *LCtx) | |
| ObjCMethodCall (const ObjCMethodCall &Other) | |
| void | cloneTo (void *Dest) const override |
| void | getExtraInvalidatedValues (ValueList &Values, RegionAndSymbolInvalidationTraits *ETraits) const override |
| virtual bool | canBeOverridenInSubclass (ObjCInterfaceDecl *IDecl, Selector Sel) const |
| Check if the selector may have multiple definitions (may have overrides). More... | |
Friends | |
| class | CallEventManager |
Represents any expression that calls an Objective-C method.
This includes all of the kinds listed in ObjCMessageKind.
Definition at line 849 of file CallEvent.h.
|
inlineprotected |
Definition at line 855 of file CallEvent.h.
|
inlineprotected |
Definition at line 861 of file CallEvent.h.
|
override |
Definition at line 930 of file CallEvent.cpp.
References clang::ento::CallEvent::argumentsMayEscape(), clang::Selector::getIdentifierInfoForSlot(), clang::Selector::getNumArgs(), and clang::IdentifierInfo::isStr().
|
protectedvirtual |
Check if the selector may have multiple definitions (may have overrides).
Definition at line 784 of file CallEvent.cpp.
References clang::ObjCMethodDecl::getClassInterface(), clang::ObjCInterfaceDecl::getEndOfDefinitionLoc(), clang::Decl::getLocation(), clang::ObjCInterfaceDecl::getSuperClass(), clang::SourceManager::isInMainFile(), clang::ObjCMethodDecl::isOverriding(), clang::SourceLocation::isValid(), clang::ObjCInterfaceDecl::lookupMethod(), clang::OCM_PropertyAccess, and SM.
Definition at line 943 of file CallEvent.h.
References clang::ento::CE_ObjCMessage.
|
inlineoverrideprotected |
Definition at line 862 of file CallEvent.h.
Definition at line 881 of file CallEvent.h.
|
inlineoverride |
Definition at line 875 of file CallEvent.h.
Referenced by getMethodReceiverIfKnownImmutable().
|
overrideprotected |
Definition at line 672 of file CallEvent.cpp.
|
override |
Definition at line 941 of file CallEvent.cpp.
References addParameterValuesToBindings(), clang::LocationContext::getAnalysisDeclContext(), clang::LocationContext::getDecl(), clang::AnalysisDeclContext::getSelfDecl(), clang::ento::SValBuilder::getStateManager(), clang::ento::ProgramStateManager::getSValBuilder(), clang::ento::MemRegionManager::getVarRegion(), and clang::ObjCMethodDecl::parameters().
|
inlineoverride |
Definition at line 941 of file CallEvent.h.
References clang::ento::CE_ObjCMessage.
| ObjCMessageKind ObjCMethodCall::getMessageKind | ( | ) | const |
Returns how the message was written in the source (property access, subscript, or explicit message send).
Definition at line 733 of file CallEvent.cpp.
References clang::ParentMap::getParentIgnoreParenCasts(), clang::OCM_Message, clang::OCM_PropertyAccess, clang::OCM_Subscript, and S.
Referenced by describeUninitializedArgumentInCall().
|
inline |
Definition at line 888 of file CallEvent.h.
Referenced by isInitMessage().
|
inlineoverride |
Definition at line 878 of file CallEvent.h.
|
inlinevirtual |
Definition at line 872 of file CallEvent.h.
References clang::ento::CallEvent::getOriginExpr().
Referenced by getMethodReceiverIfKnownImmutable().
|
inline |
Get the interface for the receiver.
This works whether this is an instance message or a class message. However, it currently just uses the static type of the receiver.
Definition at line 907 of file CallEvent.h.
Referenced by GetReceiverInterfaceName().
| SVal ObjCMethodCall::getReceiverSVal | ( | ) | const |
Returns the value of the receiver at the time of this call.
Definition at line 685 of file CallEvent.cpp.
References clang::ento::SVal::isValid(), and clang::ObjCMessageExpr::SuperInstance.
Referenced by getMethodReceiverIfKnownImmutable(), and getReceiverNullability().
|
override |
Definition at line 839 of file CallEvent.cpp.
References clang::ento::DynamicTypeInfo::canBeASubClass(), E, clang::ento::getDynamicTypeInfo(), clang::ObjCObjectPointerType::getInterfaceDecl(), clang::ObjCMessageExpr::getMethodDecl(), clang::ObjCMessageExpr::getReceiverInterface(), clang::ObjCMessageExpr::getSelector(), clang::ObjCMessageExpr::getSuperType(), clang::ento::DynamicTypeInfo::getType(), clang::ObjCMessageExpr::isInstanceMessage(), and clang::QualType::isNull().
|
inline |
Definition at line 891 of file CallEvent.h.
Referenced by getFreeWhenDoneArg(), and isKnownDeallocObjCMethodName().
| SVal ObjCMethodCall::getSelfSVal | ( | ) | const |
Return the value of 'self' if available.
Definition at line 677 of file CallEvent.cpp.
References clang::LocationContext::getSelfDecl().
|
override |
Definition at line 714 of file CallEvent.cpp.
References clang::OCM_Message, clang::OCM_PropertyAccess, and clang::OCM_Subscript.
|
inline |
Definition at line 885 of file CallEvent.h.
| bool ObjCMethodCall::isReceiverSelfOrSuper | ( | ) | const |
Checks if the receiver refers to 'self' or 'super'.
Definition at line 701 of file CallEvent.cpp.
References clang::ObjCMessageExpr::SuperClass, and clang::ObjCMessageExpr::SuperInstance.
Referenced by getReceiverNullability().
|
inline |
Returns true if this property access or subscript is a setter (has the form of an assignment).
Definition at line 920 of file CallEvent.h.
References clang::getNumArgs(), clang::OCM_Message, clang::OCM_PropertyAccess, and clang::OCM_Subscript.
Referenced by describeUninitializedArgumentInCall().
|
override |
Definition at line 664 of file CallEvent.cpp.
References clang::None, and clang::ObjCMethodDecl::parameters().
|
friend |
Definition at line 850 of file CallEvent.h.
1.8.6