Ruby director overload and director:except testcase

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9390 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2006-10-03 22:29:37 +00:00
commit 2822cd6f16
2 changed files with 35 additions and 0 deletions

View file

@ -132,6 +132,7 @@ CPP_TEST_CASES += \
director_ignore \
director_namespace_clash \
director_nested \
director_overload \
director_primitives \
director_protected \
director_redefined \

View file

@ -0,0 +1,34 @@
%module(directors="1") director_overload
%feature("director");
#ifdef SWIGPYTHON
%feature("director:except") {
if ($error != NULL) {
throw Swig::DirectorMethodException();
}
}
#endif
#ifdef SWIGRUBY
// Catch ruby exceptions in directors
%feature("director:except") {
throw Swig::DirectorMethodException($error);
}
#endif
%inline %{
class OverloadedClass
{
public:
virtual ~OverloadedClass() {}
virtual void method1() const {}
virtual void method2() const {}
virtual void method3() const {}
// test overloaded method, but not directly after the first method
virtual void method2(bool b) const {}
};
%}