blob: f869f4d9c78bf57a404a185ce9b5a4f5a295c1fc (
plain)
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
38
39
40
41
42
43
44
45
46
|
// 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;};
};
%}
|