[Object] Change Archive::findSym to return an Expected<Optional<Child>>.

As suggested by Rafael in review of D22079 - this was accidentally left out of
the final commit (r275316).

llvm-svn: 275469
diff --git a/llvm/lib/Object/Archive.cpp b/llvm/lib/Object/Archive.cpp
index 4827e58..daf301e 100644
--- a/llvm/lib/Object/Archive.cpp
+++ b/llvm/lib/Object/Archive.cpp
@@ -667,23 +667,20 @@
   return read32le(buf);
 }
 
-Archive::child_iterator Archive::findSym(Error &Err, StringRef name) const {
+Expected<Optional<Archive::Child>> Archive::findSym(StringRef name) const {
   Archive::symbol_iterator bs = symbol_begin();
   Archive::symbol_iterator es = symbol_end();
 
   for (; bs != es; ++bs) {
     StringRef SymName = bs->getName();
     if (SymName == name) {
-      if (auto MemberOrErr = bs->getMember()) {
-        return child_iterator(*MemberOrErr, &Err);
-      } else {
-        ErrorAsOutParameter ErrAsOutParam(Err);
-        Err = errorCodeToError(MemberOrErr.getError());
-        return child_end();
-      }
+      if (auto MemberOrErr = bs->getMember())
+        return Child(*MemberOrErr);
+      else
+        return errorCodeToError(MemberOrErr.getError());
     }
   }
-  return child_end();
+  return Optional<Child>();
 }
 
 bool Archive::hasSymbolTable() const { return !SymbolTable.empty(); }