%interface family of macros no longer add variable wrappers
The getter/setter methods used for wrapping methods are no longer added to the interface class. Closes #1524 Also add in testcase for enums.
This commit is contained in:
parent
63bbf642f4
commit
598736a6b2
7 changed files with 48 additions and 2 deletions
|
|
@ -83,5 +83,7 @@ public class multiple_inheritance_interfaces_runme {
|
|||
d.ia(10);
|
||||
d.ia("bye");
|
||||
d.ia("bye", false);
|
||||
|
||||
UndesirablesSwigImpl.UndesiredStaticMethod(UndesirablesSwigImpl.UndesiredEnum.UndesiredEnum1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,5 +74,7 @@ public class multiple_inheritance_interfaces_runme {
|
|||
d.ia(10);
|
||||
d.ia("bye");
|
||||
d.ia("bye", false);
|
||||
|
||||
UndesirablesSwigImpl.UndesiredStaticMethod(UndesirablesSwigImpl.UndesiredEnum.UndesiredEnum1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,33 @@ struct V : S {};
|
|||
struct W : T {};
|
||||
%}
|
||||
|
||||
#if defined(SWIGJAVA) || defined(SWIGCSHARP)
|
||||
%interface_impl(Undesirables);
|
||||
#endif
|
||||
|
||||
%inline %{
|
||||
// Don't put variables and enums into interface
|
||||
class Undesirables
|
||||
{
|
||||
public:
|
||||
Undesirables() : UndesiredVariable() {}
|
||||
virtual ~Undesirables() {}
|
||||
virtual void Method(int i) = 0;
|
||||
|
||||
enum UndesiredEnum { UndesiredEnum1, UndesiredEnum2 };
|
||||
static void UndesiredStaticMethod(UndesiredEnum e) {}
|
||||
int UndesiredVariable;
|
||||
static int UndesiredStaticVariable;
|
||||
static const int UndesiredStaticConstVariable = 0;
|
||||
};
|
||||
|
||||
int Undesirables::UndesiredStaticVariable = 0;
|
||||
|
||||
struct UndesirablesDerived : Undesirables {
|
||||
virtual void Method(int i) {}
|
||||
};
|
||||
%}
|
||||
|
||||
#if defined(SWIGJAVA) || defined(SWIGCSHARP)
|
||||
%interface_impl(BaseOverloaded);
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue