swig/Examples/test-suite/keyword_rename.i

59 lines
829 B
OpenEdge ABL

/*
* Test reserved keyword renaming
*/
%module keyword_rename
%feature("kwargs");
#pragma SWIG nowarn=SWIGWARN_PARSE_KEYWORD
%inline %{
#define KW(x, y) int x (int y) { return y; }
/* Python keywords */
KW(in, except)
KW(except, in)
KW(pass, in)
/* Perl keywords */
KW(tie, die)
KW(use, next)
/* Java keywords */
KW(implements, native)
KW(synchronized, final)
/* C# Keywords */
KW(string, out)
struct stackalloc {int i;};
/* Go Keywords */
KW(go, defer)
KW(chan, fallthrough)
/* Lua keywords */
KW(end, function)
KW(nil,local)
/* Javascript keywords */
KW(instanceof, finally)
KW(finally, instanceof)
KW(yield, with)
/* Keywords used as member variables shouldn't be renamed in Javascript. */
struct S {
int yield;
};
struct S make_S_with_yield(int yield) {
struct S s;
s.yield = yield;
return s;
}
%}