From df3d2e95a2606c607608252dd4069ae6feb14936 Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Wed, 28 Apr 2004 19:22:58 +0000 Subject: * Make contained ostream not public. * Remove various print methods that called the Value* method, just have one that all subclasses of Value will use anyway. * Remove template for printing constant references * Add methods to print char* and strings * setStream now sets the stream on the contained AssemblyWriter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13246 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Assembly/CachedWriter.h | 37 +++++++++++------------------------- 1 file changed, 11 insertions(+), 26 deletions(-) (limited to 'include/llvm/Assembly') diff --git a/include/llvm/Assembly/CachedWriter.h b/include/llvm/Assembly/CachedWriter.h index 0808600..27193e7 100644 --- a/include/llvm/Assembly/CachedWriter.h +++ b/include/llvm/Assembly/CachedWriter.h @@ -31,15 +31,14 @@ class CachedWriter { AssemblyWriter *AW; SlotCalculator *SC; bool SymbolicTypes; -public: std::ostream *Out; +public: enum TypeWriter { SymTypeOn, SymTypeOff }; -public: CachedWriter(std::ostream &O = std::cout) : AW(0), SC(0), SymbolicTypes(false), Out(&O) { } CachedWriter(const Module *M, std::ostream &O = std::cout) @@ -53,27 +52,10 @@ public: CachedWriter &operator<<(const Value *V); - inline CachedWriter &operator<<(Value *X) { - return *this << (const Value*)X; - } - inline CachedWriter &operator<<(const GlobalVariable *X) { - return *this << (const Value*)X; - } - inline CachedWriter &operator<<(const Function *X) { - return *this << (const Value*)X; - } - inline CachedWriter &operator<<(const Argument *X) { - return *this << (const Value*)X; - } - inline CachedWriter &operator<<(const BasicBlock *X) { - return *this << (const Value*)X; - } - inline CachedWriter &operator<<(const Instruction *X) { - return *this << (const Value*)X; - } - inline CachedWriter &operator<<(const Constant *X) { - return *this << (const Value*)X; + inline CachedWriter &operator<<(const Value &X) { + return *this << &X; } + CachedWriter &operator<<(const Type *X); inline CachedWriter &operator<<(const PointerType *X); @@ -81,9 +63,12 @@ public: *Out << Manip; return *this; } - template - inline CachedWriter &operator<<(const X &v) { - *Out << v; + inline CachedWriter& operator<<(const char *X) { + *Out << X; + return *this; + } + inline CachedWriter& operator<<(const std::string &X) { + *Out << X; return *this; } @@ -93,7 +78,7 @@ public: } inline std::ostream& getStream() { return *Out; } - inline void setStream(std::ostream &os) { Out = &os; } + void setStream(std::ostream &os); }; } // End llvm namespace -- cgit v1.1