[PATCH 11/11] widl: Add async_uuid attribute base support in parser.

Kai Tietz ktietz70 at googlemail.com
Thu Aug 8 11:12:33 CDT 2013


Hi,

this patch adds basic support of lexing/parsing the
async_uuid-attribute.  The "Async" output is part of a different
patch.  A "aync_uuid" marked class is exported in header (with its
uuid) same as the "uuid" one, but to class-name the pre-fix "Async" is
added.  At least that is all I could find out about it for now.

Ok to apply base lexing/scanning support?

Kai

>From f36e7adc7ea2dec81cdd12e5fec0a6cbb4b8aa83 Mon Sep 17 00:00:00 2001
From: Kai Tietz <ktietz70 at googlemail.com>
Date: Thu, 8 Aug 2013 16:48:34 +0200
Subject: [PATCH 11/11] widl: Add async_uuid attribute base support in parser.

---
 tools/widl/parser.y    |    2 ++
 tools/widl/widltypes.h |    1 +
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/tools/widl/parser.y b/tools/widl/parser.y
index 1157839..4f4bb53 100644
--- a/tools/widl/parser.y
+++ b/tools/widl/parser.y
@@ -556,6 +556,7 @@ attribute:                    { $$ = NULL; }
     | tUSESGETLASTERROR            { $$ = make_attr(ATTR_USESGETLASTERROR); }
     | tUSERMARSHAL '(' type ')'        { $$ =
make_attrp(ATTR_USERMARSHAL, $3); }
     | tUUID '(' uuid_string ')'        { $$ = make_attrp(ATTR_UUID, $3); }
+    | tASYNCUUID '(' uuid_string ')'    { $$ =
make_attrp(ATTR_ASYNCUUID, $3); }
     | tV1ENUM                { $$ = make_attr(ATTR_V1ENUM); }
     | tVARARG                { $$ = make_attr(ATTR_VARARG); }
     | tVERSION '(' version ')'        { $$ = make_attrv(ATTR_VERSION, $3); }
@@ -2020,6 +2021,7 @@ struct allowed_attr allowed_attr[] =
     /* ATTR_ANNOTATION */          { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, "annotation" },
     /* ATTR_APPOBJECT */           { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, "appobject" },
     /* ATTR_ASYNC */               { 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, "async" },
+    /* ATTR_ASYNCUUID */           { 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1,
1, 1, 1, "async_uuid" },
     /* ATTR_AUTO_HANDLE */         { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, "auto_handle" },
     /* ATTR_BINDABLE */            { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, "bindable" },
     /* ATTR_BROADCAST */           { 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, "broadcast" },
diff --git a/tools/widl/widltypes.h b/tools/widl/widltypes.h
index 84e4467..efde0b0 100644
--- a/tools/widl/widltypes.h
+++ b/tools/widl/widltypes.h
@@ -70,6 +70,7 @@ enum attr_type
     ATTR_ANNOTATION,
     ATTR_APPOBJECT,
     ATTR_ASYNC,
+    ATTR_ASYNCUUID,
     ATTR_AUTO_HANDLE,
     ATTR_BINDABLE,
     ATTR_BROADCAST,
-- 
1.7.9



More information about the wine-patches mailing list