Clean up ArrayType.cpp

mSizeComments are removed
mSizes are now a vector of ConstantExpression's

Bug: 32559427 clean up hidl-gen
Bug: 32592564 Remove extraneous comments from array type's sizes.

Test: hidl_test
Test: make hidl_test_java
Change-Id: I2a0dbf7e31a425ce851c9be3b413accdfcb79789
diff --git a/ConstantExpression.cpp b/ConstantExpression.cpp
index 9c98046..06edf0c 100644
--- a/ConstantExpression.cpp
+++ b/ConstantExpression.cpp
@@ -169,10 +169,11 @@
     *this = other;
 }
 
-/* Copy constructor, with the expr overriden. */
+/* Copy constructor, with the expr overriden and treated non-trivial */
 ConstantExpression::ConstantExpression(const ConstantExpression& other, std::string expr) {
     *this = other;
     mExpr = expr;
+    mTrivialDescription = false;
 }
 
 ConstantExpression& ConstantExpression::operator=(const ConstantExpression& other) {
@@ -180,12 +181,13 @@
     mValueKind = other.mValueKind;
     mValue = other.mValue;
     mExpr = other.mExpr;
+    mTrivialDescription = other.mTrivialDescription;
     return *this;
 }
 
 /* Literals. */
 ConstantExpression::ConstantExpression(const char *value)
-        : mExpr(value), mType(kConstExprLiteral) {
+        : mExpr(value), mType(kConstExprLiteral), mTrivialDescription(true) {
     const char* head = value, *tail = head + strlen(value) - 1;
     bool isLong = false, isUnsigned = false;
     bool isHex = (value[0] == '0' && (value[1] == 'x' || value[1] == 'X'));
@@ -333,6 +335,10 @@
     return mExpr;
 }
 
+bool ConstantExpression::descriptionIsTrivial() const {
+    return mTrivialDescription;
+}
+
 std::string ConstantExpression::value() const {
     return rawValue(mValueKind);
 }