diff options
author | Nick Kledzik <kledzik@apple.com> | 2013-11-21 00:20:10 +0000 |
---|---|---|
committer | Nick Kledzik <kledzik@apple.com> | 2013-11-21 00:20:10 +0000 |
commit | 4761c60eef46a9916b964395c0c68d51da7d3ae0 (patch) | |
tree | 37406aef24c16a5036643fe679d8b8d08cef3dd1 | |
parent | 90bcd114acc383276251a5685b67d26138a6eb83 (diff) | |
download | bcm5719-llvm-4761c60eef46a9916b964395c0c68d51da7d3ae0.tar.gz bcm5719-llvm-4761c60eef46a9916b964395c0c68d51da7d3ae0.zip |
revert r194655
llvm-svn: 195285
-rw-r--r-- | llvm/include/llvm/Support/YAMLTraits.h | 11 | ||||
-rw-r--r-- | llvm/lib/Support/YAMLTraits.cpp | 4 | ||||
-rw-r--r-- | llvm/unittests/Support/YAMLIOTest.cpp | 70 |
3 files changed, 5 insertions, 80 deletions
diff --git a/llvm/include/llvm/Support/YAMLTraits.h b/llvm/include/llvm/Support/YAMLTraits.h index 4d5b3792450..27c1393b3ac 100644 --- a/llvm/include/llvm/Support/YAMLTraits.h +++ b/llvm/include/llvm/Support/YAMLTraits.h @@ -18,7 +18,6 @@ #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" @@ -318,7 +317,7 @@ public: 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; @@ -703,10 +702,8 @@ public: // 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: - virtual bool outputting() const; + virtual bool outputting(); 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(); - 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(); diff --git a/llvm/lib/Support/YAMLTraits.cpp b/llvm/lib/Support/YAMLTraits.cpp index 599a369558d..c32cbda83a8 100644 --- a/llvm/lib/Support/YAMLTraits.cpp +++ b/llvm/lib/Support/YAMLTraits.cpp @@ -65,7 +65,7 @@ void Input::HNode::anchor() {} void Input::EmptyHNode::anchor() {} void Input::ScalarHNode::anchor() {} -bool Input::outputting() const { +bool Input::outputting() { return false; } @@ -406,7 +406,7 @@ Output::Output(raw_ostream &yout, void *context) Output::~Output() { } -bool Output::outputting() const { +bool Output::outputting() { return true; } diff --git a/llvm/unittests/Support/YAMLIOTest.cpp b/llvm/unittests/Support/YAMLIOTest.cpp index 2b033b2f301..07d70459fb8 100644 --- a/llvm/unittests/Support/YAMLIOTest.cpp +++ b/llvm/unittests/Support/YAMLIOTest.cpp @@ -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 |