mirror of https://github.com/swig/swig
59 lines
829 B
OpenEdge ABL
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;
|
|
}
|
|
|
|
%}
|
|
|
|
|