aboutsummaryrefslogtreecommitdiff
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
commit0e020adcb69e91826f4ee14a0c1d381f7b624a34 (patch)
tree939a2bd88c963bae1901373448172d0bfb79f53d
parent752bee2493ec2931bd18899753552e3a47dc85fe (diff)
[analyzer] Add comments to Calls.h.
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159867 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/Calls.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/Calls.h b/include/clang/StaticAnalyzer/Core/PathSensitive/Calls.h
index 5ab13567cd..84d9b19c86 100644
--- a/include/clang/StaticAnalyzer/Core/PathSensitive/Calls.h
+++ b/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;
}