swig/Examples/test-suite/using_member_scopes.i
William S Fulton 7f97278739 Testcase correction for using declaration and members
The compiler calls setWindowGrab(bool) instead of setWindowsGrab(NativeWindowType*)
and gives a warning with Visual C++ when calling setWindowGrab(true)
with a pointer to ApplicationContextSDL.
Looks like function function hiding of the non-virtual method.
I can't see this changing testing of the original bug.
2022-03-16 22:42:27 +00:00

31 lines
1.1 KiB
OpenEdge ABL

%module using_member_scopes
// Fully qualifying parameter types in a method declared after the using declaration caused
// a method being incorrectly added by the using declaration even though the declaration already existed
%inline %{
namespace OgreBites
{
struct NativeWindowType {};
class ApplicationContextBase {
public:
virtual ~ApplicationContextBase() {}
virtual void setWindowGrab(NativeWindowType* win, bool grab = true) {}
void setWindowGrab(bool grab = true) {}
};
class ApplicationContextSDL : public ApplicationContextBase {
public:
using ApplicationContextBase::setWindowGrab;
void setWindowGrab(NativeWindowType* win, bool grab = true) {} // This should not be added again as it exists in base class
};
/*
typedef not working yet
class ApplicationContextSDL2 : public ApplicationContextBase {
public:
using ApplicationContextBase::setWindowGrab;
typedef NativeWindowType* pNWT;
void setWindowGrab(pNWT win, bool grab) {} // This should not be added again as it exists in base class
};
*/
}
%}