summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp
diff options
context:
space:
mode:
authorJordy Rose <jediknil@belkadan.com>2011-08-28 05:16:28 +0000
committerJordy Rose <jediknil@belkadan.com>2011-08-28 05:16:28 +0000
commitd188d66e69bbc67114d5b2487c91a19038e078c7 (patch)
tree5adb37c6738b121bbbd25ffa4426ea3476dc2972 /clang/lib/StaticAnalyzer/Core/ObjCMessage.cpp
parent7bfd86d0468d276e2ed97635e910418986b8bf73 (diff)
downloadbcm5719-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.cpp6
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);
+}
OpenPOWER on IntegriCloud