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

226 Коммитов

Автор SHA1 Сообщение Дата
scc%netscape.com 5e041e830f Pro5 update 2000-02-07 23:06:04 +00:00
mccabe%netscape.com acad3b303e 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 bb10474667 Fix problem with generated consts in .h files for OS/2 - also handle the internal const value more sensibly, and lose wrong 'is_long' distinction.
Thanks to Henry Sobotka <sobotka@axess.com> for finding this problem and suggesting a fix.

r=mccabe
2000-01-18 05:16:48 +00:00
beard%netscape.com 6563137c80 bug fix for bug #11199, should remove partially created output file. 2000-01-17 04:13:05 +00:00
mccabe%netscape.com b449e8c950 Reinstating backed-out fix to 20833 from earlier, this time with a change that seems to work on solaris and mac. 2000-01-12 13:33:40 +00:00
mccabe%netscape.com 4dd2f64a77 Reverting const-generation code that seems to be trouble for Solaris. 2000-01-12 03:34:30 +00:00
sfraser%netscape.com 937563cc1d Fixing bustage by ensuring that xpidl_utils.c is only in the compiler target. r=mccabe 2000-01-12 03:09:33 +00:00
mccabe%netscape.com 45afa7226c 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 9527a2f3b0 added files: mozilla/xpcom/typelib/xpidl/xpidl_util.c 2000-01-12 01:47:05 +00:00
mccabe%netscape.com 48be8a9795 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
frankm%eng.sun.com 062973b3c9 [Bugs 18486, 18488; r=mccabe] XPIDL->Java: always make first char of methods lowercase, translate PRBool to Java boolean 1999-11-24 02:08:34 +00:00
dmose%mozilla.org 8535dda53e 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 7411a6b98e Undo overly-hasty backout. This reinstates part of my recent checkin. 1999-10-27 03:44:38 +00:00
beard%netscape.com 602f4ce6b8 make warnings not terminate build. fix bustage, r=mccabe 1999-10-27 02:44:34 +00:00
mccabe%netscape.com e0897b5f5f Debust mac-specific \r-related tree breakage. 1999-10-27 01:28:59 +00:00
mccabe%netscape.com 522974aa44 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 c6aa2b642c xpidl compiler was failing to complain that it is an error to use [shared] with 'inout' params. (no bug was filed) r=mccabe 1999-10-05 04:23:35 +00:00
jband%netscape.com f3272a9547 - Changed the interface for getting the interface_is argnum.
- Merged the typelib types for array and array_with_length.
- Added typelib types for string_with_size and wstring_with_size
1999-09-20 02:50:28 +00:00
mccabe%netscape.com 39e5fe6519 Fix to 7610. Modify xpidl compiler to add 'const' to the method signature for generated attribute setter methods for string, wstring and nsid attributes.
As this changed the generated interface signatures, I had to change all of the uses to avoid bustage.  Any corners of the browser that aren't built by default, or that I haven't discovered how to build, may be at risk of bustage if they use string or wstring attributes.  (This could mean blackwood; sorry, guys!)

Many thanks to Alec Flett (alecf@netscape.com) for preparing diffs for the mailnews portion of the signature changes; thanks also to Ariel Backenroth (arielb@rice.edu) and Mike Shaver (shaver@mozilla.org) for help with updating the tree with NS_DECL_NSIFOO macros; everwhere where one of these macros was used was one less place I had to manually add 'const'.

Also removed extraneous space from generated method signatures, leftover from Brendan's capitalization spam, and made 'const decl must be of type short or long' an error rather than just a warning.
1999-09-19 23:46:35 +00:00
briano%netscape.com 12f9f9743e General cleanup. 1999-09-18 02:12:56 +00:00
jband%netscape.com f673b4fa59 add arrays to xpidl and typelibs. got rid of vararg support scheme 1999-09-11 05:20:39 +00:00
cls%seawood.org 1a9f669072 Since libxpt is used by both xpidl and libxpcom, we need to create a duplicate libhostxpt that is built by HOST_CC for xpidl & friends. 1999-09-05 20:48:30 +00:00
cls%seawood.org 43b987f232 Fixed the use of HOST_NSPR_MDCPUCFG so that the build doesn't break if it is not defined. 1999-09-03 05:03:40 +00:00
jband%netscape.com 3e92b65804 fix for bug 12237 - add a flag in typelib to indicate methods thatare not xpcom compliant. Stealing bit that was originally intended for varargs 1999-09-02 00:01:08 +00:00
brendan%mozilla.org 94f2f83eaa Improve diagnostic for codefrag vs. NS_DECL_IFOO warning. 1999-08-29 05:16:05 +00:00
brendan%mozilla.org bbe959f4d1 Massive spankage to capitalize C++ method and attribute name bindings, per
Architecture Item 6.3 (news://news.mozilla.org/37BA89CF.3823D6F9%40meer.net).
1999-08-25 05:26:25 +00:00
mccabe%netscape.com 0636c6c5fd Fixed problem with getters/setters in generated NS_FORWARD_NSIFOO macro. Thanks to David Bienvenu for catching this.
Fixed {-placement formatting nit.  Thanks to Brendan Eich for catching this.
1999-08-25 05:05:48 +00:00
mccabe%netscape.com ccacebed18 Add ## between _to and function name in generated NS_FORWARD_NSIFOO macro 1999-08-24 10:00:52 +00:00
mccabe%netscape.com a1c6eb6459 Don't generate 'void' as a parameter in call portion of NS_FORWARD_NSIFOO macro. Whoops. 1999-08-22 11:18:21 +00:00
mccabe%netscape.com 5746b51c9a 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 f55e794098 Generate NS_FORWARD_NSIFOO(_to) macro to facilitate declaring forwarding implementations for a given interface.
Fix bug where both GetFoo and SetFoo prototypes were generated into the NS_DECL_NSIFOO macro for readonly attributes.  Thanks go to jband for catching this.
1999-08-21 07:04:33 +00:00
mccabe%netscape.com 806ac16a86 Fix problem with generating \ \n for getters and setters, and move generated NS_DECL_NSIFOO to below the interface.
Thanks to jband for catching this problem.
1999-08-20 09:08:40 +00:00
shaver%netscape.com f48a471044 don't use IDL_tree_warning on 0.6.5, it crashes sometimes.
r=alecf, a=mcafeee
1999-08-19 21:09:08 +00:00
mccabe%netscape.com e7e02f01c7 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 13486f087a 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
frankm%eng.sun.com 2a4acf1b3b Add nsID constant to IDL-generated Java interface 1999-08-10 21:10:06 +00:00
mccabe%netscape.com d6e7410f31 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
shaver%netscape.com 1b9b03a295 stop tripping myself up 1999-08-10 06:47:38 +00:00
mccabe%netscape.com 961500de8e Fix to 11451.
Stop coredump on bad argument name in [iid_is(bogus)]; add != NULL safety check to loop.
1999-08-09 09:34:22 +00:00
mccabe%netscape.com 5264239545 Made use of ... varargs result in failure, as we don't currently seem
to support it.
1999-08-06 10:25:16 +00:00
jband%netscape.com 2a76ddde40 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 bec8580cb5 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 8c92e507dd 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
mccabe%netscape.com 32c7b823a8 Fix to 10693. Error on malformed uuid (currently we just check for a uuid of the wrong length) rather than failing silently. 1999-08-02 09:35:28 +00:00
beard%netscape.com 22df638a1c added java target to test java interface generation 1999-07-17 02:06:42 +00:00
beard%netscape.com 6907c80be8 java mode 1999-07-17 00:49:37 +00:00
beard%netscape.com 6b166f7048 now builds all components directly into "{Compiler}CodeWarrior Plugins" to work in the automated build. 1999-07-16 23:45:19 +00:00
beard%netscape.com 885ad73ea5 fixed mac build bustage 1999-07-16 23:44:34 +00:00
slamm%netscape.com 27b8289eff Fix build warnings. 1999-07-16 20:06:37 +00:00
mang%subcarrier.org 515fd3cecc suppress warnings about /* in comment 1999-07-07 07:54:02 +00:00