Commit graph

932 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
William S Fulton
f09d5cbc7a Warning fix for Visual C++. const is incorrectly being defined away to nothing.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5495 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-07 00:29:00 +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
8accb4c083 Check the protected constructor case. They don't get into the director.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5486 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-05 06:08:54 +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
7d38c269be Fixed casting problem with references to arrays in gcc-3.3 (and maybe other versions).
I'm not sure if this is a gcc bug or a SWIG bug.  However, the patch makes the
arrayref.i test work on my machine.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5433 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-28 19:06:35 +00:00
Dave Beazley
e0ac2e8514 Fixed [ 850666 ] #include extra line added
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5429 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-28 18:08:13 +00:00
Marcelo Matus
595d36bf1a Fixed not '0' terminated string, that could result in a getting a bad error code
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5424 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-27 00:11:18 +00:00
Dave Beazley
019cf61e92 Fixed infinite recursion bug (maybe)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5422 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-26 20:56:44 +00:00
Dave Beazley
69d88a944c Fixed parsing problem with = &x[]. This was causing the
Java java-lib_various.i test to fail.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5419 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-26 19:54:09 +00:00
Dave Beazley
c2af7898c0 [ 756552 ] missing default argument class scope with "|"
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5403 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-25 19:27:17 +00:00
Dave Beazley
6b705938de [ 840878 ] support for %inline { ... } (PATCH)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5401 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-25 18:48:11 +00:00
Dave Beazley
c3eab02d6d Fixed [ 836903 ] C++ inconsistency (with void arguments).
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5398 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-25 18:26:03 +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
Dave Beazley
9ed46ad4ca Fixed [ 791835 ] Default argument with cast: txt = (char *)"txt" syntax Error.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5392 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-25 16:48:51 +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
Marcelo Matus
3f9a029c43 Fixed previous patch for the case when no file is founded
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5364 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-21 20:47:58 +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
Marcelo Matus
016860e199 Fixed the include/import error reported by Kerim Borchaev
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5359 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-20 21:37:24 +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
Dave Beazley
2e313b48b0 *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5350 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-20 02:49:12 +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
Dave Beazley
e72fe71056 Enhancement. %include now adds path where files are found to search path during processing.
(The C preprocessor seems to do the same).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5298 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-11 20:18:13 +00:00
Dave Beazley
97c4e44437 Added Swig_push_directory() and Swig_pop_directory()
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5297 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-11 20:16:35 +00:00
Dave Beazley
3b0b37f616 Added functions to support preprocessor enhancement.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5296 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-11 20:16:11 +00:00