summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2012-01-26 00:06:44 +0000
committerChris Lattner <sabre@nondot.org>2012-01-26 00:06:44 +0000
commit27984e67f7958c83e69aa15859d29867c46097a9 (patch)
treee12815f35babffa7da05e4ec47f641cc3b94ec00
parent6e3abaa77f916341ed000b1a3883aec563967a88 (diff)
downloadllvm-27984e67f7958c83e69aa15859d29867c46097a9.tar.gz
llvm-27984e67f7958c83e69aa15859d29867c46097a9.tar.bz2
llvm-27984e67f7958c83e69aa15859d29867c46097a9.tar.xz
add StructType helpers too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149000 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Type.h5
-rw-r--r--lib/VMCore/Type.cpp14
2 files changed, 18 insertions, 1 deletions
diff --git a/include/llvm/Type.h b/include/llvm/Type.h
index d3b2f1383f..185258d8ff 100644
--- a/include/llvm/Type.h
+++ b/include/llvm/Type.h
@@ -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;
diff --git a/lib/VMCore/Type.cpp b/lib/VMCore/Type.cpp
index 627f6452c6..f5c88ccd38 100644
--- a/lib/VMCore/Type.cpp
+++ b/lib/VMCore/Type.cpp
@@ -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();
}