summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-07-06 22:00:01 +0000
committerJordan Rose <jordan_rose@apple.com>2012-07-06 22:00:01 +0000
commit5df10aa54091429270a319a062708f4c7b10bade (patch)
tree3909e7810b62febbb5aea50c5f4d19664f94fcb9 /clang
parent3f89e0ec93be52cfe305ba3a352621012e4208e8 (diff)
downloadbcm5719-llvm-5df10aa54091429270a319a062708f4c7b10bade.tar.gz
bcm5719-llvm-5df10aa54091429270a319a062708f4c7b10bade.zip
[analyzer] Add comments to Calls.h.
No functionality change. llvm-svn: 159867
Diffstat (limited to 'clang')
-rw-r--r--clang/include/clang/StaticAnalyzer/Core/PathSensitive/Calls.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Calls.h b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Calls.h
index 5ab13567cd2..84d9b19c86e 100644
--- a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Calls.h
+++ b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Calls.h
@@ -366,6 +366,9 @@ public:
}
};
+/// \brief Represents the memory allocation call in a C++ new-expression.
+///
+/// This is a call to "operator new".
class CXXAllocatorCall : public AnyFunctionCall {
const CXXNewExpr *E;
@@ -425,12 +428,22 @@ public:
const ObjCMessageExpr *getOriginExpr() const { return Msg; }
+ /// \brief Returns the value of the receiver at the time of this call.
SVal getReceiverSVal() const;
+ /// \brief Returns the expression for the receiver of this message if it is
+ /// an instance message.
+ ///
+ /// Returns NULL otherwise.
+ /// \sa ObjCMessageExpr::getInstanceReceiver()
const Expr *getInstanceReceiverExpr() const {
return Msg->getInstanceReceiver();
}
+ /// \brief 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.
const ObjCInterfaceDecl *getReceiverInterface() const {
return Msg->getReceiverInterface();
}
@@ -483,6 +496,10 @@ public:
return EntireRange;
}
+ /// \brief Return the property reference part of this access.
+ ///
+ /// In the expression "obj.prop += 1", the property reference expression is
+ /// "obj.prop".
const ObjCPropertyRefExpr *getPropertyExpr() const {
return PropE;
}
OpenPOWER on IntegriCloud