avoid cast list elements, add more debug info, add Rubin's multi-module 'mod'example

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8493 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2006-01-20 18:59:06 +00:00
commit c8e5a99ecb
7 changed files with 120 additions and 10 deletions

View file

@ -382,7 +382,8 @@ C_TEST_CASES += \
MULTI_CPP_TEST_CASES += \
clientdata_prop \
imports \
template_typedef_import
template_typedef_import \
mod
NOT_BROKEN_TEST_CASES = $(CPP_TEST_CASES:=.cpptest) \
$(C_TEST_CASES:=.ctest) \

View file

@ -0,0 +1,34 @@
class C;
class A
{
public:
A() {}
C* GetC() { return NULL; }
void DoSomething(A* a) {}
};
class B : public A
{
public:
B() {}
};
class C : public B
{
public:
C() {}
};
class D : public C
{
public:
D() {}
};

View file

@ -0,0 +1,2 @@
mod_a
mod_b

View file

@ -0,0 +1,24 @@
%module mod_a
%{
#include "mod.h"
%}
class C;
class A
{
public:
A() {}
C* GetC() { return NULL; }
void DoSomething(A* a) {}
};
class B : public A
{
public:
B();
};

View file

@ -0,0 +1,22 @@
%module mod_b
%{
#include "mod.h"
%}
%import mod_a.i
class C : public B
{
public:
C() {}
};
class D : public C
{
public:
D() {}
};

View file

@ -0,0 +1,6 @@
import mod_a
import mod_b
c = mod_b.C()
d = mod_b.D()
d.DoSomething(c)