nested types: generic types can't have nested types.

Bug: 201639797
Test: aidl_unittests
Change-Id: I5cf974681ffa34bfe8eda7312217d3b1ce97bc04
diff --git a/aidl_language.cpp b/aidl_language.cpp
index 71c79fb..18c2710 100644
--- a/aidl_language.cpp
+++ b/aidl_language.cpp
@@ -1023,6 +1023,12 @@
     success = success && t->CheckValid(typenames);
   }
 
+  if (auto parameterizable = AsParameterizable();
+      parameterizable && parameterizable->IsGeneric() && !GetNestedTypes().empty()) {
+    AIDL_ERROR(this) << "Generic types can't have nested types.";
+    return false;
+  }
+
   std::set<std::string> nested_type_names;
   for (const auto& t : GetNestedTypes()) {
     bool duplicated = !nested_type_names.emplace(t->GetName()).second;