- assert(TPI != end() &&"Type plane not in symbol table but we contain types!");
-
- // Loop over all of the types in the symbol table, replacing any references to
- // OldType with references to NewType. Note that there may be multiple
- // occurances, and although we only need to remove one at a time, it's faster
- // to remove them all in one pass.
- //
- VarMap &TyPlane = TPI->second;
- for (VarMap::iterator I = TyPlane.begin(), E = TyPlane.end(); I != E; ++I)
- if (I->second == (Value*)OldType) { // FIXME when Types aren't const.
+ if (TPI != end()) {
+ // Loop over all of the types in the symbol table, replacing any references
+ // to OldType with references to NewType. Note that there may be multiple
+ // occurances, and although we only need to remove one at a time, it's
+ // faster to remove them all in one pass.
+ //
+ VarMap &TyPlane = TPI->second;
+ for (VarMap::iterator I = TyPlane.begin(), E = TyPlane.end(); I != E; ++I)
+ if (I->second == (Value*)OldType) { // FIXME when Types aren't const.