1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
%module typedef_typedef
// Check C::Bar::Foo resolves to A::Foo in typemap search
%typemap(in) SWIGTYPE, int "__wrong_in_typemap__will_not_compile__"
%typemap(in) A::Foo {
$1 = 1234; /* A::Foo in typemap */
}
%inline %{
struct A
{
typedef int Foo;
};
struct C
{
typedef A Bar;
};
struct B
{
C::Bar::Foo getValue(C::Bar::Foo intvalue) {
return intvalue;
}
};
%}
/*
An issue can be the steps resolution.
1) C::Bar is A. So C::Bar::Foo should be first resolved as A::Foo.
2) Then A::Foo should be resolved int.
If the first step is skipped the typemap is not applied.
*/
|