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

@ -59,9 +59,22 @@
public:
virtual C get_value() const = 0;
using Bar::do_advance;
};
}
%template(FooBar_int) FooBar<int>;
%inline %{
struct SomeBase {
virtual ~SomeBase() {}
virtual void method1() {}
virtual void method2() {}
};
struct PrivateDerived : SomeBase {
private:
virtual void method1() {}
using SomeBase::method2;
};
%}