add StructType helpers too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149000 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2012-01-26 00:06:44 +00:00
parent 6e3abaa77f
commit 27984e67f7
2 changed files with 18 additions and 1 deletions

View File

@ -26,6 +26,7 @@ class raw_ostream;
class Module;
class LLVMContext;
class LLVMContextImpl;
class StringRef;
template<class GraphType> struct GraphTraits;
/// The instances of the Type class are immutable: once they are created,
@ -327,7 +328,9 @@ public:
unsigned getFunctionNumParams() const;
bool isFunctionVarArg() const;
// TODO: StructType
StringRef getStructName() const;
unsigned getStructNumElements() const;
Type *getStructElementType(unsigned N) const;
Type *getSequentialElementType() const;

View File

@ -217,6 +217,20 @@ unsigned Type::getFunctionNumParams() const {
return cast<FunctionType>(this)->getNumParams();
}
StringRef Type::getStructName() const {
return cast<StructType>(this)->getName();
}
unsigned Type::getStructNumElements() const {
return cast<StructType>(this)->getNumElements();
}
Type *Type::getStructElementType(unsigned N) const {
return cast<StructType>(this)->getElementType(N);
}
Type *Type::getSequentialElementType() const {
return cast<SequentialType>(this)->getElementType();
}