Add typedef for parcelables with @FixedSize
The typedef is only present in the cpp and ndk backend.
fixed_size is typedefined to be std::true_type when the parcelable
is annotated with @FixedSize and std::false_type when not.
Test: atest aidl_integration_test
Bug: 142326204
Change-Id: I34a1c187beaa603ddf3f75e9cdc9521fd432ab37
diff --git a/generate_ndk.cpp b/generate_ndk.cpp
index 7617351..124d8f4 100644
--- a/generate_ndk.cpp
+++ b/generate_ndk.cpp
@@ -957,6 +957,11 @@
out << "class " << clazz << " {\n";
out << "public:\n";
out.Indent();
+ if (defined_type.IsFixedSize()) {
+ out << "typedef std::true_type fixed_size;\n";
+ } else {
+ out << "typedef std::false_type fixed_size;\n";
+ }
out << "static const char* descriptor;\n";
out << "\n";
for (const auto& variable : defined_type.GetFields()) {