[PM/AA] Remove two no-op overridden functions that just delegated to the
[oota-llvm.git] / include / llvm / Support / StringSaver.h
index c7a2e8f48e866345e0c16fd2d834495bc99d8484..38fb7bb38339f9133bd5b5d3fe97df772e89fec9 100644 (file)
@@ -18,25 +18,15 @@ namespace llvm {
 
 /// \brief Saves strings in the inheritor's stable storage and returns a stable
 /// raw character pointer.
-class StringSaver {
-protected:
-  ~StringSaver() {}
-  virtual const char *saveImpl(StringRef S);
+class StringSaver final {
+  BumpPtrAllocator &Alloc;
 
 public:
   StringSaver(BumpPtrAllocator &Alloc) : Alloc(Alloc) {}
   const char *save(const char *S) { return save(StringRef(S)); }
-  const char *save(StringRef S) { return saveImpl(S); }
+  const char *save(StringRef S);
   const char *save(const Twine &S) { return save(StringRef(S.str())); }
   const char *save(std::string &S) { return save(StringRef(S)); }
-
-private:
-  BumpPtrAllocator &Alloc;
-};
-
-class BumpPtrStringSaver final : public StringSaver {
-public:
-  BumpPtrStringSaver(BumpPtrAllocator &Alloc) : StringSaver(Alloc) {}
 };
-} // namespace llvm
+}
 #endif