Add some helpful comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173631 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2013-01-27 21:32:11 +00:00
parent b719d8b100
commit 893eac1648

View 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]);