Commit graph

254 commits

Author SHA1 Message Date
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
Dave Beazley
ff61b0f0f8 Fixed [ 827907 ] argout objects not being wrapped properly (PATH).
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5213 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-29 19:43:38 +00:00
Art Yerkes
4951d70c53 Director related changes, other edits.
director_wombat testcase, as well as all others except director_abstract
compile.
Four test cases fail.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5196 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-22 04:01:27 +00:00
William S Fulton
57122ae799 void* used instead of int for IntPtr in C function declarations
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5192 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-16 21:34:38 +00:00
Dave Beazley
133ff57579 Fixed problem with smart pointers and overloaded static methods.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5190 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-14 19:02:10 +00:00
Dave Beazley
52fcd3df75 Removed contract code from swigmod.h. Violates intended modularity of this file.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5186 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-09 15:57:54 +00:00
Matthias Köppe
3e216a67dc Remove symbol clashes between runtime libraries.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5181 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-05 11:36:52 +00:00
Matthias Köppe
4a30a92fb1 Add GOOPS support, contributed by John Lenz.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5180 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-05 11:27:20 +00:00
Matthias Köppe
b316ff752a <-scm> Fix typo in generated code for procedures-with-setters.
Reported by John Lenz.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5166 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-28 14:40:44 +00:00
William S Fulton
c108055784 Director tweaks from Scott Michel.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5165 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-26 20:40:49 +00:00
Dave Beazley
138ffca579 Fixed [ 812528 ] externs not correct when throw is in signature.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5162 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-26 20:37:30 +00:00