Fix %$ismember %rename predicate for members added via %extend

Bug reported was incorrect renaming of PHP built-in functions, such as
next. See PHPFN in phpkw.swg.

Add some tests for the %rename predicates.
This commit is contained in:
William S Fulton 2014-02-18 07:30:55 +00:00
commit 9cbd742b66
5 changed files with 95 additions and 2 deletions

View file

@ -0,0 +1,50 @@
%module rename_predicates
%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() {}
}
%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() {}
%}