| %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__()') |
| %} |
| }; |