revert r194655
authorNick Kledzik <kledzik@apple.com>
Thu, 21 Nov 2013 00:20:10 +0000 (00:20 +0000)
committerNick Kledzik <kledzik@apple.com>
Thu, 21 Nov 2013 00:20:10 +0000 (00:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195285 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/YAMLTraits.h
lib/Support/YAMLTraits.cpp
unittests/Support/YAMLIOTest.cpp

index 4d5b3792450a25ab66175d9cebca0927e675b37d..27c1393b3ac6a936f5b2842d651eb3d0e2093b15 100644 (file)
@@ -18,7 +18,6 @@
 #include "llvm/ADT/StringRef.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/ADT/Twine.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/ADT/Twine.h"
-#include "llvm/Support/Casting.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/SourceMgr.h"
 #include "llvm/Support/YAMLParser.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/SourceMgr.h"
 #include "llvm/Support/YAMLParser.h"
@@ -318,7 +317,7 @@ public:
   IO(void *Ctxt=NULL);
   virtual ~IO();
 
   IO(void *Ctxt=NULL);
   virtual ~IO();
 
-  virtual bool outputting() const = 0;
+  virtual bool outputting() = 0;
 
   virtual unsigned beginSequence() = 0;
   virtual bool preflightElement(unsigned, void *&) = 0;
 
   virtual unsigned beginSequence() = 0;
   virtual bool preflightElement(unsigned, void *&) = 0;
@@ -703,10 +702,8 @@ public:
   // Check if there was an syntax or semantic error during parsing.
   llvm::error_code error();
 
   // Check if there was an syntax or semantic error during parsing.
   llvm::error_code error();
 
-  static bool classof(const IO *io) { return !io->outputting(); }
-
 private:
 private:
-  virtual bool outputting() const;
+  virtual bool outputting();
   virtual bool mapTag(StringRef, bool);
   virtual void beginMapping();
   virtual void endMapping();
   virtual bool mapTag(StringRef, bool);
   virtual void beginMapping();
   virtual void endMapping();
@@ -831,9 +828,7 @@ public:
   Output(llvm::raw_ostream &, void *Ctxt=NULL);
   virtual ~Output();
 
   Output(llvm::raw_ostream &, void *Ctxt=NULL);
   virtual ~Output();
 
-  static bool classof(const IO *io) { return io->outputting(); }
-  
-  virtual bool outputting() const;
+  virtual bool outputting();
   virtual bool mapTag(StringRef, bool);
   virtual void beginMapping();
   virtual void endMapping();
   virtual bool mapTag(StringRef, bool);
   virtual void beginMapping();
   virtual void endMapping();
index 599a369558d4a9c01f6f9518950ea75b9f564198..c32cbda83a8cebc3d800f94612f1bdc5ddae39a1 100644 (file)
@@ -65,7 +65,7 @@ void Input::HNode::anchor() {}
 void Input::EmptyHNode::anchor() {}
 void Input::ScalarHNode::anchor() {}
 
 void Input::EmptyHNode::anchor() {}
 void Input::ScalarHNode::anchor() {}
 
-bool Input::outputting() const {
+bool Input::outputting() {
   return false;
 }
 
   return false;
 }
 
@@ -406,7 +406,7 @@ Output::Output(raw_ostream &yout, void *context)
 Output::~Output() {
 }
 
 Output::~Output() {
 }
 
-bool Output::outputting() const {
+bool Output::outputting() {
   return true;
 }
 
   return true;
 }
 
index 2b033b2f3017d8530972b2739822e45462be2912..07d70459fb89c8447aeded18fdad2821082bbf97 100644 (file)
@@ -1115,76 +1115,6 @@ TEST(YAMLIO, TestTaggedDocumentsWriteAndRead) {
 }
 
 
 }
 
 
-//===----------------------------------------------------------------------===//
-//  Test dyn_cast<> on IO object 
-//===----------------------------------------------------------------------===//
-
-struct DynCast {
-  int value;
-};
-typedef std::vector<DynCast> DynCastSequence;
-
-LLVM_YAML_IS_SEQUENCE_VECTOR(DynCast)
-
-namespace llvm {
-namespace yaml {
-  template <>
-  struct MappingTraits<DynCast> {
-    static void mapping(IO &io, DynCast& info) {
-      // Change 10 to 13 when writing yaml.
-      if (Output *output = dyn_cast<Output>(&io)) {
-        (void)output;
-        if (info.value == 10)
-          info.value = 13;
-      }
-      io.mapRequired("value", info.value);
-      // Change 20 to 23 when parsing yaml.
-      if (Input *input = dyn_cast<Input>(&io)) {
-        (void)input;
-        if (info.value == 20)
-          info.value = 23;
-      }
-    }
-  };
-}
-}
-
-//
-// Test writing then reading back a sequence of mappings
-//
-TEST(YAMLIO, TestDynCast) {
-  std::string intermediate;
-  {
-    DynCast entry1;
-    entry1.value = 10;
-    DynCast entry2;
-    entry2.value = 20;
-    DynCast entry3;
-    entry3.value = 30;
-    DynCastSequence seq;
-    seq.push_back(entry1);
-    seq.push_back(entry2);
-    seq.push_back(entry3);
-
-    llvm::raw_string_ostream ostr(intermediate);
-    Output yout(ostr);
-    yout << seq;
-  }
-
-  {
-    Input yin(intermediate);
-    DynCastSequence seq2;
-    yin >> seq2;
-
-    EXPECT_FALSE(yin.error());
-    EXPECT_EQ(seq2.size(), 3UL);
-    EXPECT_EQ(seq2[0].value, 13);   // Verify changed to 13.
-    EXPECT_EQ(seq2[1].value, 23);   // Verify changed to 23.
-    EXPECT_EQ(seq2[2].value, 30);   // Verify stays same.
-  }
-}
-
-
 
 //===----------------------------------------------------------------------===//
 //  Test error handling
 
 //===----------------------------------------------------------------------===//
 //  Test error handling