Object: constize Archive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141448 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/Object/Archive.h b/include/llvm/Object/Archive.h
index c6b6ed0..4f08120 100644
--- a/include/llvm/Object/Archive.h
+++ b/include/llvm/Object/Archive.h
@@ -24,11 +24,11 @@
 class Archive : public Binary {
 public:
   class Child {
-    Archive *Parent;
+    const Archive *Parent;
     StringRef Data;
 
   public:
-    Child(Archive *p, StringRef d) : Parent(p), Data(d) {}
+    Child(const Archive *p, StringRef d) : Parent(p), Data(d) {}
 
     bool operator ==(const Child &other) const {
       return (Parent == other.Parent) && (Data.begin() == other.Data.begin());
@@ -71,8 +71,8 @@
 
   Archive(MemoryBuffer *source, error_code &ec);
 
-  child_iterator begin_children();
-  child_iterator end_children();
+  child_iterator begin_children() const;
+  child_iterator end_children() const;
 
   // Cast methods.
   static inline bool classof(Archive const *v) { return true; }
diff --git a/lib/Object/Archive.cpp b/lib/Object/Archive.cpp
index 80343e3..aeb629b 100644
--- a/lib/Object/Archive.cpp
+++ b/lib/Object/Archive.cpp
@@ -156,14 +156,14 @@
   ec = object_error::success;
 }
 
-Archive::child_iterator Archive::begin_children() {
+Archive::child_iterator Archive::begin_children() const {
   const char *Loc = Data->getBufferStart() + Magic.size();
   size_t Size = sizeof(ArchiveMemberHeader) +
     ToHeader(Loc)->getSize();
   return Child(this, StringRef(Loc, Size));
 }
 
-Archive::child_iterator Archive::end_children() {
+Archive::child_iterator Archive::end_children() const {
   return Child(this, StringRef(0, 0));
 }