Make getContainedType more efficient by not returning null if out of range!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8987 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/DerivedTypes.h b/include/llvm/DerivedTypes.h
index 57a8c02..e0ccffd 100644
--- a/include/llvm/DerivedTypes.h
+++ b/include/llvm/DerivedTypes.h
@@ -156,8 +156,7 @@
virtual const Type *getContainedType(unsigned i) const {
- return i == 0 ? ResultType :
- (i <= ParamTys.size() ? ParamTys[i-1].get() : 0);
+ return i == 0 ? ResultType.get() : ParamTys[i-1].get();
}
virtual unsigned getNumContainedTypes() const { return ParamTys.size()+1; }
@@ -239,7 +238,7 @@
inline const ElementTypes &getElementTypes() const { return ETypes; }
virtual const Type *getContainedType(unsigned i) const {
- return i < ETypes.size() ? ETypes[i].get() : 0;
+ return ETypes[i].get();
}
virtual unsigned getNumContainedTypes() const { return ETypes.size(); }
@@ -289,7 +288,7 @@
inline const Type *getElementType() const { return ElementType; }
virtual const Type *getContainedType(unsigned i) const {
- return i == 0 ? ElementType.get() : 0;
+ return ElementType.get();
}
virtual unsigned getNumContainedTypes() const { return 1; }
diff --git a/include/llvm/Type.h b/include/llvm/Type.h
index 5900b40..3ed2d2d 100644
--- a/include/llvm/Type.h
+++ b/include/llvm/Type.h
@@ -202,11 +202,11 @@
/// getContainedType - This method is used to implement the type iterator
/// (defined a the end of the file). For derived types, this returns the
- /// types 'contained' in the derived type, returning 0 when 'i' becomes
- /// invalid. This allows the user to iterate over the types in a struct, for
- /// example, really easily.
+ /// types 'contained' in the derived type.
///
- virtual const Type *getContainedType(unsigned i) const { return 0; }
+ virtual const Type *getContainedType(unsigned i) const {
+ assert(0 && "No contained types!");
+ }
/// getNumContainedTypes - Return the number of types in the derived type
virtual unsigned getNumContainedTypes() const { return 0; }