git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149000
91177308-0d34-0410-b5e6-
96231b3b80d8
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,
unsigned getFunctionNumParams() const;
bool isFunctionVarArg() const;
- // TODO: StructType
+ StringRef getStructName() const;
+ unsigned getStructNumElements() const;
+ Type *getStructElementType(unsigned N) const;
Type *getSequentialElementType() 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();
}