Dan Hipschman
6725c5d756
widl: Implement type redefinition checks.
...
This allows widl to catch type redefinitions and report an error, like MIDL.
However, this does a better job than MIDL since it also reports the location
of the originial definition, like GCC.
2008-07-02 11:40:50 +02:00
Rob Shearman
e71219e66e
widl: Add the parsing of storage classes into declaration-specifiers.
...
Support the static and register keywords.
This consolidates externdef and constdef rules into one declaration rule.
2008-04-30 16:59:47 +02:00
Rob Shearman
d64e4c26ee
widl: Prepare for supporting storage classes in declaration statements.
...
Return a decl_spec_t structure from decl_spec rules so that the storage
class and type qualifiers can both be returned.
2008-04-30 16:59:30 +02:00
Rob Shearman
4f8f89e6bb
widl: Add support for "inline" on function definitions.
...
Fix applying calling convention to function type.
2008-04-30 11:31:21 +02:00
Rob Shearman
146ef11b77
widl: Keep const attributes applied to pointers when writing out the type.
...
Use an attribute to store the const qualifier for the pointer and type.
Allow multiple type-qualifiers to be applied to a type by adding a
declaration-specifier rule that encompasses type-qualifiers and types.
2008-04-30 11:30:55 +02:00
Rob Shearman
33c891e694
widl: Add support for string literals and wide-string literals in expressions.
2008-04-25 12:10:24 +02:00
Rob Shearman
21cd6865c8
widl: Rename pident to declarator and parse the array declarations as part of declarators.
...
This allows arrays to be used in typedefs and const statements.
2008-04-25 12:09:56 +02:00
Rob Shearman
1fcc2084e8
widl: Add typedef statements to the statement lists.
2008-04-24 22:32:47 +02:00
Rob Shearman
df0e38c067
widl: Create a list of statements in the whole IDL file, instead of just a list of interfaces.
2008-04-24 22:32:20 +02:00
Rob Shearman
ec81a78f01
widl: Construct the pointer chain while parsing pointers, rather than storing a ptr_level.
...
This method is more flexible and somewhat simpler.
2008-04-24 22:31:37 +02:00
Rob Shearman
02f5412a53
widl: Implement lcid property on library declarations.
2008-04-24 22:31:20 +02:00
Rob Shearman
80ab2a7c6d
widl: Move expression functions to a new file, expr.c.
2008-04-22 13:04:58 +02:00
Rob Shearman
95ac84e20b
widl: Remove EXPR_MEMBERPTR and implement it using EXPR_PPTR and EXPR_MEMBER instead.
2008-04-22 13:04:19 +02:00
Rob Shearman
cc3682cf12
widl: Add support for comparison, exclusive or, logical not and positive operators in expressions.
2008-04-22 13:04:03 +02:00
Rob Shearman
ea9932557a
widl: Add support for '%' operator in expressions.
2008-04-21 13:36:19 +02:00
Rob Shearman
d27c7601e5
widl: Add support for arrays in expressions.
2008-04-21 13:36:19 +02:00
Rob Shearman
03d5017416
widl: Add support for "->" and "." operators in expressions.
2008-04-21 13:36:19 +02:00
Rob Shearman
15612e60fd
widl: Check that fields in structures and unions referenced by non-local functions can be marshalled and that their attributes are consistent.
2008-04-21 13:36:19 +02:00
Rob Shearman
0053599688
widl: Add functions to print an error or warning message using location information to enable these to be printed accurately when a check is done after an element is parsed.
...
Add location information to variable automatically, since this is will
be useful for type checking of arguments.
2008-04-14 13:39:42 +02:00
Rob Shearman
56e2553eff
widl: Add support for the broadcast and idempotent operation attributes.
2008-04-14 13:39:28 +02:00
Rob Shearman
abdc08e013
widl: Make the attrs parameter passed to start_typelib const.
2008-04-14 13:39:02 +02:00
Rob Shearman
d97f3205ba
widl: Support parsing calling conventions for function identifiers.
...
Support automatically setting the calling convention to
STDMETHODCALLTYPE if it is part of an object interface.
Write out the calling convention in write_type_v.
2008-04-02 19:53:23 +02:00
Rob Shearman
6a0c5a4fe9
widl: Store function and function pointer types completely within type_t type.
2008-04-02 19:53:09 +02:00
Rob Shearman
a04b150839
widl: Add a function to get the return type of a parsed function.
...
This clarifies its use in code and makes it simpler to change the way
functions are parsed into types.
2008-04-02 19:52:49 +02:00
Rob Shearman
a110cffd95
widl: Parse typedefs of function pointers.
2008-04-01 11:29:23 +02:00
Rob Shearman
59556de0c1
widl: Add support for generic binding handles.
2008-03-27 17:33:02 +01:00
Rob Shearman
15af19c6ec
widl: Add support for strict context handles.
2008-01-07 12:32:21 +01:00
Rob Shearman
72d9569cc4
widl: Support the address-of operator in expressions.
2007-12-10 14:40:29 +01:00
Dan Hipschman
2226ddcadf
widl: Keep track of every allocated type_t to simplify set_all_tfswrite.
2007-10-09 17:52:45 +02:00
Dan Hipschman
24ce74e96a
widl: Implement pointer_default functionality.
2007-10-09 17:52:45 +02:00
Rob Shearman
a2fedc3769
widl: Write prototypes for context handle rundown rountines into generated header files.
2007-09-28 10:59:32 +02:00
Dan Hipschman
8df79f0c99
widl: Implement pointer descriptions for complex structures.
2007-09-19 11:38:28 +02:00
Alexandre Julliard
40dda77c52
widl: Added support for floating-point constants.
2007-07-17 14:12:18 +02:00
Dan Hipschman
c0982b42c5
widl: Handle wire_marshal types.
2007-06-14 11:35:44 +02:00
Dan Hipschman
88c8128704
widl: Simplify correlation descriptor code.
2007-06-12 11:13:30 +02:00
Dan Hipschman
4e22899e13
widl: Fix incomplete struct/union typedef bug.
2007-06-08 11:57:15 +02:00
Dan Hipschman
978b4d4f4e
widl: Represent arrays with type_t.
2007-06-06 12:13:16 +02:00
Dan Hipschman
8f7a5d63ec
widl: Allow types that reference themselves.
2007-05-25 19:36:12 +02:00
Dan Hipschman
9c30da77ba
widl: Shrink type_t structure.
2007-05-25 19:35:49 +02:00
Dan Hipschman
c5aaadc4c8
widl: Lay framework for unions with simple unions working.
2007-05-21 12:40:58 +02:00
Dan Hipschman
ef433e2792
widl: Remove var_t's ptr_level field and start write_pointers.
2007-05-11 12:33:27 +02:00
Dan Hipschman
d676d3be5f
widl: Get rid of the tname field of var_t, simplify code.
2007-05-01 12:37:18 +02:00
Dan Hipschman
1ecbb01617
widl: Get rid of the typeref_t structure, simplify code.
2007-05-01 12:37:08 +02:00
Alexandre Julliard
cc9a07f194
widl: Add a string list type and use it for the endpoint attribute.
2007-02-07 17:54:33 +01:00
Alexandre Julliard
43ac6ed995
widl: Convert expression lists to standard Wine lists.
...
Add a specific type for array dimensions.
2007-01-22 14:31:40 +01:00
Alexandre Julliard
eed74e4e4a
widl: Convert variable lists to standard Wine lists.
2007-01-22 14:26:12 +01:00
Alexandre Julliard
58827d026b
widl: Convert function lists to standard Wine lists.
2007-01-22 14:23:08 +01:00
Alexandre Julliard
e262933bdf
widl: Convert interface lists to standard Wine lists.
2007-01-22 14:21:56 +01:00
Alexandre Julliard
e998590557
widl: Convert attribute lists to standard Wine lists.
2007-01-22 14:20:36 +01:00
Alexandre Julliard
5b0bf5dc76
widl: Convert typelib lists to standard Wine lists.
2007-01-22 14:10:30 +01:00