[llvm] r183043 - Use just a ArrayRef<uint8_t> to store both hex string and binary data.

Rafael Espindola rafael.espindola at gmail.com
Fri May 31 14:03:52 PDT 2013


Author: rafael
Date: Fri May 31 16:03:51 2013
New Revision: 183043

URL: http://llvm.org/viewvc/llvm-project?rev=183043&view=rev
Log:
Use just a ArrayRef<uint8_t> to store both hex string and binary data.

Modified:
    llvm/trunk/include/llvm/Object/COFFYAML.h

Modified: llvm/trunk/include/llvm/Object/COFFYAML.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/COFFYAML.h?rev=183043&r1=183042&r2=183043&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Object/COFFYAML.h (original)
+++ llvm/trunk/include/llvm/Object/COFFYAML.h Fri May 31 16:03:51 2013
@@ -40,21 +40,21 @@ namespace COFFYAML {
   /// string. Using this avoid having to allocate temporary strings.
   /// FIXME: not COFF specific.
   class BinaryRef {
-    ArrayRef<uint8_t> BinaryData;
-    StringRef HexData;
+    ArrayRef<uint8_t> Data;
     bool isBinary;
   public:
-    BinaryRef(ArrayRef<uint8_t> BinaryData)
-        : BinaryData(BinaryData), isBinary(true) {}
-    BinaryRef(StringRef HexData) : HexData(HexData), isBinary(false) {}
+    BinaryRef(ArrayRef<uint8_t> Data) : Data(Data), isBinary(true) {}
+    BinaryRef(StringRef Data)
+        : Data(reinterpret_cast<const uint8_t *>(Data.data()), Data.size()),
+          isBinary(false) {}
     BinaryRef() : isBinary(false) {}
     StringRef getHex() const {
       assert(!isBinary);
-      return HexData;
+      return StringRef(reinterpret_cast<const char*>(Data.data()), Data.size());
     }
     ArrayRef<uint8_t> getBinary() const {
       assert(isBinary);
-      return BinaryData;
+      return Data;
     }
   };
 





More information about the llvm-commits mailing list