widl: Support WinRT activatable attribute parsing.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
146ed693d6
commit
30129c2837
|
@ -320,6 +320,7 @@ static const struct keyword keywords[] = {
|
||||||
*/
|
*/
|
||||||
static const struct keyword attr_keywords[] =
|
static const struct keyword attr_keywords[] =
|
||||||
{
|
{
|
||||||
|
{"activatable", tACTIVATABLE, 1},
|
||||||
{"aggregatable", tAGGREGATABLE, 0},
|
{"aggregatable", tAGGREGATABLE, 0},
|
||||||
{"agile", tAGILE, 1},
|
{"agile", tAGILE, 1},
|
||||||
{"all_nodes", tALLNODES, 0},
|
{"all_nodes", tALLNODES, 0},
|
||||||
|
|
|
@ -166,6 +166,7 @@ static typelib_t *current_typelib;
|
||||||
%token GREATEREQUAL LESSEQUAL
|
%token GREATEREQUAL LESSEQUAL
|
||||||
%token LOGICALOR LOGICALAND
|
%token LOGICALOR LOGICALAND
|
||||||
%token ELLIPSIS
|
%token ELLIPSIS
|
||||||
|
%token tACTIVATABLE
|
||||||
%token tAGGREGATABLE
|
%token tAGGREGATABLE
|
||||||
%token tAGILE
|
%token tAGILE
|
||||||
%token tALLNODES tALLOCATE tANNOTATION
|
%token tALLNODES tALLOCATE tANNOTATION
|
||||||
|
@ -539,6 +540,7 @@ contract_req: decl_spec ',' contract_ver { if ($1->type->type_type != TYPE_APICO
|
||||||
}
|
}
|
||||||
|
|
||||||
attribute: { $$ = NULL; }
|
attribute: { $$ = NULL; }
|
||||||
|
| tACTIVATABLE '(' contract_req ')' { $$ = make_attrp(ATTR_ACTIVATABLE, $3); }
|
||||||
| tAGGREGATABLE { $$ = make_attr(ATTR_AGGREGATABLE); }
|
| tAGGREGATABLE { $$ = make_attr(ATTR_AGGREGATABLE); }
|
||||||
| tANNOTATION '(' aSTRING ')' { $$ = make_attrp(ATTR_ANNOTATION, $3); }
|
| tANNOTATION '(' aSTRING ')' { $$ = make_attrp(ATTR_ANNOTATION, $3); }
|
||||||
| tAPPOBJECT { $$ = make_attr(ATTR_APPOBJECT); }
|
| tAPPOBJECT { $$ = make_attr(ATTR_APPOBJECT); }
|
||||||
|
@ -2162,6 +2164,7 @@ struct allowed_attr
|
||||||
struct allowed_attr allowed_attr[] =
|
struct allowed_attr allowed_attr[] =
|
||||||
{
|
{
|
||||||
/* attr { D ACF M I Fn ARG T En Enm St Un Fi L DI M C AC R <display name> } */
|
/* attr { D ACF M I Fn ARG T En Enm St Un Fi L DI M C AC R <display name> } */
|
||||||
|
/* ATTR_ACTIVATABLE */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, "activatable" },
|
||||||
/* ATTR_AGGREGATABLE */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, "aggregatable" },
|
/* ATTR_AGGREGATABLE */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, "aggregatable" },
|
||||||
/* ATTR_ALLOCATE */ { 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "allocate" },
|
/* ATTR_ALLOCATE */ { 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "allocate" },
|
||||||
/* ATTR_ANNOTATION */ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "annotation" },
|
/* ATTR_ANNOTATION */ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "annotation" },
|
||||||
|
|
|
@ -69,6 +69,7 @@ typedef struct list warning_list_t;
|
||||||
|
|
||||||
enum attr_type
|
enum attr_type
|
||||||
{
|
{
|
||||||
|
ATTR_ACTIVATABLE,
|
||||||
ATTR_AGGREGATABLE,
|
ATTR_AGGREGATABLE,
|
||||||
ATTR_ALLOCATE,
|
ATTR_ALLOCATE,
|
||||||
ATTR_ANNOTATION,
|
ATTR_ANNOTATION,
|
||||||
|
|
Loading…
Reference in New Issue