Add getHashChain() to IBase.

Each interface has a getHashChain() method that
returns the hash of all .hal files from the rtti
of the interface up to IBase.

Test: hidl_test

Bug: 36602587
Change-Id: I13f2e54bd45593c70064dff05fa934d5cd01996a
diff --git a/ArrayType.cpp b/ArrayType.cpp
index 8b75c94..3d34a9f 100644
--- a/ArrayType.cpp
+++ b/ArrayType.cpp
@@ -96,6 +96,16 @@
     CHECK(!"Should not be here");
 }
 
+std::string ArrayType::getInternalDataCppType() const {
+    std::string result = mElementType->getCppStackType();
+    for (size_t i = 0; i < mSizes.size(); ++i) {
+        result += "[";
+        result += mSizes[i]->cppValue();
+        result += "]";
+    }
+    return result;
+}
+
 std::string ArrayType::getJavaType(bool forInitializer) const {
     std::string base =
         mElementType->getJavaType(forInitializer);