Commit graph

264 commits

Author SHA1 Message Date
Marcelo Matus
7bbbe3b274 Moving the director protected member support to the top level. Now it should works in all the languages. Test it.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5498 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-07 23:00:02 +00:00
Marcelo Matus
6dbeba36af Added help for -nodirprot flag
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5492 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-06 22:51:54 +00:00
Marcelo Matus
bb18c2d880 Fixed swapped arguments in is_member_director
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5491 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-06 22:36:55 +00:00
Dave Beazley
3631c27ad3 Restored patch that added "classtypeobj" attribute.
Guys..... please be careful when committing.  I added this patch a couple of days
ago and now it's suddenly gone.  What's the deal?  Did someone commit an old version
of lang.cxx on top of this patch?

-- Dave


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5488 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-05 18:50:16 +00:00
Marcelo Matus
217fe1d6d3 Force the generation of director methods even when -fvirtual is used
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5487 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-05 08:58:26 +00:00
Marcelo Matus
75c1713b2d Fixes to support protected members with director, proper virtual member recognition and support of the nodirector feature
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5485 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-05 01:59:28 +00:00
Art Yerkes
87f4bcef2e This example both shows the new enum literal facility, and is a regression
test against the enum scoping problem I had.

Ocaml.cxx: Accidentally reintroduced the enum scoping problem, so I added
an example that will fail if this is ever broken again.

I encountered the actual problem in avifile.h


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5478 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-04 06:57:57 +00:00
Art Yerkes
fbb9c8481d shapes example: slight correction to depth map.
makedebugtop: include swig.cmo
Lib: factored out more common code, slightly reorganized class type.
     added director define and exceptions.
     std_string: length from the original ocaml string (no longer depends on
      null termination)
     ocamldec.swg/ocaml.swg: added caml_string_len
Examples/Makefile.in: quiet about checking out files.
Ocaml.cxx:
     Fixed abstract director test case.
     Include/exclude director.swg based on directors being enabled.
Final edits for 1.3.20, barring bugs being discovered.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5477 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-04 06:15:07 +00:00
William S Fulton
e6b5758132 Use classtypeobj instead of classDeclaration:name for typemap searches.
Thanks Dave.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5462 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-02 22:16:00 +00:00
Dave Beazley
16704c7262 Fixed [ 852119 ] recursive inheritance in output .pm, perl5
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5460 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-02 21:57:41 +00:00
Dave Beazley
65734165ca Added new attribute to class nodes
"classtypeobj"

This is the raw, SWIG type-system representation of the class type.  This
should be used in all typemap lookups and operations involving the class name.

Note:  There is inconsistent use of the "classtype" attribute across language modules--
especially in code related to directors.   To avoid breaking the universe, I have
decided to store the correct type encoding as "classtypeobj" instead of replacing
"classtype".   As modules are checked they can elect to use "classtype" or "classtypeobj"
as appropriate.

Note: William, you should use "classtypeobj" to fix the typemap problem (probably).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5457 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-02 18:56:59 +00:00
Art Yerkes
08d4b05e03 All test cases compile except director_abstract. I clued from what
William Fulton and Dave were talking about regarding the template parameters
and (), and this solved a bunch of wierd little problems I was having.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5455 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-02 08:50:39 +00:00
William S Fulton
337c3dd301 Minor bug fix from that initializes the jlong pseudo-pointer to 0 in director methods (makes the Java equals method based on getCPtr() work consistently.)
Submitted by Scott Michel.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5450 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-30 21:18:40 +00:00
William S Fulton
6bda2826e0 Director fix for #include "xxxx_wrap.h". Was incorrectly adding a directory in some situations. See #848335.
#849064 fixed. Any classes with a non public destructor now have a public delete() method which throw a runtime exception. The delete() method was previously protected.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5439 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-28 23:12:28 +00:00
William S Fulton
0a39ab52c8 Director fix for #include "xxxx_wrap.h". Was incorrectly adding a directory in some situations. See #848335.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5438 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-28 23:08:14 +00:00
Dave Beazley
2acc6de7fc [ 841074 ] better croaking (PATCH)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5395 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-25 17:06:56 +00:00
Art Yerkes
c62459060e Missing NIL in Printv.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5389 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-25 07:08:38 +00:00
Dave Beazley
00be2c2492 Fixed cross module linking of base-classes. Base classes are now located using SWIG_TypeQuery()
during module initialization.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5386 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-25 03:51:35 +00:00
Art Yerkes
ba3cca85d2 Removed needless normalization step.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5374 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-23 12:33:41 +00:00
Art Yerkes
e7460b2ddb Added sizeof operator for classes (and struct, unions), enabled with
"sizeof"="1" on the module node.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5370 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-23 11:58:12 +00:00
Matthias Köppe
2fad2ef97e Don't qualify member function names twice. (Thanks to John Lenz.)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5363 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-21 09:18:10 +00:00
Dave Beazley
8f8e9107c1 New option: -runtime
Changed -c option to -noruntime.   -c still works, but a warning is issued.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5352 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-20 03:29:37 +00:00
William S Fulton
8d7f52dfc6 Contract assert macro modification to handle void and non-void return types
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5339 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-18 22:38:34 +00:00
William S Fulton
2cd181ba5f Common director support functions moved to new file directors.cxx
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5335 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-18 20:21:39 +00:00
William S Fulton
3772663815 extern method declarations moved to header file
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5334 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-18 20:21:15 +00:00
Matthias Köppe
7b581cb88a [Guile] Handle $input in "freearg" typemaps.
Never qualify GOOPS slot names with the class name.
Handle optional arguments properly in the GOOPS methods.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5329 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-18 15:51:52 +00:00
William S Fulton
cffc4ed31a Director fixes for methods returning enums and references contributed by Scott Michel
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5326 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-16 17:05:40 +00:00
Dave Beazley
617e91dcbc Modified contract support (simplified).
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5321 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-14 18:58:13 +00:00
Dave Beazley
989ab0db03 Major refactoring of contract code. Modifications include:
- Better parsing support. Contract sections are no longer hard-coded. New
      types of contracts can be added merely be adding an entry to a table.

    - Fixed argument naming problems with inheritance.  For example, if someone
      specified a contract for a base class and a contract for a derived
      class method, but they didn't use the same argument names in the
      contracts.

    - Fixed contracts for static member functions.

    - Reduced the amount of generated code--especially for inheritance.

    - Changed error messages to indicate inheritance hierarchy.

    - Fixed problems with duplicate contract checking code being
      emitted.

    - Reorganized code that collects contracts and deals with inheritance
      to be more generic---no hardcoded contract names or types.

    - Reorganized process by which contracts is collected.

    - Eliminated unimplemented features for release.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5320 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-14 18:57:51 +00:00
Dave Beazley
30fb6dbd69 Simplified contract runtime API. Use SWIG_contract_assert() for all errors.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5317 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-13 16:59:11 +00:00
Dave Beazley
306683fc3c Contract checking now turned on by default. Some other cleanup.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5313 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-13 04:17:52 +00:00
William S Fulton
e0d8b04919 director ricochet removal from Scott Michel and generated director code tidy up
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5309 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-12 21:12:30 +00:00
Dave Beazley
9b9f2c18f4 Code generation improvements. Order of automatically generated methods is different.
Added special variable $action to python code fragments included with feature:shadow.
This expands to the name of the low-level C wrapper function.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5306 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-12 17:14:00 +00:00
William S Fulton
2636349aa1 Scott Michel patch which removes supefluous ricochet director checking code except for pure virtual methods.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5288 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-10 22:26:36 +00:00
Dave Beazley
99739721ba SafeInit function added.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5283 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-09 03:51:12 +00:00
William S Fulton
05d2ab63eb JNI descriptor attribute in directorin typemap called descriptor instead of parse now
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5277 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-08 11:20:07 +00:00
William S Fulton
d725be7f9e Warning fix
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5276 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-08 11:16:53 +00:00
William S Fulton
fcb4392793 director downcast mods
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5275 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-08 10:41:27 +00:00
William S Fulton
bdf45e991f Help string split for compilers that can't handle long strings
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5273 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-06 22:40:55 +00:00
Matthias Köppe
6092ce47d3 Pass closures, rather than primitive procedures, as #:slot-ref and
#:slot-set!.  Guile 1.6 only seems to like closures here.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5272 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-06 15:49:10 +00:00
William S Fulton
6df7122422 Scott Michel patch: Director bug fixes and downcast support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5271 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-05 22:41:40 +00:00
Dave Beazley
928e3ed815 Restored contract support. Fixed error messages
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5266 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-05 21:23:56 +00:00
Dave Beazley
0ef35b6651 Removed snprintf(). Not ANSI.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5265 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-05 20:41:14 +00:00
Matthias Köppe
60f3f3cc8e Only use the SCM_ API when the function `scm_slot_exists_p' exists
(needed for GOOPS support).  This function was renamed during the
Guile 1.5 series from `scm_slots_exists_p'.

Report the right runtime library when invoked with -scm -ldflags.1


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5263 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-04 19:15:59 +00:00
Matthias Köppe
5af411c153 Merge new set of GOOPS changes by John Lenz.
GOOPS objects are now manipulated directly by the C code.
Some fixes to typemap-GOOPS interaction.

Remove the file argument to -scmstub and -goops.  The Scheme files are
now always called MODULE.scm or MODULE-primitive.scm, where MODULE is
the module name and "primitive" can be changed by the -primsuffix
option.  The Scheme files are now placed in the directory given by the
-outdir option, or the current directory.  (Patch by John Lenz,
slightly modified.)


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5255 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-02 23:15:59 +00:00
Art Yerkes
6c163123ae Committing my latest ocaml.cxx. Corrects problem with shapes.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5228 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-01 05:01:07 +00:00
William S Fulton
f68fc2ee6e $module name substitution to enable name mangling with the module name for the delegate registering functions.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5224 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-01 00:48:32 +00:00
Dave Beazley
d340760332 Added patch: [ 823302 ] Incr Tcl support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5220 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-31 19:47:58 +00:00
Dave Beazley
9bf9e2faf3 [ 829325 ] new Python Module options and features
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5218 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-31 17:55:38 +00:00
Dave Beazley
523caaa789 [ 829319 ] XML module tweaks
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5215 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-31 17:42:40 +00:00