blob: f869f4d9c78bf57a404a185ce9b5a4f5a295c1fc [file] [log] [blame]
// This file tests SWIG's tracking of C++ typedef declarations
%module cpp_typedef
%{
class Bar {
public:
};
%}
%inline %{
class Foo {
public:
typedef Bar SomeBar;
typedef SomeBar SomeOtherBar;
SomeOtherBar bar() {
SomeOtherBar b;
return b;
}
static SomeOtherBar sbar() {
SomeOtherBar b;
return b;
}
};
// Test that the correct types are used for typedef struct declarations
typedef struct {
} UnnamedStruct;
typedef struct NamedStruct {
} TypedefNamedStruct;
typedef TypedefNamedStruct DoubleTypedef;
class Test {
public:
UnnamedStruct test1(UnnamedStruct a) {return a;};
struct NamedStruct test2(struct NamedStruct a) {return a;};
TypedefNamedStruct test3(TypedefNamedStruct a) {return a;};
DoubleTypedef test4(DoubleTypedef a) {return a;};
};
%}