#ifndef JAVASCRIPT_JAVASCRIPTKW_SWG_
#define JAVASCRIPT_JAVASCRIPTKW_SWG_

/* Warnings for Javascript keywords: note that we allow the use of keywords for members, as they're used as property names in JS and properties don't conflict with keywords. */
#define JAVASCRIPTKW(x) %keywordwarn("'" `x` "' is a javascript keyword",%$not %$ismember,rename="_%s")  `x`

/* Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#keywords */
/* This the union of all currently reserved keywords in ECMAScript 4 to 6 in both sloppy and strict mode */

JAVASCRIPTKW(arguments);
JAVASCRIPTKW(await);
JAVASCRIPTKW(break);
JAVASCRIPTKW(case);
JAVASCRIPTKW(catch);
JAVASCRIPTKW(class);
JAVASCRIPTKW(const);
JAVASCRIPTKW(continue);
JAVASCRIPTKW(debugger);
JAVASCRIPTKW(default);
JAVASCRIPTKW(delete);
JAVASCRIPTKW(do);
JAVASCRIPTKW(else);
JAVASCRIPTKW(enum);
JAVASCRIPTKW(eval);
JAVASCRIPTKW(export);
JAVASCRIPTKW(extends);
JAVASCRIPTKW(false);
JAVASCRIPTKW(finally);
JAVASCRIPTKW(for);
JAVASCRIPTKW(function);
JAVASCRIPTKW(if);
JAVASCRIPTKW(implements);
JAVASCRIPTKW(import);
JAVASCRIPTKW(in);
JAVASCRIPTKW(instanceof);
JAVASCRIPTKW(interface);
JAVASCRIPTKW(let);
JAVASCRIPTKW(new);
JAVASCRIPTKW(null);
JAVASCRIPTKW(package);
JAVASCRIPTKW(private);
JAVASCRIPTKW(protected);
JAVASCRIPTKW(public);
JAVASCRIPTKW(return);
JAVASCRIPTKW(static);
JAVASCRIPTKW(super);
JAVASCRIPTKW(switch);
JAVASCRIPTKW(this);
JAVASCRIPTKW(throw);
JAVASCRIPTKW(try);
JAVASCRIPTKW(typeof);
JAVASCRIPTKW(var);
JAVASCRIPTKW(void);
JAVASCRIPTKW(while);
JAVASCRIPTKW(with);
JAVASCRIPTKW(yield);

/* others bad names if any*/
// for example %namewarn("321:clone() is a javascript bad method name") *::clone();

#undef JAVASCRIPTKW

#endif //JAVASCRIPT_JAVASCRIPTKW_SWG_
