Граф коммитов

57 Коммитов

Автор SHA1 Сообщение Дата
Xiaobin.Lu%eng.Sun.com f56cbe2af5 r=timeless sr=shaver
bug 72807 "c++ style comment warning"
2001-05-16 02:24:44 +00:00
mkaply%us.ibm.com aa11b46405 #65880
r=cls, a=blizzard
OS/2 only change - if filename passed in contains a drive letter, just use it
2001-01-27 15:37:46 +00:00
mccabe%netscape.com 2463c6c216 Fix to 8734. Make xpidl produce its' output file in the same directory it is run in. This only applies when the -o someotheroutname option isn't supplied. Previous behavior was to produce the output file in the same directory as the input file. Hopefully this'll save some confusion for first-time xpidl users.
Thanks to Mike Ang <mang@subcarrier.org> for fixing several errors in the initial version of this patch.

r=mang
sr=jband
2000-12-07 04:25:07 +00:00
mccabe%netscape.com 493faa54ce Fixes for 40008, 40152, 40016, 51795, 57094.
Fix various aspects of xpidl, including:

don't fail on empty idl / idl containing only #includes
use error location instead of typedef location when reporting type errors
warn on interfaces that lack a uuid attribute (thanks Warren for the prod)
add include guards to generated .h files - faster mac compilation?
xpidl-generated headers don't need NS_NO_VTABLE defined.

This'll cause a tree rebuild.

r=mang (several)
sr=jband.
2000-11-30 07:51:02 +00:00
beard%netscape.com 7cc1e4846b changes to build as MPW tools. r=mccabe 2000-03-29 03:14:02 +00:00
mccabe%netscape.com a69d6461c1 Rework xpidl_idl to not use a circular buffer. This fixes many problems with buffer boundaries. Fixes
9716 unterminated %{ escape causes endless loop

Clean up memory handling and other aspects of xpidl. Fixes
        11058 bad free in xpidl
        13464 memory leak in xpidl

Store doc comments in IDL-processing phase, and emit them into generated header files.  Fixes
        24734 xpidl should emit doc comments

Add error towards fixing 24965, and fix 13100 'xpidl should error on multiple inheritance'

r=jband
2000-01-28 08:28:48 +00:00
mccabe%netscape.com 4c9d90c5c7 Batched set of fixes to xpidl. NOTE this'll probably cause the world to rebuild.
* fix 20833 - generate numbers of appropriate form in header output mode for short, long, signed or unsigned IDL consts.  Thanks to bratell@lysator.liu.se for finding this and confirming the fix.

* fix 11199, remove .h output file on failure - partially generated files caused trouble, as they had the proper timestamp to fool 'make' next time around. Punted on mac.

* Restore Mac hack to fix \r to \n, requested by Beard.

* Make 'const decl must be short or long' warning into error for typelib mode.  This mirrors an existing error in header mode.

* Fix up various aspects of xpidl, including:

- Move shared functions from xpidl_idl.c and xpidl.c 'main' module to new xpidl_util.c.

- Recast nodehandler-table-per-backend as 'backend' struct, including broken-out prolog and epilog functions.  Replaces overloaded IDLN_NONE node handler that did prolog code on non-null tree, epilog on null.  Move backends to new API.

- Rename a few structs more logically.

- Add a new list to track files included from the base .idl file, for generated #includes in output header file.  This replaces using the 'already-included' hashtable for this purpose, and lets us generate just the minimal set of #includes, in the order they occured in the .h file.

- Various fixes to quiet xpidl warnings.

- Change main() to only accept one input file from the command line, because the basename code assumes this, and multiple files aren't needed by our make system.

r=jband
2000-01-12 01:46:21 +00:00
dmose%mozilla.org 142ac52eaf updated xPL license boilerplate to v1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:43:54 +00:00
mccabe%netscape.com 578b8c54a1 Various fixes to xpidl. Note that this checkin will cause a rebuild of everything that depends on nsISupports.h. Fixes courtesy Mike Shaver, with small tweaks by McCabe. r=shaver, r=mccabe.
- Fix to bug 17013; have xpidl produce an error when encountering a native declaration without an associated (c++-name).

- remove many DEBUG_shaver lines.

- provide xpidl_tree_warning as a fallback for libIDL versions for which IDL_tree warning is bad, and NULL-proof our message callback function.  Also remove a 1k buffer limit from the message callback function.

- make enum in IDL files an error.  We don't support it, and love consts instead.

- Fix to 12684; don't allow [retval] parameter + return or multiple [retval] parameters.

- Fix to 13390; make non-{short,long} const a fatal error.
1999-10-27 00:37:39 +00:00
mccabe%netscape.com b7e63ab162 Changes to the xpidl compiler to support generating an 'NS_DECL_NSIFOO' macro when generating the nsIFoo interface, which provides a shorthand to declare all of the methods of that interface.
Also included are various architectural changes to support this, (which required descending the interface and method subtree of the IDL parse tree an extra time) including abstracting out the write_method_signature and write_attr_accessor methods so that they can be called both when generating the interface and when generating the macro.

Purged passing the single TreeState parameter from several leaf functions, and broke it out into parameters foo_tree and output file.  This saved a lot of tree->state twiddling when calling tree-descent functions.

This checkin will cause depend builds to rebuild most of the tree, so be patient...
1999-08-19 13:02:08 +00:00
briano%netscape.com dc8c41758c Now it will handle the obscure case where sprintf returns a string instead of an int. Reviewed by mccabe and jband. Approved by chofmann. 1999-08-14 03:11:10 +00:00
mccabe%netscape.com 2a403483de Changes to the xpidl compiler -
Error if an interface is declared [scriptable], but contains methods that can't be scripted because they refer to native-declared types, unless the method is declared [noscript].

This change is intended to make it easier to determine when an interface is not scriptable, and to make it easier to see what changes need to be made to make it scriptable.

As many of the .idl files in the tree defined [scriptable] interfaces that contained non-scriptable methods, I've sprinkled [noscript] throughout.  As the interfaces weren't scriptable anyway, this shouldn't change their visibility to javascript.
1999-08-10 12:18:01 +00:00
jband%netscape.com e3426f29f5 fix xpidl compiler failure when a block of 'raw' stuff straddles a buffer block boundary 1999-08-06 07:57:53 +00:00
mccabe%netscape.com ed3c4eb1e7 Further warning enhancements engendered by 10693.
- Added xpidl_sprint_iid method for printing an nsID to a string.

- Removed "this is a gross hack" code for parsing and printing iids, and replaced with calls to xpidl_sprint_iid

- Made write_classname_iid_define() void, and removed cluttering tests against its failure.

- Cleaned up.
1999-08-02 11:19:30 +00:00
mccabe%netscape.com 3e1e43dd00 Improved abstraction of uuid parsing; uuid parsing function now no longer understands "" to mean 'the uuid consisting of only 0s.' Also broke the function out into xpidl_idl.c (where utility functions live) towards reusing it in xpidl_headers as well.
Removed outdated reference to (resolved) bug 5872.
1999-08-02 09:46:57 +00:00
beard%netscape.com 6535f06416 fixed mac build bustage 1999-07-16 23:44:34 +00:00
mang%subcarrier.org c444378873 suppress warnings about /* in comment 1999-07-07 07:54:02 +00:00
mang%subcarrier.org 38c3da09bb libIDL expects the line number to be one more than we think it is.
Who are we to argue?
Fixes bug 5872 for header mode.
1999-07-07 04:42:33 +00:00
jdunn%netscape.com dc5a2faa70 Fix HPUP and AIX build bustage by 'casting' the params. 1999-06-29 20:37:18 +00:00
mang%subcarrier.org 0e32f49008 Partially fixes bug 5872
Line numbers are now (only) off by one on Unix
Windows still reports incorrect line number if error is in an included file
Fixes bug 8183
Included files not found are now reported with proper line number
1999-06-28 21:10:18 +00:00
shaver%netscape.com c2153975ca flail lightly trying to fix build bustage 1999-06-15 15:21:00 +00:00
shaver%netscape.com d6dc524533 try to bix build bustage, and start on fixing 8183 1999-06-15 15:13:38 +00:00
shaver%netscape.com 6e521b9a74 fix 8184: don't get stuck on %{ that's not at the beginning of the line, and mind end of data 1999-06-15 14:17:21 +00:00
shaver%netscape.com 42eefc0b16 xpidl_idl.c rewrite for improved maintenance, fixed bugs and whiter teeth 1999-06-15 03:07:44 +00:00
mccabe%netscape.com 440903d251 Fix many warnings, remove legacy -h option. 1999-06-10 08:21:35 +00:00
beard%netscape.com d784f2a2d6 when popping an #include, fclose the file. 1999-05-12 05:41:29 +00:00
beard%netscape.com e02996a454 XP_MAC: no longer using mac_fopen, replacing fopen itself. added mac_warning. 1999-05-06 14:27:57 +00:00
sspitzer%netscape.com 108be1837b changes to get this to build with the -pedanic flag.
(when you pass --enable-pedantic to the compiler)
1999-05-04 17:21:33 +00:00
mccabe%netscape.com a04bdb34e3 Fix to 5899; xpidl now looks for its target file where it's told to rather than eagerly plucking it out of the supplied includes directories.
Also removed an obsolete check against libIDL 0.6.2.
1999-05-04 10:52:20 +00:00
jband%netscape.com 33a0a52103 fix AIX bustage - suggested by waqar@netscape.com 1999-04-13 18:10:40 +00:00
jband%netscape.com 89e4ae2743 fix for comment spanning the buffer boundary 1999-04-13 00:50:39 +00:00
beard%netscape.com 029f7dcb2a XP_MAC: added call out to mac_fopen() for simple filenames (no path) to allow the CodeWarrior plugin to search for the file in the access paths. 1999-04-11 00:11:36 +00:00
jband%netscape.com 97149b170a fix compiler warnings 1999-04-07 00:47:30 +00:00
shaver%netscape.com 58164daf67 turn off more debugging noise and prepare for 0.6.2's forward handling 1999-03-09 08:23:00 +00:00
jband%netscape.com 5de5ba19b3 fix fopen mode for binary files - I'm starting to think that shaver, coop, and mccabe are doing this to me on purpose :) 1999-03-07 20:48:37 +00:00
shaver%netscape.com 87bb504802 Compatibility with libIDL 0.6.x. (now required -- 0.5.x won't work any more)
Open absolutely-named files without include-path checking.
Always report errors (duh).
typelib generation: [iid_is()], consts, parse [uuid()], string type change
(will someone please explain our string types to me?), add float support,
handle [retval], IDL return as trailing argument (duh), attributes generate
accessor entries.
Use IDL_tree_error instead of burping at stderr.
1999-03-06 19:26:40 +00:00
brendan%netscape.com 4a71eaefa6 - Use write rather than dump consistently (dump has unfortunate connotations).
- Avoid gratuitous extra newlines in foo.h compiled from foo.idl.
- Use do-while, not for or while, guarded by if that tests the loop condition.
- Use NS_EXPORT to qualify static InitJSClass and GetJSObject method.
- Turn enum declarations within interfaces into JS class constant numbers.
- Defend against null return from JS_GetPrivate (prototype and user-constructed
  objects have no private data).
1999-02-22 00:24:34 +00:00
brendan%netscape.com ab4487d5ca More stub work checkpointing; expand tabs. 1999-02-17 22:13:32 +00:00
brendan%netscape.com e5596bb3ed Checkpoint xpidl -m stub work. 1999-02-17 01:17:52 +00:00
brendan%netscape.com fe8a88eaf3 prep for -m stub; misc code cleanups. 1999-02-16 05:10:40 +00:00
shaver%netscape.com c70caa7ec2 make includes work right; support `-\' as stdin for input file 1999-02-16 03:47:24 +00:00
shaver%netscape.com 0abc9fdeb8 New back-end switching for whiter teeth and fresher breath.
De-const-ipate in params.  (Maybe strings should still be const?  I await the
outcome of The Great String Debate.)
1999-02-03 23:55:33 +00:00
alecf%netscape.com 45c2ae4f23 changes to make XPIDL compiler work under Windows 1999-01-21 18:59:52 +00:00
shaver%netscape.com 2fe4a733a3 Update to (and require!) libIDL 0.5.8.
Fix silly argument processing brokenness.
Prepare for IDL_tree_to_IDL when it arrives.
Proper basename stuff for #ifdef __gen_nsIFoo_h__ and others.
Handle empty interfaces.
Dead code trimming (ident, etc.).
Typedef support, including arrays.
nsVarArgs instead of ... in C++ headers.
Fix #include scanning bug that caused pain when we skipped an include that
had already been processed.
1999-01-11 16:56:45 +00:00
coop%netscape.com 21ec63486f Added binary file open as first step for creating typelib files. 1999-01-06 23:47:45 +00:00
shaver%netscape.com f695bdad8d invoke -> typelib 1998-12-18 17:12:07 +00:00
shaver%netscape.com ec05dde4ba Now use MODULE instead of MODULE_NAME.
Update README for new libIDL version.
Add -o basename option and use proper output.
Eradicate some final stdout references.
Pretty printing, whee.
New |operator delete| and |IID| stuff for scc.
Support for raw codefrags (``%{ C++\n ... \n%}\n'') and more bufmgmt debugging.
Use IDL_file_set everywhere.
1998-12-14 18:47:39 +00:00
shaver%netscape.com b7e56cfb2f Fixed usage-string typo.
Update to 0.5.7 IDL_tree_property_get API.
Reworked input callback for cleanliness.
Add (not-yet-working) infrastructure for %{ C %} raw blocks.
1998-12-09 13:08:29 +00:00
shaver%netscape.com c567e3d343 Update usage message.
Add #include processing.
Generate #define NS_IFOO_IID_STR for kipp.
More header-generation niceties: #ifndef __nsIFoo_h__, DO NOT EDIT warning
now mentions source filename.
Generate #include in header to match #include in IDL, not by grovelling for
referenced interfaces.
(XXX: Need to polish up memory management.)
1998-12-06 18:41:44 +00:00
shaver%netscape.com e9350617c4 Fix indentation, which was my fault and not andrewv's.
Add nsISupports to the always-include list.
Clean up interface generation code, and then mess it up again with
IID handling.
1998-12-03 06:33:59 +00:00