using better names for frob
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5664 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
e810800783
commit
e524a03a55
6 changed files with 40 additions and 34 deletions
|
|
@ -112,6 +112,7 @@ CPP_TEST_CASES += \
|
|||
director_basic \
|
||||
director_detect \
|
||||
director_exception \
|
||||
director_frob \
|
||||
director_finalizer \
|
||||
director_nested \
|
||||
director_protected \
|
||||
|
|
|
|||
39
Examples/test-suite/director_frob.i
Normal file
39
Examples/test-suite/director_frob.i
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
%module(directors="1") frob;
|
||||
|
||||
%header %{
|
||||
#include <iostream>
|
||||
%}
|
||||
|
||||
%feature("director");
|
||||
%feature("nodirector") Bravo::abs_method(); // ok
|
||||
%feature("director") Charlie::abs_method(); // ok
|
||||
%feature("nodirector") Delta::abs_method(); // doesn't work
|
||||
|
||||
%inline %{
|
||||
|
||||
struct Alpha
|
||||
{
|
||||
virtual ~Alpha() { };
|
||||
virtual const char* abs_method() = 0;
|
||||
};
|
||||
|
||||
struct Bravo : Alpha
|
||||
{
|
||||
const char* abs_method()
|
||||
{
|
||||
return "Bravo::abs_method()";
|
||||
}
|
||||
};
|
||||
|
||||
struct Charlie : Bravo
|
||||
{
|
||||
const char* abs_method()
|
||||
{
|
||||
return "Charlie::abs_method()";
|
||||
}
|
||||
};
|
||||
|
||||
struct Delta : Charlie
|
||||
{
|
||||
};
|
||||
%}
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
%module(directors="1") frob;
|
||||
|
||||
%header %{
|
||||
#include <iostream>
|
||||
%}
|
||||
|
||||
%feature("director") Alpha;
|
||||
%feature("director") Bravo;
|
||||
|
||||
%feature("nodirector") Bravo::abs_method();
|
||||
|
||||
%inline %{
|
||||
class Alpha
|
||||
{
|
||||
public:
|
||||
Alpha() { }
|
||||
virtual ~Alpha() { };
|
||||
virtual const char* abs_method() = 0;
|
||||
};
|
||||
|
||||
class Bravo : public Alpha
|
||||
{
|
||||
public:
|
||||
Bravo() { }
|
||||
virtual ~Bravo() { };
|
||||
virtual const char* abs_method();
|
||||
};
|
||||
|
||||
const char*
|
||||
Bravo::abs_method()
|
||||
{
|
||||
return "Bravo::abs_method()";
|
||||
}
|
||||
%}
|
||||
Loading…
Add table
Add a link
Reference in a new issue