Pretty closing type parameters.
Fixes: 171946195
Test: aidl_unittests
Change-Id: I60fb8b66b7c0f0451c180fd833a99aba97d840eb
diff --git a/parser.cpp b/parser.cpp
index f2b9c55..b96ba3a 100644
--- a/parser.cpp
+++ b/parser.cpp
@@ -48,6 +48,19 @@
return parser;
}
+void Parser::SetTypeParameters(AidlTypeSpecifier* type,
+ std::vector<std::unique_ptr<AidlTypeSpecifier>>* type_args) {
+ if (type->IsArray()) {
+ AIDL_ERROR(type) << "Must specify type parameters (<>) before array ([]).";
+ AddError();
+ }
+ if (!type->SetTypeParameters(type_args)) {
+ AIDL_ERROR(type) << "Can only specify one set of type parameters.";
+ AddError();
+ delete type_args;
+ }
+}
+
bool Parser::Resolve() {
bool success = true;
for (AidlTypeSpecifier* typespec : unresolved_typespecs_) {