mirror of https://github.com/swig/swig
62 lines
949 B
OpenEdge ABL
62 lines
949 B
OpenEdge ABL
%module python_pythoncode
|
|
|
|
// github issue#379 - these examples failed with 3.0.5 and earlier (at least as
|
|
// far back as 1.3.37):
|
|
|
|
struct TYPE {
|
|
%pythoncode %{
|
|
def one():
|
|
a = 1
|
|
# Comment XXXX
|
|
return a
|
|
%}
|
|
};
|
|
|
|
%define %bar
|
|
%pythoncode %{
|
|
def one():
|
|
a = 1
|
|
#
|
|
return a
|
|
%}
|
|
%enddef
|
|
|
|
struct TYPE2 {
|
|
%bar
|
|
};
|
|
|
|
%{
|
|
struct TYPE { };
|
|
struct TYPE2 { };
|
|
%}
|
|
|
|
|
|
// Overriding __new__ test: https://github.com/swig/swig/pull/1357
|
|
%inline %{
|
|
class Foo {
|
|
public:
|
|
virtual ~Foo() {}
|
|
Foo() {}
|
|
};
|
|
|
|
Foo* get_foo() {return new Foo();}
|
|
%}
|
|
|
|
%pythoncode %{
|
|
print_debug = False
|
|
%}
|
|
|
|
%extend Foo {
|
|
// Note that %pythoncode is not available with -builtin
|
|
%pythoncode %{
|
|
def __new__(cls, *args, **kwargs):
|
|
if print_debug:
|
|
print('in Foo.__new__()')
|
|
return super(Foo, cls).__new__(cls)
|
|
|
|
def __init__(self):
|
|
if print_debug:
|
|
print('in Foo.__init__()')
|
|
%}
|
|
};
|