diff options
author | Jordy Rose <jediknil@belkadan.com> | 2011-08-28 05:16:28 +0000 |
---|---|---|
committer | Jordy Rose <jediknil@belkadan.com> | 2011-08-28 05:16:28 +0000 |
commit | d188d66e69bbc67114d5b2487c91a19038e078c7 (patch) | |
tree | 5adb37c6738b121bbbd25ffa4426ea3476dc2972 /clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp | |
parent | 7bfd86d0468d276e2ed97635e910418986b8bf73 (diff) | |
download | bcm5719-llvm-d188d66e69bbc67114d5b2487c91a19038e078c7.tar.gz bcm5719-llvm-d188d66e69bbc67114d5b2487c91a19038e078c7.zip |
[analyzer] Migrate argument invalidation from CFRefCount to ExprEngine.
This is a common path for function and C++ method calls, Objective-C messages and property accesses, and C++ construct-exprs.
As support, add message receiver accessors to ObjCMessage and CallOrObjCMessage.
llvm-svn: 138718
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp')
-rw-r--r-- | clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp b/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp index 82b0e7c3053..112c4682100 100644 --- a/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp +++ b/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp @@ -150,3 +150,9 @@ SVal CallOrObjCMessage::getCXXCallee() const { cast<CXXMemberCallExpr>(ActualCall)->getImplicitObjectArgument(); return State->getSVal(callee); } + +SVal +CallOrObjCMessage::getInstanceMessageReceiver(const LocationContext *LC) const { + assert(isObjCMessage()); + return Msg.getInstanceReceiverSVal(State, LC); +} |