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; }