Add a couple of accessor methods to get the kind and values of an attribute.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173828 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2013-01-29 20:45:34 +00:00
parent 9f175f8819
commit 6dc3781d44
2 changed files with 15 additions and 0 deletions

View File

@ -28,6 +28,7 @@ class AttrBuilder;
class AttributeImpl;
class AttributeSetImpl;
class AttributeSetNode;
class Constant;
class LLVMContext;
class Type;
@ -130,6 +131,12 @@ public:
/// \brief Return true if attributes exist
bool hasAttributes() const;
/// \brief Return the kind of this attribute.
Constant *getAttributeKind() const;
/// \brief Return the value (if present) of the non-target-specific attribute.
ArrayRef<Constant*> getAttributeValues() const;
/// \brief Returns the alignment field of an attribute as a byte alignment
/// value.
unsigned getAlignment() const;

View File

@ -83,6 +83,14 @@ bool Attribute::hasAttributes() const {
return pImpl && pImpl->hasAttributes();
}
Constant *Attribute::getAttributeKind() const {
return pImpl ? pImpl->getAttributeKind() : 0;
}
ArrayRef<Constant*> Attribute::getAttributeValues() const {
return pImpl ? pImpl->getAttributeValues() : ArrayRef<Constant*>();
}
/// This returns the alignment field of an attribute as a byte alignment value.
unsigned Attribute::getAlignment() const {
if (!hasAttribute(Attribute::Alignment))