Any 'using' statements in the protected section of a class were previously ignored with dirprot mode, certainly with Java and C#. Also directors - a call to a method being defined in the base class, not overridden in a subcalss, but again overridden in a class derived from the first subclass was not being dispatched correcly to the most derived class - affecting non-scripting languages. Fix for C# is based on recent fix for D.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12419 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2011-02-01 07:02:50 +00:00
commit 4a73d986dd
12 changed files with 209 additions and 21 deletions

View file

@ -53,6 +53,10 @@ protected:
virtual std::string used() {
return pang() + pong();
}
virtual std::string cheer() {
return pang() + pong();
}
};
class Bar : public Foo
@ -63,6 +67,14 @@ public:
return new Bar();
}
std::string callping() {
return ping();
}
std::string callcheer() {
return cheer();
}
std::string pong() {
return "Bar::pong();" + Foo::pong();
}
@ -75,6 +87,7 @@ protected:
std::string ping() {
return "Bar::ping();";
};
using Foo::cheer;
enum Hello {hola, chao};