Make PATypeHolder and friends return non-const pointers to the types they

hold.  Because types are basically immutable anyway, they should not be
referenced as "const Type*" everywhere.  Just "Type*" should suffice!

llvm-svn: 14824
This commit is contained in:
Chris Lattner 2004-07-14 20:10:26 +00:00
parent 7044b0d4e1
commit 9e4dad1400
2 changed files with 11 additions and 11 deletions

View File

@ -93,17 +93,17 @@ public:
inline ~PATypeHandle() { removeUser(); } inline ~PATypeHandle() { removeUser(); }
// Automatic casting operator so that the handle may be used naturally // Automatic casting operator so that the handle may be used naturally
inline operator const Type *() const { return Ty; } inline operator Type *() const { return const_cast<Type*>(Ty); }
inline const Type *get() const { return Ty; } inline Type *get() const { return const_cast<Type*>(Ty); }
// operator= - Allow assignment to handle // operator= - Allow assignment to handle
inline const Type *operator=(const Type *ty) { inline Type *operator=(const Type *ty) {
if (Ty != ty) { // Ensure we don't accidentally drop last ref to Ty if (Ty != ty) { // Ensure we don't accidentally drop last ref to Ty
removeUser(); removeUser();
Ty = ty; Ty = ty;
addUser(); addUser();
} }
return Ty; return get();
} }
// operator= - Allow assignment to handle // operator= - Allow assignment to handle
@ -145,14 +145,14 @@ public:
~PATypeHolder() { dropRef(); } ~PATypeHolder() { dropRef(); }
operator const Type *() const { return get(); } operator Type *() const { return get(); }
const Type *get() const; Type *get() const;
// operator-> - Allow user to dereference handle naturally... // operator-> - Allow user to dereference handle naturally...
const Type *operator->() const { return get(); } Type *operator->() const { return get(); }
// operator= - Allow assignment to handle // operator= - Allow assignment to handle
const Type *operator=(const Type *ty) { Type *operator=(const Type *ty) {
if (Ty != ty) { // Don't accidentally drop last ref to Ty. if (Ty != ty) { // Don't accidentally drop last ref to Ty.
dropRef(); dropRef();
Ty = ty; Ty = ty;
@ -160,7 +160,7 @@ public:
} }
return get(); return get();
} }
const Type *operator=(const PATypeHolder &H) { Type *operator=(const PATypeHolder &H) {
return operator=(H.Ty); return operator=(H.Ty);
} }

View File

@ -347,9 +347,9 @@ inline void PATypeHolder::dropRef() {
/// type we are pointing to is forwarding to a new type. If so, we drop our /// type we are pointing to is forwarding to a new type. If so, we drop our
/// reference to the type. /// reference to the type.
/// ///
inline const Type* PATypeHolder::get() const { inline Type* PATypeHolder::get() const {
const Type *NewTy = Ty->getForwardedType(); const Type *NewTy = Ty->getForwardedType();
if (!NewTy) return Ty; if (!NewTy) return const_cast<Type*>(Ty);
return *const_cast<PATypeHolder*>(this) = NewTy; return *const_cast<PATypeHolder*>(this) = NewTy;
} }