mirror of https://github.com/swig/swig
41 lines
1.1 KiB
OpenEdge ABL
41 lines
1.1 KiB
OpenEdge ABL
%module python_annotations_c
|
|
|
|
// Tests the C/C++ annotations that were automatically added by using -py3 before swig-4.1.0
|
|
// In swig-4.1.0 and later, the feature below is needed as the -py3 option was dropped
|
|
%feature("python:annotations", "c") mymethod;
|
|
%feature("python:annotations", "c") makeT<short>;
|
|
%feature("python:annotations", "c") global_ints;
|
|
|
|
%inline %{
|
|
namespace Space {
|
|
template<class T>
|
|
struct Template {
|
|
void mymethod(int, Template* tt) {}
|
|
};
|
|
}
|
|
template<typename T>
|
|
Space::Template<T> makeT(int x) {
|
|
return Space::Template<T>();
|
|
};
|
|
int *global_ints(int &ri, Space::Template<short> t) { return &ri; }
|
|
int *global_overloaded(int &ri) { return &ri; }
|
|
int *global_overloaded() { return NULL; }
|
|
int *no_annotations(int &ri, const char *c) { return NULL; }
|
|
%}
|
|
%template(TemplateShort) Space::Template<short>;
|
|
%template(MakeShort) makeT<short>;
|
|
|
|
%inline %{
|
|
#ifdef SWIGPYTHON_BUILTIN
|
|
int is_python_builtin() { return 1; }
|
|
#else
|
|
int is_python_builtin() { return 0; }
|
|
#endif
|
|
|
|
#if defined SWIGPYTHON_FASTPROXY
|
|
int is_python_fastproxy() { return 1; }
|
|
#else
|
|
int is_python_fastproxy() { return 0; }
|
|
#endif
|
|
%}
|