summaryrefslogtreecommitdiff
path: root/Examples/test-suite/rename_predicates.i
blob: 13fb3e1e4a5462f689d543f5384717e129c88d7e (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
%module rename_predicates

// Test a few of the predicates - %$isfunction etc
%rename("AF_%(utitle)s", %$isfunction) "";
%rename("MF_%(utitle)s", %$isfunction, %$ismember) "";
%rename("GF_%(utitle)s", %$isfunction, %$not %$ismember) "";
%rename("MV_%(utitle)s", %$isvariable) "";
%rename("GV_%(utitle)s", %$isvariable, %$isglobal) "";

%extend RenamePredicates {
  void extend_function_before() {}
}

%inline %{
struct RenamePredicates {
  RenamePredicates(int v = 0) : member_variable(v) {}
  void member_function() {}
  static void static_member_function() {}
  int member_variable;
  static int static_member_variable;
};
int RenamePredicates::static_member_variable = 456;
int global_variable = 789;
void global_function() {}
%}

%extend RenamePredicates {
  void extend_function_after() {}
}

// Test the various %rename functions - %(upper) etc
%rename("UC_%(upper)s") "uppercase";
%rename("LC_%(lower)s") "LOWERcase";
%rename("TI_%(title)s") "title";
%rename("FU_%(firstuppercase)s") "firstUpperCase";
%rename("FL_%(firstlowercase)s") "FirstLowerCase";
%rename("CA_%(camelcase)s") "camel_Case";
%rename("LC_%(lowercamelcase)s") "Lower_camel_Case";
%rename("UC_%(undercase)s") "UnderCaseIt";

%inline %{
void uppercase() {}
void LOWERcase() {}
void title() {}
void firstUpperCase() {}
void FirstLowerCase() {}
void camel_Case() {}
void Lower_camel_Case() {}
void UnderCaseIt() {}
%}

// Test renaming only member functions in %extend
%rename("EX_%(upper)s", %$isfunction, %$isextendmember) "";
%extend ExtendCheck {
  void ExtendMethod1() {}
}
%inline %{
struct ExtendCheck {
  void RealMember1() {}
#ifdef SWIG
  %extend {
    void ExtendMethod2() {}
  }
#endif
  void RealMember2() {}
};
%}
%extend ExtendCheck {
  void ExtendMethod3() {}
}