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:
parent
96609f350e
commit
4a73d986dd
12 changed files with 209 additions and 21 deletions
|
|
@ -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};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue