Commit graph

405 commits

Author SHA1 Message Date
Marcelo Matus
dc061e30f1 Better mapping of char[ANY] in python, including embedded
null chars, which are allowed in C++ and python, and proper
sizes:

  you can use a shorter string to assign a char[6]:

     x = "he\0l"  -> x := {'h','e',0,'l',0, 0}

  but you always get back in python the original size:

   x := {'h','i','0','0',0, 0} -> "hi\0\0\0\0"

Better mapping of (char*)0, now you get a None in the python
side, and using None, you get a (char*)0, just like
all the other C++ pointers. Before (char*)0 was mapped
into python as "", or as seg. faults.

Better mapping of "", which is not None nor (char*)0.

Added more tests using primitive types with simple templates.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5687 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-25 09:45:18 +00:00
Marcelo Matus
b3896b1919 properly manage the strange but valid case:
typedef char namet[5];
  const namet def_namet = {'h','o', 0, 'l','a'};

ie, char arrays with null embedded characters, and other odd
char[ANY] situations.

add the corresponding test to the primitive_types.i and runme files.

Marcelo

 ----------------------------------------------------------------------


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5685 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-24 07:20:59 +00:00
Marcelo Matus
e4450c9ba7 fix missed ANY temporal
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5684 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-24 02:43:54 +00:00
Marcelo Matus
4ea03cbb10 more on uniforming and 'securing' the typemap declarations
for primitive types.

Finally, you can safetly write:

%apply int {enum Hello};
%apply long {size_t};
%apply int {MyIntClass};

or using references

%apply const int& {const enum Hello&};
%apply const long& {const size_t&};
%apply const int& {MyIntClass&};

and all the primitive typemaps(in, out, directorin, directorout,
constcode, throws, varin, varout) are safetly applied to the
desired types (including the proper conversions when needed).

In fact, the python.swg file now has no typemap
defined for enums, and only use the %apply directives
as above.

Now the primitive_types.i extensive test runs properly.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5683 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-24 00:43:47 +00:00
Marcelo Matus
f981296961 fix typos
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5676 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-23 00:25:42 +00:00
William S Fulton
208386909b example correction
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5662 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-21 21:24:46 +00:00
Marcelo Matus
dedb5a9697 - recover the proper catching exception mechanism for classes
(throw typemap).

- fix the examples with exception problems and warnings

- proper and consist treatment of basic types (short, unsigned char,...)

  now all are checked for range and sign. Before, this was depending of
  the use of parsing or no parsing, and/or the converter method, and/or
  the use of directors, etc.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5659 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-21 01:15:10 +00:00
Marcelo Matus
70eee74d3b small error fixes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5649 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-20 20:51:46 +00:00
Marcelo Matus
19f7861039 fix mixed type
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5647 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-20 20:46:31 +00:00
Marcelo Matus
eac20158ef added 'self'
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5637 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-15 09:04:27 +00:00
Marcelo Matus
5566c2a51c added the SWIG_CATCH_STDEXCEPT macro to map stdexcept -> SWIG_exception
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5628 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-13 01:41:19 +00:00
Marcelo Matus
3c53a4771a fixed the *::clone() warning
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5626 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-13 01:38:45 +00:00
Marcelo Matus
209e6dde26 restored the string kw, now it works fine
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5625 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-13 01:38:07 +00:00
Marcelo Matus
ca3b23e9ca Adding missing built-in functions and names to pythonkw.swg and
fixing operator! warning code in python.swg


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5573 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-16 06:00:09 +00:00
Dave Beazley
b459405a64 *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5571 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-16 03:41:33 +00:00
Dave Beazley
7355bdcbd0 Changed warning to 321. 315 already used. Consult Warnings.html for list.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5570 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-16 03:40:00 +00:00
Dave Beazley
36570973db Changed warning message.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5569 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-16 01:58:23 +00:00
Marcelo Matus
20c05c4073 be sure the global bad names refer to global functions
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5567 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-15 19:29:09 +00:00
William S Fulton
9055c5a7b5 Removed default %csmethodmodifiers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5557 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-13 00:18:32 +00:00
William S Fulton
6b3f076018 Removed default %javamethodmodifiers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5556 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-13 00:17:58 +00:00
Dave Beazley
02526f0491 *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5551 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-12 18:29:00 +00:00
Marcelo Matus
cbcd8925df added defined
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5550 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-12 08:25:10 +00:00
Marcelo Matus
f49892c448 using code 315 for bad names only
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5548 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-12 07:15:00 +00:00
Marcelo Matus
39bdc96e3e added ocaml keywords
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5547 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-12 07:12:42 +00:00
Marcelo Matus
f790c57f5d Forgot #undefs, add python bad names, change names from
tclkw.swg and phpkw.swg to the right ones tcl8kw.swg and php8kw.swg.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5546 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-12 06:15:46 +00:00
Marcelo Matus
0c01d1edcc swig -DSWIG_ALLKW was too ugly. Use -Wallkw instead. Reverting swig.swg
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5545 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-12 06:12:29 +00:00
Marcelo Matus
ea0f636eae - Uniform the definition of the keyword warnings through
the supported languages.

- Added keyword list for most of the languages that didn't
  have one.

- "All keywords" warning support, through the -DSWIG_ALLKW
  option.

Read the Changes.current


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5543 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-12 02:23:52 +00:00
Marcelo Matus
14d87ed24d Lateral change to add runtime "reprotection" at the python
side for protected director members.

Lib/python/director.swg: added needed code for runtime checking
Source/Modules/python.cxx: added needed code for runtime checking
director_protected_runme.py: checks now that the runtime protection is working


The extra runtime checking is only done for protected members,
so, the old public directors members don't feel any overhead.

This finished the director protected support for the python language.
Java and Ocalm will need to add the "reprotection" mechanism latter.
But as in the python case, the changes will be localized in the
languages files, and there will be no need to touch the core
files anymore.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5532 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-11 01:59:12 +00:00
William S Fulton
a6f5837d17 Corrected SWIG_JavaThrowException to be static
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5521 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 21:54:59 +00:00
Dave Beazley
c3a422cead *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5513 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 12:44:49 +00:00
Dave Beazley
97e67f76ee Added pack/unpack functions
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5502 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-08 18:07:36 +00:00
William S Fulton
9d0e20d4df Put STRING_OUT typemaps back in.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5493 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-06 23:02:03 +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
Dave Beazley
23c36cd5fd Fixed perl5.005 problems
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5480 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-04 19:14:14 +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
Luigi Ballabio
611fd5d405 Fixed problem with std::vector<unsigned int>
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5470 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-03 08:23:00 +00:00
William S Fulton
80cd6fa68a Fix for INOUT and OUTPUT typemaps for when the JNI type is bigger than the c type.
For example unsigned long (32bits) is mapped to jlong (64bits)


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5466 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-02 22:29:54 +00:00
Dave Beazley
50b6ef5d15 Fixed [ 755382 ] calling func(const vector<T>& p) evaluates p[0] in interp.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5459 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-02 19:47:14 +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
28e32ef4a8 Completely removed SWIG_NOINCLUDE as the functions that use it don't need to be shared across different modules, besides there is no runtime library for C#
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5448 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-30 20:54:49 +00:00
William S Fulton
09ede20459 Completely removed SWIG_NOINCLUDE as the functions that use it don't need to be shared across different modules, besides there is no runtime library for Java
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5447 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-30 20:54:37 +00:00
Dave Beazley
d99face03c Added member pointer typemaps.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5445 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-30 18:53:43 +00:00
William S Fulton
1d279ae267 #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@5440 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-28 23:13:08 +00:00
Dave Beazley
1095ee9859 Added Perl support for member pointers. Some reorganization of other runtime code
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5436 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-28 20:56:17 +00:00
Dave Beazley
9aecb608c5 Fixed (char *STRING, int LENGTH) typemap to use STRLEN type.
Eliminates compiler warning.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5434 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-28 19:24:38 +00:00
Dave Beazley
9eb6a0d8ea Fixed missing variable.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5421 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-26 20:14:13 +00:00
Dave Beazley
7429f62153 Added missing exception.i
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5420 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-26 20:06:52 +00:00
Dave Beazley
919a65fb96 Fixed compilation problems, missing exception.i library.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5417 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-26 19:30:38 +00:00
William S Fulton
5b85519737 Cygwin gcc now uses __declspec(dllexport) for creating exported functions in the runtime library DLLs
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5413 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-25 21:53:02 +00:00
William S Fulton
dfd57099df Corrected SWIGEXPORT to SWIGIMPORT
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5412 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-25 21:51:10 +00:00