Add some helpful comments.
authorBill Wendling <isanbard@gmail.com>
Sun, 27 Jan 2013 21:32:11 +0000 (21:32 +0000)
committerBill Wendling <isanbard@gmail.com>
Sun, 27 Jan 2013 21:32:11 +0000 (21:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173631 91177308-0d34-0410-b5e6-96231b3b80d8

lib/IR/AttributeImpl.h

index 2aba3c4de2b686e2875833ca58e24b9c685f4b64..c56536417cbbdfc5ccfe26d13e25dcc59ae146fd 100644 (file)
@@ -117,14 +117,23 @@ class AttributeSetImpl : public FoldingSetNode {
 public:
   AttributeSetImpl(LLVMContext &C, ArrayRef<AttributeWithIndex> attrs);
 
+  /// \brief Get the context that created this AttributeSetImpl.
   LLVMContext &getContext() { return Context; }
+
   ArrayRef<AttributeWithIndex> getAttributes() const { return AttrList; }
-  unsigned getNumAttributes() const {
-    return AttrNodes.size();
-  }
-  unsigned getSlotIndex(unsigned Slot) const {
-    return AttrNodes[Slot].first;
-  }
+
+  /// \brief Return the number of attributes this AttributeSet contains.
+  unsigned getNumAttributes() const { return AttrNodes.size(); }
+
+  /// \brief Get the index of the given "slot" in the AttrNodes list. This index
+  /// is the index of the return, parameter, or function object that the
+  /// attributes are applied to, not the index into the AttrNodes list where the
+  /// attributes reside.
+  unsigned getSlotIndex(unsigned Slot) const { return AttrNodes[Slot].first; }
+
+  /// \brief Retrieve the attributes for the given "slot" in the AttrNode list.
+  /// \p Slot is an index into the AttrNodes list, not the index of the return /
+  /// parameter/ function which the attributes apply to.
   AttributeSet getSlotAttributes(unsigned Slot) const {
     // FIXME: This needs to use AttrNodes instead.
     return AttributeSet::get(Context, AttrList[Slot]);