Commit graph

79 commits

Author SHA1 Message Date
Marcelo Matus
70e2cbd5a6 move simple template test outside
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5826 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-03 08:41:41 +00:00
Marcelo Matus
4220781986 more cases
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5825 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-03 08:38:12 +00:00
Marcelo Matus
158e4d03d7 added the now explicitly needed macro:
#define SWIG_STD_EXTEND_COMPARISON

note: you don't need this one for most of the cases


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5823 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-02 02:44:34 +00:00
Marcelo Matus
ffd76a5b4e add ptr cases
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5819 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-01 18:49:22 +00:00
Marcelo Matus
e6d14ad72c added more especial methods for python
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5817 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-01 05:12:23 +00:00
Marcelo Matus
74f9ade9f7 more cases
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5816 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-01 04:08:18 +00:00
Marcelo Matus
2ecbbbf107 moving the 'unnamed' macros outside swig.swg, for better mantainance
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5809 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-31 04:18:11 +00:00
Marcelo Matus
f0cb509b70 fix for old STL std::string
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5804 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-30 08:13:26 +00:00
Marcelo Matus
6e6356622b disable complex test for C compilers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5799 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-29 21:40:57 +00:00
Marcelo Matus
1907bc9a96 fix range problem for complex<float>, found by szabi@mplayerhq.hu
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5798 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-29 21:37:09 +00:00
Marcelo Matus
2f4bf186cc more cases
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5796 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-29 06:01:39 +00:00
Marcelo Matus
374de2b261 added template test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5790 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-23 01:12:06 +00:00
Marcelo Matus
5a656bf645 more tests
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5784 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-21 23:38:59 +00:00
Marcelo Matus
e83c226741 add 'attribute' macros for python
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5777 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-20 00:08:36 +00:00
Marcelo Matus
c8d7e4d971 new tests for string and directors+containers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5772 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-18 21:30:24 +00:00
Marcelo Matus
64973655da fix old std_pair version
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5760 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 10:45:19 +00:00
Marcelo Matus
9e22799f04 more test files for STL
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5759 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 09:52:22 +00:00
Marcelo Matus
359d862a49 add vector test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5758 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 09:49:17 +00:00
Marcelo Matus
4267bda1a9 add test for the mangling extension #@ preproc.i
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5757 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 09:44:35 +00:00
William S Fulton
197b15b0ec Replace ; with && where appropriate. This fixes the makefiles so that Make correctly errors out rather than blindly carrying on when some error occurs.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5731 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-20 22:57:23 +00:00
William S Fulton
cff68da57b overloading when SWIG cannot disambiguate parameters tests added
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5711 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-12 21:45:11 +00:00
Marcelo Matus
5291809136 add argcargv test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5708 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-10 10:02:33 +00:00
Marcelo Matus
f16583559c now use the new argcargv.i
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5707 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-10 09:55:58 +00:00
Marcelo Matus
d29dbe752d Keep the old non-resolved type str and add the fully
resolved one if is needed.

Add examples showing the problem with SWIG_TypeQuery
and template+typedef and the old type str, and how
it works now.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5704 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-10 08:37:30 +00:00
Marcelo Matus
cff86e376c add complex test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5693 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-28 01:38:59 +00:00
Marcelo Matus
b85c9ace6b Fix long long and other warnings.
Add the macros

%typemap_asfromcheck()
%typemap_asfrom()

that can be used to defined all the different typemaps
for types where the As/From/Check methods are provided.

All the basic type (int, char,...) typemaps are implemented
using them.

The std::string and std::complex<T> are reimplemented using
the new %typemap_asfrom/check macros too. This helps to complete
all the previously missing typemaps (consttab, varin, varout,..)
and also ilustrates how to define the As/From/Check methods
to use with the %typemap_asfrom/check macros.

As a byproduct, the C complex typemap was added, and the file

complex.i

can be used to load the complex support for either C or C++. The
original C++ std_complex.i is still there, and the corresponding C
ccomplex.i too, if they need to be included explicitly.

Also, the As/From methods are declared via %fragment, so, they
can be reused as needed, and only appear in the wrapped code if
they corresponding typemap is invoked, making the typemaps
and the entire code shorter and simpler.


Marcelo.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5691 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-28 01:30:13 +00:00
Marcelo Matus
aabed0eedf add support for char* to accepts char* :), before
they only accept PyStrings.

now the raw pointer from calloc.i, for example, works
fine.

some of the SWIG_PyObj_(As|From)XXX routines are getting
too large, so, they also will go into the runtime library.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5689 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-26 11:55:22 +00:00
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
9d10f61cbd add extensive tests for the primitive types, it will crash in almost every language now, see the file for instructions about some typemaps that need to be fixed
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5680 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-24 00:21:02 +00:00
Marcelo Matus
55e0ea52bd added refcount example using the old macro way and the proposed ref/unref features
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5667 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 06:26:17 +00:00
Marcelo Matus
baf05fd515 added test for simple virtual derivation, where ruby fails
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5666 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 06:23:57 +00:00
Marcelo Matus
e63a259672 also, change the module name to director_frob
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5665 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 00:52:06 +00:00
Marcelo Matus
f7a318c637 using better names for frob
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5664 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 00:41:37 +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
6b0485b6b5 fixes for the nodirector feature and the '0' director member case
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5657 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-21 00:46:08 +00:00
Marcelo Matus
66c14bc75a add python runme
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5648 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-20 20:49:05 +00:00
Marcelo Matus
b32024f2ab fix precatching exception behaviour to postcatching
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5617 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-12 23:40:58 +00:00
Marcelo Matus
b45d143ea2 added a reference polymorphic return type case, and
some extra test for the Java side.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5596 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-24 06:53:47 +00:00
Marcelo Matus
a152fd46a8 using static narrow methods instead of %extended ones.
now it looks more natural and similar to the CORBA downcasting mechanism.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5587 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-23 10:10:04 +00:00
Marcelo Matus
575a54adfd added the ruby runtime case and more comments.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5584 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-22 10:41:33 +00:00
Marcelo Matus
c5cf57b254 Added a simple example where the current universal
Java wrapping mechanism doesn't work, showing the
need to use a different way to wrap polymorphic classes.

They are two runtime examples: one for java, which is
failing, and one for python, which works fine.

Detailed description of the case can be found
in the three files committed.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5582 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-22 06:26:44 +00:00
Marcelo Matus
8158b1f2ec These is the current tests for the friend function support.
They will give you and idea of what is currently working.

If you have another case you think we need to test, please
send me an email to add it and trying it here.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5581 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-20 07:46:27 +00:00
William S Fulton
272c42913e Added test for %import
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5540 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-11 21:33:34 +00:00
William S Fulton
67d84e142a base() changed to basemethod() - base is a C# keyword
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5536 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-11 21:16:21 +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
Dave Beazley
f92e4b1c6c Added test case just to check a few things with protected/private virtual methods
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5515 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 17:50:29 +00:00
Marcelo Matus
8199b93d1d detecting polymorphic virtual methods properly
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5511 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 10:36:15 +00:00
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
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