const Type *getForwardedTypeInternal() const;
protected:
/// ctor is protected, so only subclasses can create Type objects...
- Type(PrimitiveID id);
+ Type(const std::string &Name, PrimitiveID id);
virtual ~Type() {}
/// setName - Associate the name with this type in the symbol table, but don't
///
bool isTypeAbstract();
+ unsigned getRefCount() const { return RefCount; }
+
/// ForwardType - This field is used to implement the union find scheme for
/// abstract types. When types are refined to other types, this field is set
/// to the more refined type. Only abstract types can be forwarded.