[Object] Modify OwningBinary's interface to separate inspection from ownership.

The getBinary and getBuffer method now return ordinary pointers of appropriate
const-ness. Ownership is transferred by calling takeBinary(), which returns a
pair of the Binary and a MemoryBuffer.

llvm-svn: 221003
diff --git a/llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp b/llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp
index 31bbedf..760d83b 100644
--- a/llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp
+++ b/llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp
@@ -326,7 +326,7 @@
     if (EC != errc::no_such_file_or_directory && !error(EC)) {
       OwningBinary<Binary> B = std::move(BinaryOrErr.get());
       ObjectFile *DbgObj =
-          getObjectFileFromBinary(B.getBinary().get(), ArchName);
+          getObjectFileFromBinary(B.getBinary(), ArchName);
       const MachOObjectFile *MachDbgObj =
           dyn_cast<const MachOObjectFile>(DbgObj);
       if (!MachDbgObj) continue;
@@ -350,7 +350,7 @@
   ErrorOr<OwningBinary<Binary>> BinaryOrErr = createBinary(Path);
   if (!error(BinaryOrErr.getError())) {
     OwningBinary<Binary> &B = BinaryOrErr.get();
-    Obj = getObjectFileFromBinary(B.getBinary().get(), ArchName);
+    Obj = getObjectFileFromBinary(B.getBinary(), ArchName);
     if (!Obj) {
       ObjectPair Res = std::make_pair(nullptr, nullptr);
       ObjectPairForPathArch[std::make_pair(Path, ArchName)] = Res;
@@ -369,7 +369,7 @@
         BinaryOrErr = createBinary(DebugBinaryPath);
         if (!error(BinaryOrErr.getError())) {
           OwningBinary<Binary> B = std::move(BinaryOrErr.get());
-          DbgObj = getObjectFileFromBinary(B.getBinary().get(), ArchName);
+          DbgObj = getObjectFileFromBinary(B.getBinary(), ArchName);
           addOwningBinary(std::move(B));
         }
       }