From 8cd409facf35c74883f0b9ed215ef357cc6d2800 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Fri, 21 Apr 2006 12:20:56 +0200 Subject: [PATCH] widl: Added importlib parsing code. --- tools/widl/parser.y | 3 +++ tools/widl/typelib.c | 7 +++++++ tools/widl/typelib.h | 1 + 3 files changed, 11 insertions(+) diff --git a/tools/widl/parser.y b/tools/widl/parser.y index 7ab2edf8f3..9f288bf8da 100644 --- a/tools/widl/parser.y +++ b/tools/widl/parser.y @@ -251,6 +251,7 @@ imp_statements: {} | imp_statements coclassdef { if (!parse_only) add_coclass($2); } | imp_statements moduledef { if (!parse_only) add_module($2); } | imp_statements statement {} + | imp_statements importlib {} ; int_statements: { $$ = NULL; } @@ -277,6 +278,8 @@ import_start: tIMPORT aSTRING ';' { assert(yychar == YYEMPTY); import: import_start imp_statements aEOF {} ; +importlib: tIMPORTLIB '(' aSTRING ')' { if(!parse_only) add_importlib($3); } + libraryhdr: tLIBRARY aIDENTIFIER { $$ = $2; } ; library_start: attributes libraryhdr '{' { start_typelib($2, $1); diff --git a/tools/widl/typelib.c b/tools/widl/typelib.c index fe32c8fe01..fb8fd665f9 100644 --- a/tools/widl/typelib.c +++ b/tools/widl/typelib.c @@ -278,3 +278,10 @@ void add_typedef(type_t *tdef, var_t *name) LINK(entry, typelib->entry); typelib->entry = entry; } + +void add_importlib(const char *name) +{ + if(!typelib) return; + + warning("importlib is not yet supported.\n"); +} diff --git a/tools/widl/typelib.h b/tools/widl/typelib.h index d6ba5a7d70..0e1ed761ec 100644 --- a/tools/widl/typelib.h +++ b/tools/widl/typelib.h @@ -30,6 +30,7 @@ extern void add_module(type_t *module); extern void add_struct(type_t *structure); extern void add_enum(type_t *enumeration); extern void add_typedef(type_t *tdef, var_t *name); +extern void add_importlib(const char *name); /* Copied from wtypes.h. Not included directly because that would create a * circular dependency (after all, wtypes.h is generated by widl...) */