Merge branch 'SFbug1299' of https://github.com/BrantKyser/swig into BrantKyser-SFbug1299

This commit is contained in:
William S Fulton 2013-01-11 23:12:06 +00:00
commit 5889d7bfdd
10 changed files with 198 additions and 124 deletions

View file

@ -178,6 +178,7 @@ CPP_TEST_CASES += \
director_keywords \
director_namespace_clash \
director_nspace \
director_nspace_director_name_collision \
director_nested \
director_overload \
director_overload2 \

View file

@ -0,0 +1,66 @@
%module(directors="1") director_nspace_director_name_collision
#ifdef SWIGJAVA
SWIG_JAVABODY_PROXY(public, public, SWIGTYPE)
SWIG_JAVABODY_TYPEWRAPPER(public, public, public, SWIGTYPE)
#endif
%{
#include <string>
namespace TopLevel
{
namespace A
{
class Foo {
public:
virtual ~Foo() {}
virtual std::string ping() { return "TopLevel::A::Foo::ping()"; }
};
}
namespace B
{
class Foo {
public:
virtual ~Foo() {}
virtual std::string ping() { return "TopLevel::B:Foo::ping()"; }
};
}
}
%}
%include <std_string.i>
// nspace feature only supported by these languages
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGD)
%nspace TopLevel::A::Foo;
%nspace TopLevel::B::Foo;
#else
#warning nspace feature not yet supported in this target language
#endif
%feature("director") TopLevel::A::Foo;
%feature("director") TopLevel::B::Foo;
namespace TopLevel
{
namespace A
{
class Foo {
public:
virtual ~Foo();
virtual std::string ping();
};
}
namespace B
{
class Foo {
public:
virtual ~Foo();
virtual std::string ping();
};
}
}

View file

@ -46,6 +46,7 @@ SWIGOPT += -package $(JAVA_PACKAGE)
nspace.%: JAVA_PACKAGE = $*Package
nspace_extend.%: JAVA_PACKAGE = $*Package
director_nspace.%: JAVA_PACKAGE = $*Package
director_nspace_director_name_collision.%: JAVA_PACKAGE = $*Package
# Rules for the different types of tests
%.cpptest: