Add Python testcase for testing flatstaticmethod syntax
For testing legacy flattened static method access for when issue #2137 is applied.
This commit is contained in:
parent
3aa302c08f
commit
2272d00c1a
4 changed files with 123 additions and 4 deletions
36
Examples/test-suite/python_flatstaticmethod.i
Normal file
36
Examples/test-suite/python_flatstaticmethod.i
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
%module python_flatstaticmethod
|
||||
|
||||
// This testcase tests C++ class static functions when using legacy "flattened"
|
||||
// staticmethod access, A_bar, as well as the normal staticmethod access, A.bar.
|
||||
|
||||
%callback(1) A::bar;
|
||||
%feature("kwargs") A::pub;
|
||||
%feature("autodoc","0") A::func0static; // names
|
||||
%feature("autodoc","1") A::func1static; // names + types
|
||||
// special typemap and its docs
|
||||
%typemap(in) (int c, int d) "$1 = 0; $2 = 0;";
|
||||
%typemap(doc,name="hello",type="Tuple") (int c, int d) "hello: int tuple[2]";
|
||||
|
||||
%inline %{
|
||||
struct A {
|
||||
static int bar(int a) {
|
||||
return 2*a;
|
||||
}
|
||||
static int pub(int a = 1, int b = 0) {
|
||||
return a + b;
|
||||
}
|
||||
static int func0static(A *e, short, int c, int d, double f = 2) { return 0; }
|
||||
static int func1static(A *e, short, int c, int d, double f = 2) { return 0; }
|
||||
|
||||
static const char *over(int) { return "over:int"; }
|
||||
static const char *over(double) { return "over:double"; }
|
||||
static const char *over(char *) { return "over:char *"; }
|
||||
|
||||
static int defargs(int xx = 10, int yy = 20) { return xx + yy; }
|
||||
};
|
||||
|
||||
extern "C" int foobar(int a, int (*pf)(int a)) {
|
||||
return pf(a);
|
||||
}
|
||||
%}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue