Alexandre Julliard
29e20b869c
widl: Replace write_name() by get_name() to make the code more readable.
2008-08-30 11:15:04 +02:00
Rob Shearman
033cade616
widl: Consolidate writing of COM and dispatch interfaces into one function to remove duplicated code.
...
Split up the writing into start and end to eventually support the style
MIDL uses where it writes declared types, etc. between the start and end
of the interface.
Make internal header functions take the file pointer to print to.
Don't write interface IDs for non-object interfaces and always write
handle declarations even if the interface has no methods, like MIDL does.
2008-05-01 18:11:26 +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
66fa9a714e
widl: Create a statement object for import statements.
...
Move the writing of include directives into the generated header into
header.c.
2008-04-25 12:10:34 +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
80ab2a7c6d
widl: Move expression functions to a new file, expr.c.
2008-04-22 13:04:58 +02:00
Rob Shearman
c46fcfb356
widl: Automatically add "handle_t IDL_handle" parameter to functions with no explicit handle specified whose containing interface has the explicit_handle attribute.
2008-04-21 13:36:19 +02:00
Rob Shearman
59556de0c1
widl: Add support for generic binding handles.
2008-03-27 17:33:02 +01:00
Rob Shearman
8a0cb2b5c5
widl: Use is_string_type for detecting strings in write_typeformatstring_var to make it consistent with write_remoting_arg.
...
Fix the is_string_type function used for detecting strings by only
examining aliases instead of both aliases and pointers. This is due to
the requirement that pointers to strings be handled as pointers and so
not detected as strings.
2008-03-27 17:32:58 +01:00
Dan Hipschman
2d7b1f18b1
widl: Allow is_string_type to work for typedef'd types.
2008-02-22 12:04:26 +01:00
Dan Hipschman
8d15820f79
widl: Handle pointers to conformant arrays (e.g., "[size_is(, n)] int **p; ").
2007-11-05 13:24:37 +01:00
Dan Hipschman
ea7ab4da66
widl: Add a --local-stubs option.
2007-10-31 12:39:54 +01:00
Dan Hipschman
f173addbef
widl: Use new functions need_proxy and need_stub to clean up code and avoid generating unnecessary files.
2007-10-16 11:03:49 +02:00
Dan Hipschman
32a2477ef5
widl: Add a declonly argument to write_type_left.
2007-10-03 10:09:31 +02:00
Rob Shearman
2055e636ae
widl: Generate client and server code for using context handles.
2007-09-28 10:59:49 +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
978b4d4f4e
widl: Represent arrays with type_t.
2007-06-06 12:13:16 +02:00
Dan Hipschman
f5baddf88a
widl: Replace get_name with a field reference.
2007-06-06 12:12:36 +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
e714c89d2f
widl: Add --prefix-* options (take 3).
2007-04-26 15:47:37 +02:00
Alexandre Julliard
3c2a9f5df8
widl: size_is and length_is are expression lists now.
2007-02-06 15:59:24 +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
e998590557
widl: Convert attribute lists to standard Wine lists.
2007-01-22 14:20:36 +01:00
Dan Hipschman
c117a20cdb
widl: Use type_t for typedefs, not var_t. Simplify representation.
2006-09-07 10:20:41 +02:00
Dan Hipschman
df91150e10
widl: Generate GUID (infile_i.c) files.
2006-08-04 13:25:37 +02:00
Dan Hipschman
c67b19b4f4
widl: Fold class_t into type_t.
2006-07-29 11:54:09 +02:00
Robert Shearman
996c4f1f93
widl: Support coclass forward declarations.
2006-06-07 11:47:21 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Eric Kohl
12d4d9c229
widl: Implement support for ref pointers to strings.
2006-03-30 16:24:35 +02:00
Robert Shearman
4e40675032
widl: Make 'attrs' field of type_t const.
2006-02-07 12:32:57 +01:00
Robert Shearman
f1bb0a474b
widl: Yet more const attributes.
2006-02-07 12:31:43 +01:00
Robert Shearman
362d42e082
widl: Fix the detection of conformant and pointer structs.
2006-01-24 11:11:56 +01:00
Robert Shearman
ae94c2207f
widl: Export the bracket adding functionality of do_write_expr outside
...
of header.c.
2005-12-31 13:18:49 +01:00
Robert Shearman
4acabfd719
widl: Out parameters.
...
Marshall and unmarshall out parameters for servers and clients
respectively.
Write out array components for declared local variables in generated
server code.
2005-12-26 13:21:38 +01:00
Robert Shearman
7f2419ceed
widl: Add some const attributes.
2005-12-26 13:11:33 +01:00
Robert Shearman
12159aec96
widl: Support explicit binding handles.
2005-12-12 12:14:03 +01:00
Robert Shearman
d026458860
- Output prototypes for user marshal functions at the end of the
...
header and by use.
- Add support for range and ptr attributes and for the "small" base
type.
2005-09-12 20:13:40 +00:00
Robert Shearman
4e7628ffb1
- The header global variable is NULL when not generating a header so
...
don't try to use it in functions that may be called by the client
code.
- Make the functions that take char * take const char *.
2005-08-03 14:55:22 +00:00
Jacek Caban
e6150fe206
Write uuid of library in header.
2005-03-05 10:49:22 +00:00
Jacek Caban
2161b36ac4
- Added creation of dispinterface header.
...
- Added creation of coclass header.
- Added messages when fopen fails.
2004-10-11 19:54:37 +00:00
Filip Navara
19fd305a7e
Make widl compile without most of Windows/Wine headers, so it can be
...
reused by other projects.
2004-04-22 03:40:01 +00:00
Ove Kaaven
5d267d7372
Added rules to parse library, coclass, dispinterface, and module
...
definitions, and a number of attributes, and cleaned up a few things.
Started on a typelib generation framework.
2004-01-07 04:21:27 +00:00
Alexandre Julliard
ba5a968157
Added partial support for function pointers.
2003-09-03 20:16:24 +00:00
Ove Kaaven
e30a96776a
Parse the NOT operator, the [idempotent] attribute, and the handle_t
...
and error_status_t types. Improved some parsing rules to get rid of
the LINK_LAST and LINK_SAFE macros. Enclose generated .h file within
an extern "C" (for C++). Output function prototypes for regular RPC
interfaces. Fixed a couple of bugs.
2002-12-03 19:12:07 +00:00
Ove Kaaven
34e2f87f8f
Handle encapsulated unions in a cleaner (and less buggy) way. Emit the
...
names "DUMMYUNIONNAME" and "DUMMYSTRUCTNAME" for anonymous unions and
structs. Support const and extern definitions. Retain tokens (and
whether numbers are hex or not) used for computing constant
expressions, so that the full expression can be written to the header
file instead of the computed integer result of the expression. Parse
the sizeof() operator. Compute and remember constant definitions and
enum values so they can be used in expressions. Improved identifier
lookup speed. Fixed some bugs.
2002-11-30 01:49:46 +00:00
Alexandre Julliard
7d4ee77cab
Merged the IDL compiler written by Ove Kaaven.
2002-07-16 03:20:45 +00:00