diff options
author | Chris Lattner <sabre@nondot.org> | 2009-02-28 23:20:19 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-02-28 23:20:19 +0000 |
commit | e9fa33eb6629aea72cd59560216bb6a7b8ebc689 (patch) | |
tree | 0b68e3986e808865caf32f0d4b5065b8beb8ffd8 /include | |
parent | 87185e82f683cf3c046ddf974513d5a286422f5f (diff) |
move type name population out of TypePrinting class into a static
AsmWriter.cpp method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65736 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Assembly/Writer.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/llvm/Assembly/Writer.h b/include/llvm/Assembly/Writer.h index c9f73eed91..1138919bb4 100644 --- a/include/llvm/Assembly/Writer.h +++ b/include/llvm/Assembly/Writer.h @@ -29,11 +29,11 @@ template <typename T> class SmallVectorImpl; /// TypePrinting - Type printing machinery. class TypePrinting { - void *TypeNames; + void *TypeNames; // A map to remember type names. TypePrinting(const TypePrinting &); // DO NOT IMPLEMENT void operator=(const TypePrinting&); // DO NOT IMPLEMENT public: - TypePrinting(const Module *M = 0); + TypePrinting(); ~TypePrinting(); void clear(); @@ -41,6 +41,15 @@ public: void print(const Type *Ty, raw_ostream &OS); void printAtLeastOneLevel(const Type *Ty, raw_ostream &OS); + /// hasTypeName - Return true if the type has a name in TypeNames, false + /// otherwise. + bool hasTypeName(const Type *Ty) const; + + /// addTypeName - Add a name for the specified type if it doesn't already have + /// one. This name will be printed instead of the structural version of the + /// type in order to make the output more concise. + void addTypeName(const Type *Ty, const std::string &N); + private: void CalcTypeName(const Type *Ty, SmallVectorImpl<const Type *> &TypeStack, raw_ostream &OS); |