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

51 Коммитов

Автор SHA1 Сообщение Дата
Luke Wagner 7371ad00ed Bug 549143 - fatvals 2010-07-14 23:19:36 -07:00
reed@reedloden.com bb454ebb6a Bug 414063 - "annotate xpidl-generated c++ headers with attributes for scriptable and deprecated methods" [p=Pidgeot18@gmail.com (Joshua Cranmer) r=dbradley a1.9=damons] 2008-03-12 04:00:24 -07:00
philringnalda@gmail.com a85d73705b Bug 161453 - remove XP_MAC deadcode in typelib/xpidl, r=timeless, sr=mrbkap, a=dsicore 2007-11-12 19:25:55 -08:00
pedemont%us.ibm.com d47f09f9df Bug 333618 - Use xpidl for generating Java interfaces. r=timeless/bsmedberg, sr=bsmedberg. 2006-08-28 15:24:32 +00:00
neil%parkwaycc.co.uk 46301e899d Rebuild .xpt files when included .idl files change r=bsmedberg sr=shaver 2006-01-04 13:43:59 +00:00
gerv%gerv.net 7f1b5c62e5 Bug 236613: change to MPL/LGPL/GPL tri-license. 2005-12-31 13:18:10 +00:00
dbaron%fas.harvard.edu 29c30c5f3e Porting fixes for gcc trunk (to become 3.3): Eliminate C-only option from CXXFLAGS. Don't use pasting for things that are still separate tokens. Don't pass objects of non-POD type through |...|. Don't include strstream.h, which isn't used anymore anyway. b=170250 r=bbaetz sr=alecf 2002-09-30 14:18:27 +00:00
nisheeth%netscape.com 46db685f9a Fix for bug 84186. r=dbradley, jag. sr=jband. Added support for CStrings, UTF8String, and AStrings to XPIDL. Also added the -t cmd line flag to XPIDL and XPTLINK that allows us to generate output for a specific XPT version. The XPT version number is being upped from 1.1 to 1.2 with this checkin. 2002-02-26 01:41:42 +00:00
dbradley%netscape.com 9a5a5969de Bug 114257 - win32 xpidl doesn't handle unix paths properly. patch=dbradley, r=cls, sr=jag 2002-01-10 13:03:45 +00:00
dbradley%netscape.com 9ad843118b Bug 94650 - Added warning for scriptable interfaces that inherit from non-scriptable interfaces. r=jst, sr=jband 2001-11-03 00:05:57 +00:00
bbaetz%cs.mcgill.ca 370f19d526 Bug 100843 - Add an explicit output filename option (-e) to xpidl
Patch by aegis@aegisknight.org, r=dbradley, sr=scc
2001-10-31 23:28:36 +00:00
gerv%gerv.net 4e12e44b2f Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089. 2001-09-28 20:14:13 +00:00
dbradley%netscape.com 440f0ebe55 Fix for bug 42608: portability fixes for dec, problems with assert macros r=dbradley, sr=jst, patch by jband 2001-08-10 01:06:14 +00:00
jband%netscape.com ea496b8199 add xpidl support for DOMString to fix bug 65762. r=jst sr=brendan 2001-01-26 02:32:18 +00:00
mccabe%netscape.com 54b6fe9784 Fix to 54913. Add check against 'const unsigned long = -4', and centralize many const checks in xpidl_util.c from the various xpidl backends.
This'll cause the tree to rebuild.

sr=jband.
2000-12-07 04:17:33 +00:00
mccabe%netscape.com 3ad4f337ee Fix 13413 - Require that the targets of length_is attributes have unsigned long type. There were a number of violations of this in the tree, so it turns out this was a useful one. Also add checks for missing parameters, length_is parameters that point to themselves, etc.
Fix 8833 - Allow typedefs in const declarations.

Fix several warnings.

Remove a huge chunk of #if 0 code in in xpidl_typelib.c (that had accumulated subsequent changes!)
2000-04-28 11:14:29 +00:00
mccabe%netscape.com b48d3f3c6c - Add preliminary code for a documentation backend. Hopefully someone will want to extend it...
- Add a compile-time check requiring non-scriptable (because they're native) attributes to be marked [noscript] within [scriptable] interfaces.  This mirrors an existing check for methods, and may save some hair-pulling for script authors.  Partial fix to 11454.

- Emit a sample implementation (#ifdef 0) into the generated .h file that component authors can copy and use as the start of their implementation.  Code courtesy jband.

r=jband, r=mccabe
2000-03-18 01:30:35 +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 e3377a41b5 changing #include "xpt_stuct.h" to <xpt_struct.h> b/c I don't think Mac is finding the file. 2000-01-12 02:48:06 +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
jband%netscape.com a3a6462404 add arrays to xpidl and typelibs. got rid of vararg support scheme 1999-09-11 05:20:39 +00:00
mccabe%netscape.com 7096177a2c Make a new XPIDL_WARNING macro to generalize the check against using IDL_tree_warning when compiled against libIDL 0.6.5. 1999-08-22 01:10:14 +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
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
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
frankm%eng.sun.com ec707f6784 Re-enable Java backend, this time with an updated Windows makefile. 1999-06-23 00:58:35 +00:00
mccabe%netscape.com ddc3eece85 Backing out buildsystem aspects of the Java interface backend to xpidl until we can land them safely xp. The xpidl_java.c backend remains. 1999-06-23 00:06:29 +00:00
frankm%eng.sun.com 224d22dfee First pass at generating Java interfaces from XPIDL 1999-06-22 22:39:50 +00:00
mccabe%netscape.com 364565063f Removed unused declaration for (cvs rm'ed) stub mode, and added an explanatory comment as to what 'basename' actually means. (Not what I thought...) 1999-06-15 09:22:04 +00:00
mccabe%netscape.com 440903d251 Fix many warnings, remove legacy -h option. 1999-06-10 08:21:35 +00:00
mccabe%netscape.com 6d66ab0b26 Removing remnants of stubs-generation mode. 1999-06-09 09:45:49 +00:00
beard%netscape.com 1bba2e4474 #include <libIDL/IDL.h> -> #include <IDL.h> on XP_MAC. 1999-04-11 00:09:14 +00:00
jband%netscape.com 3d964bce21 Prepare for not emitting js stubs decls into headers. Emit the macro for GetIID. 1999-04-10 06:17:49 +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 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 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 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
shaver%netscape.com 907b2e8ea7 Updated README.
Better arg handling and now lower-case mode flags.
andrewv's fixes to lose dependency on IDLN_ enum order (but not his changes
to indentation settings!).
1998-12-02 19:53:27 +00:00
shaver%netscape.com 7cb17ad5db Added NPL everywhere (ooops!).
Handle enums.
Output idents properly in IDL comments.
1998-11-28 16:52:24 +00:00
shaver%netscape.com ff8371bf4c Updated README now includes Win32 libIDL/glib URLs, and mention of msw's
GTK+/glib 1.1.5.
Generate #includes for interfaces to which we refer.
Output inheritance data.
Switch to PRUnichar * for wstring, and char * for string.
in params that become pointer types get const'd.
1998-11-26 21:03:03 +00:00
shaver%netscape.com c373687100 Added input callback, in preparation for autogenerating __declspec(inhibit)
and doing the doc comment thing.
Generate method declarations.
More stdout -> state->file fixes.
1998-11-25 04:19:59 +00:00