widl: Support WinRT flags 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
33608a2c9c
commit
1a62712e25
|
@ -362,6 +362,7 @@ static const struct keyword attr_keywords[] =
|
||||||
{"exclusiveto", tEXCLUSIVETO, 1},
|
{"exclusiveto", tEXCLUSIVETO, 1},
|
||||||
{"explicit_handle", tEXPLICITHANDLE, 0},
|
{"explicit_handle", tEXPLICITHANDLE, 0},
|
||||||
{"fault_status", tFAULTSTATUS, 0},
|
{"fault_status", tFAULTSTATUS, 0},
|
||||||
|
{"flags", tFLAGS, 1},
|
||||||
{"force_allocate", tFORCEALLOCATE, 0},
|
{"force_allocate", tFORCEALLOCATE, 0},
|
||||||
{"free", tFREE, 0},
|
{"free", tFREE, 0},
|
||||||
{"handle", tHANDLE, 0},
|
{"handle", tHANDLE, 0},
|
||||||
|
|
|
@ -201,6 +201,7 @@ static typelib_t *current_typelib;
|
||||||
%token tEXPLICITHANDLE tEXTERN
|
%token tEXPLICITHANDLE tEXTERN
|
||||||
%token tFALSE
|
%token tFALSE
|
||||||
%token tFASTCALL tFAULTSTATUS
|
%token tFASTCALL tFAULTSTATUS
|
||||||
|
%token tFLAGS
|
||||||
%token tFLOAT tFORCEALLOCATE
|
%token tFLOAT tFORCEALLOCATE
|
||||||
%token tHANDLE
|
%token tHANDLE
|
||||||
%token tHANDLET
|
%token tHANDLET
|
||||||
|
@ -576,6 +577,7 @@ attribute: { $$ = NULL; }
|
||||||
$$ = make_attrp(ATTR_EXCLUSIVETO, $3->type); }
|
$$ = make_attrp(ATTR_EXCLUSIVETO, $3->type); }
|
||||||
| tEXPLICITHANDLE { $$ = make_attr(ATTR_EXPLICIT_HANDLE); }
|
| tEXPLICITHANDLE { $$ = make_attr(ATTR_EXPLICIT_HANDLE); }
|
||||||
| tFAULTSTATUS { $$ = make_attr(ATTR_FAULTSTATUS); }
|
| tFAULTSTATUS { $$ = make_attr(ATTR_FAULTSTATUS); }
|
||||||
|
| tFLAGS { $$ = make_attr(ATTR_FLAGS); }
|
||||||
| tFORCEALLOCATE { $$ = make_attr(ATTR_FORCEALLOCATE); }
|
| tFORCEALLOCATE { $$ = make_attr(ATTR_FORCEALLOCATE); }
|
||||||
| tHANDLE { $$ = make_attr(ATTR_HANDLE); }
|
| tHANDLE { $$ = make_attr(ATTR_HANDLE); }
|
||||||
| tHELPCONTEXT '(' expr_int_const ')' { $$ = make_attrp(ATTR_HELPCONTEXT, $3); }
|
| tHELPCONTEXT '(' expr_int_const ')' { $$ = make_attrp(ATTR_HELPCONTEXT, $3); }
|
||||||
|
@ -2259,6 +2261,7 @@ struct allowed_attr allowed_attr[] =
|
||||||
/* ATTR_EXCLUSIVETO */ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "exclusive_to" },
|
/* ATTR_EXCLUSIVETO */ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "exclusive_to" },
|
||||||
/* ATTR_EXPLICIT_HANDLE */ { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "explicit_handle" },
|
/* ATTR_EXPLICIT_HANDLE */ { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "explicit_handle" },
|
||||||
/* ATTR_FAULTSTATUS */ { 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "fault_status" },
|
/* ATTR_FAULTSTATUS */ { 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "fault_status" },
|
||||||
|
/* ATTR_FLAGS */ { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "flags" },
|
||||||
/* ATTR_FORCEALLOCATE */ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "force_allocate" },
|
/* ATTR_FORCEALLOCATE */ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "force_allocate" },
|
||||||
/* ATTR_HANDLE */ { 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "handle" },
|
/* ATTR_HANDLE */ { 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "handle" },
|
||||||
/* ATTR_HELPCONTEXT */ { 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, "helpcontext" },
|
/* ATTR_HELPCONTEXT */ { 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, "helpcontext" },
|
||||||
|
|
|
@ -106,6 +106,7 @@ enum attr_type
|
||||||
ATTR_EXCLUSIVETO,
|
ATTR_EXCLUSIVETO,
|
||||||
ATTR_EXPLICIT_HANDLE,
|
ATTR_EXPLICIT_HANDLE,
|
||||||
ATTR_FAULTSTATUS,
|
ATTR_FAULTSTATUS,
|
||||||
|
ATTR_FLAGS,
|
||||||
ATTR_FORCEALLOCATE,
|
ATTR_FORCEALLOCATE,
|
||||||
ATTR_HANDLE,
|
ATTR_HANDLE,
|
||||||
ATTR_HELPCONTEXT,
|
ATTR_HELPCONTEXT,
|
||||||
|
|
Loading…
Reference in New Issue