describeContents() returns CONTENTS_FILE_DESCRIPTOR

Parcelable.describeContents() returns CONTENTS_FILE_DESCRIPTOR when the
contents hold a file descriptor.

Bug: 170677046
Test: aidl_unittests / aidl_integration_test
Change-Id: Idb06123def25c78f7e4ed5317e61ddee8ca39d5d
diff --git a/aidl_language.h b/aidl_language.h
index e8bf546..4b56a5f 100644
--- a/aidl_language.h
+++ b/aidl_language.h
@@ -267,7 +267,7 @@
   virtual ~AidlTypeSpecifier() = default;
 
   // Copy of this type which is not an array.
-  AidlTypeSpecifier ArrayBase() const;
+  const AidlTypeSpecifier& ArrayBase() const;
 
   // Returns the full-qualified name of the base type.
   // int -> int
@@ -319,6 +319,7 @@
   bool is_array_;
   string comments_;
   vector<string> split_name_;
+  mutable shared_ptr<AidlTypeSpecifier> array_base_;
 };
 
 // Returns the universal value unaltered.