108 Commits

Author SHA1 Message Date
Rob Shearman
e0dd72162a widl: Remove redundant code.
dispinterfaces now have a type of RPC_FC_IP instead of 0, so this code
will never be reached.
2008-09-11 11:45:33 +02:00
Rob Shearman
39978c68f9 widl: Fix the writing typedefs to dispinterfaces and pointers to interfaces.
Currently, stdole2.tlb isn't generated correctly and causes "<failed>"
to appear instead of "FontEvents" in the IFontEventsDisp typedef when
viewed with oleview.

The problem is that the typedef should just generate a VT_USERDEFINED
record, but ends up generating a VT_PTR -> VT_USERDEFINED. So remove
the extra writing of VT_PTR entries.

Fix the skipped pointers checks in encode_type and encode_type to
specifically detect VT_UNKNOWN and VT_DISPATCH types which don't need
one level of pointers, whereas interfaces encoded as VT_USERDEFINED
do.
2008-09-10 10:55:34 +02:00
Austin English
bfc34a3c9c widl: Remove unreached code (Smatch). 2008-09-10 10:55:11 +02:00
Simon Richter
b5614f763f widl: Write string lengths in host endianness.
Type libraries are currently parsed in host endianness, so byte arrays
that are going to be interpreted as integers need to be written in the
appropriate byte order.
2008-06-18 15:21:48 +02:00
Rob Shearman
80be9df3a7 widl: Add typedefs to typelibs which have the public or uuid attributes, not any other attribute. 2008-04-28 13:28:16 +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
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
02f5412a53 widl: Implement lcid property on library declarations. 2008-04-24 22:31:20 +02:00
Rob Shearman
f728fe168b widl: Write out TYPEFLAG, FUNCFLAG and VARFLAG flags for all attribute we currently parse.
Add FIXMEs for the remaining ones and remove the warning for 
unimplemented attribute types since we now support all the attributes 
that we parse.
2008-04-14 13:39:35 +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
Michael Stefaniuc
5c9d1223db widl: Remove local variable shadowing in add_func_desc(). 2008-03-12 11:59:12 +01:00
Colin Finck
318e61535c widl: Write the TLB file in binary mode, so the line endings won't be changed. 2008-02-08 11:01:09 +01:00
Jacek Caban
2118aeca16 widl: Ignore ATTR_LOCAL in create_msft_typeinfo. 2008-02-04 11:30:30 +01:00
Paul Millar
17e934669e widl: Add support for overriding recorded time, allowing binary-identical compilation. 2007-10-29 12:08:10 +01:00
Dan Hipschman
d82b384859 widl: Handle LPSTR in typelibs. 2007-08-28 11:56:30 +02:00
Jacek Caban
ae0beb224b widl: Reorder switch cases to keep alphabetical order. 2007-07-30 14:12:45 +02:00
Jacek Caban
8fd9716985 widl: Added displaybind attribute handling. 2007-07-30 14:12:45 +02:00
Jacek Caban
1ad39a38e5 widl: Added nonbrowsable attribute handling. 2007-07-30 14:12:45 +02:00
Jacek Caban
4413e8c6f8 widl: Use correct bytes in write_value. 2007-07-30 14:12:45 +02:00
Misha Koshelev
21fcb00af8 widl: Add support for vararg attribute. 2007-06-07 13:00:09 +02:00
Dan Hipschman
978b4d4f4e widl: Represent arrays with type_t. 2007-06-06 12:13:16 +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
234855f059 widl: Remove dead code in write_msft.c. 2007-05-10 12:57:06 +02:00
Dan Hipschman
e7495555a0 widl: Remove redundant get_var_vt function. 2007-05-10 12:54:01 +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
Rob Shearman
1c2a717b59 widl: Implement writing of SAFEARRAY type descriptions in typelibs. 2007-03-07 20:10:32 +01:00
Mike McCormack
7d1e21e2c1 widl: Handle TKIND_DISPATCH when generating MSFT typelibs. 2007-01-26 14:29:18 +01:00
Huw Davies
305e4949ee widl: Don't restrict the number of params of [prop*] functions. 2007-01-26 12:22:40 +01:00
Huw Davies
f994c35a3e widl: Add VT_DATE support to typelib generation. 2007-01-26 12:22:38 +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
Alexandre Julliard
5aba7b0c67 widl: Use existing functions to retrieve attributes for typelibs. 2007-01-22 14:09:46 +01:00
Andrew Talbot
d3972880c0 widl: Fix memory leaks. 2007-01-04 21:14:14 +01:00
Francois Gouget
58162f87fd Assorted spelling fixes. 2006-10-13 11:55:04 +02:00
Dan Hipschman
bd7e690c1f widl: Remove unused parameter in create_msft_typeinfo. 2006-09-14 11:39:37 +02:00
Dan Hipschman
48006f60a7 widl: Remove unused parameter in ctl2_encode_name. 2006-09-14 11:39:37 +02:00
Dan Hipschman
aadc90b266 widl: Factor the entry_t structure. 2006-09-07 10:20:56 +02:00
Dan Hipschman
c117a20cdb widl: Use type_t for typedefs, not var_t. Simplify representation. 2006-09-07 10:20:41 +02:00
Alexandre Julliard
883aef172d widl: xmalloc shouldn't initialize to zero, do that explicitly where needed. 2006-08-26 21:41:37 +02:00
Dan Hipschman
4961379d74 widl: Replace strdup, malloc and realloc with xstrdup, xmalloc and xrealloc. 2006-08-05 11:25:26 +02:00
Dan Hipschman
678ce9875f widl: Encode coclass types in typelibs. 2006-07-29 11:55:20 +02:00
Dan Hipschman
c650cceae3 widl: Check if a typeinfo is already in a typelib before adding it. 2006-07-29 11:54:44 +02:00
Dan Hipschman
90cdff9b3f widl: Set typelib_idx for coclasses when they're added to a typelib. 2006-07-29 11:54:21 +02:00
Dan Hipschman
c67b19b4f4 widl: Fold class_t into type_t. 2006-07-29 11:54:09 +02:00
Jacek Caban
37cf4a5260 widl: Reorder segments to match midl. 2006-07-28 12:34:27 +02:00