diff options
author | Chris Lattner <sabre@nondot.org> | 2002-04-05 22:21:08 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-04-05 22:21:08 +0000 |
commit | 1602560ef95436076c84680ade3ae9a03d2ee922 (patch) | |
tree | 28354123abec6fe9d116cf41e002384ffe6293f4 /include/llvm/DerivedTypes.h | |
parent | cecb520d1ccf76f0b1c0e9c87dbcbad56f6b1e4e (diff) | |
download | external_llvm-1602560ef95436076c84680ade3ae9a03d2ee922.zip external_llvm-1602560ef95436076c84680ade3ae9a03d2ee922.tar.gz external_llvm-1602560ef95436076c84680ade3ae9a03d2ee922.tar.bz2 |
* Delete getNumAbstractTypeUsers method
* Move addAbstractTypeUser method to Type.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2120 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/DerivedTypes.h')
-rw-r--r-- | include/llvm/DerivedTypes.h | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/include/llvm/DerivedTypes.h b/include/llvm/DerivedTypes.h index 1a8bf90..9e01ba3 100644 --- a/include/llvm/DerivedTypes.h +++ b/include/llvm/DerivedTypes.h @@ -14,17 +14,20 @@ #include "llvm/Type.h" class DerivedType : public Type { + char isRefining; // Used for recursive types + // AbstractTypeUsers - Implement a list of the users that need to be notified // if I am a type, and I get resolved into a more concrete type. // ///// FIXME: kill mutable nonsense when Type's are not const mutable std::vector<AbstractTypeUser *> AbstractTypeUsers; - char isRefining; // Used for recursive types - protected: inline DerivedType(PrimitiveID id) : Type("", id) { - isRefining = false; + isRefining = 0; + } + ~DerivedType() { + assert(AbstractTypeUsers.empty()); } // typeIsRefined - Notify AbstractTypeUsers of this type that the current type @@ -50,14 +53,7 @@ public: // addAbstractTypeUser - Notify an abstract type that there is a new user of // it. This function is called primarily by the PATypeHandle class. // - void addAbstractTypeUser(AbstractTypeUser *U) const { - assert(isAbstract() && "addAbstractTypeUser: Current type not abstract!"); -#if 0 - cerr << " addAbstractTypeUser[" << (void*)this << ", " << getDescription() - << "][" << AbstractTypeUsers.size() << "] User = " << U << endl; -#endif - AbstractTypeUsers.push_back(U); - } + void addAbstractTypeUser(AbstractTypeUser *U) const; // removeAbstractTypeUser - Notify an abstract type that a user of the class // no longer has a handle to the type. This function is called primarily by @@ -66,12 +62,6 @@ public: // void removeAbstractTypeUser(AbstractTypeUser *U) const; - // getNumAbstractTypeUsers - Return the number of users registered to the type - inline unsigned getNumAbstractTypeUsers() const { - assert(isAbstract() && "getNumAbstractTypeUsers: Type not abstract!"); - return AbstractTypeUsers.size(); - } - // refineAbstractTypeTo - This function is used to when it is discovered that // the 'this' abstract type is actually equivalent to the NewType specified. // This causes all users of 'this' to switch to reference the more concrete |