This is done in preparation for adding namespace support to the Ruby part of SWIG. Some existing test cases were reorganized or duplicated for flat/nonflat nesting. For some a Ruby test script was added. Finally the ruby/Makefile.in was improved so that for test cases without an explicit test script, the generated wrapper library will be loaded by the Ruby interpreter to ensure loading works fine.
35 lines
626 B
OpenEdge ABL
35 lines
626 B
OpenEdge ABL
%module template_static
|
|
|
|
%warnfilter(SWIGWARN_RUBY_WRONG_NAME) foo<int>; /* Ruby, wrong class name */
|
|
%warnfilter(SWIGWARN_RUBY_WRONG_NAME) foo<double>; /* Ruby, wrong class name */
|
|
|
|
%inline %{
|
|
template<class T> class foo {
|
|
public:
|
|
static int test;
|
|
};
|
|
template<class T> int foo<T>::test = 0;
|
|
%}
|
|
|
|
%template(foo_i) foo<int>;
|
|
%template(foo_d) foo<double>;
|
|
|
|
|
|
%inline %{
|
|
namespace toto {
|
|
class Foo {
|
|
public:
|
|
static int test;
|
|
template<class T>
|
|
static double bar(int i) {
|
|
return 1.0;
|
|
}
|
|
|
|
private:
|
|
int i;
|
|
};
|
|
}
|
|
int toto::Foo::test = 5;
|
|
%}
|
|
|
|
%template(bar_double) toto::Foo::bar<double>;
|