| %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. |
| |
| */ |