Add MQDescriptorUnsync as a predefined HIDL type.

Bug: 31550963
Test: Used MQDescriptorUnsync in
hardware/interfaces/tests/msgq/1.0/ITestMsgQ.hal, built and
ran the FMQ unit tests.

Change-Id: Ib414d9048fbd3f89cfbbe12d11631716f630979e
diff --git a/hidl-gen_l.ll b/hidl-gen_l.ll
index e2276e7..ce12aa7 100644
--- a/hidl-gen_l.ll
+++ b/hidl-gen_l.ll
@@ -40,6 +40,7 @@
 #include "StringType.h"
 #include "VectorType.h"
 #include "RefType.h"
+#include "PredefinedType.h"
 
 #include "hidl-gen_y.h"
 
@@ -53,7 +54,7 @@
 #define SCALAR_TYPE(kind)                                       \
     do {                                                        \
         yylval->type = new ScalarType(ScalarType::kind);        \
-        return token::SCALAR;                                   \
+        return token::TYPE;                                   \
     } while (0)
 
 #define YY_USER_ACTION yylloc->step(); yylloc->columns(yyleng);
@@ -106,8 +107,11 @@
 "float"			{ SCALAR_TYPE(KIND_FLOAT); }
 "double"		{ SCALAR_TYPE(KIND_DOUBLE); }
 
-"handle"		{ yylval->type = new HandleType; return token::SCALAR; }
-"string"		{ yylval->type = new StringType; return token::SCALAR; }
+"handle"		{ yylval->type = new HandleType; return token::TYPE; }
+"string"		{ yylval->type = new StringType; return token::TYPE; }
+
+"MQDescriptorSync" { yylval->type = new PredefinedType("::android::hardware::MQDescriptorSync"); return token::TYPE; }
+"MQDescriptorUnsync" { yylval->type = new PredefinedType("::android::hardware::MQDescriptorUnsync"); return token::TYPE; }
 
 "("			{ return('('); }
 ")"			{ return(')'); }