js/src/jskeyword.tbl
author Gregory Szorc <gps@mozilla.com>
Wed, 28 Jan 2015 13:37:00 -0800
branchGECKO150_2012082116_RELBRANCH
changeset 120236 ad02f479b381c40651355b13806cf8ee08761ccd
parent 98529 f4157e8c410708d76703f19e4dfb61859bfe32d8
child 113290 94d4f04bb326ee9969fecc5a4a048bdd7aeda2ad
permissions -rw-r--r--
Close old release branch GECKO150_2012082116_RELBRANCH

/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 * vim: set sw=4 ts=8 et tw=80:
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

JS_KEYWORD(false,       TOK_FALSE,      JSOP_FALSE,     JSVERSION_DEFAULT)
JS_KEYWORD(true,        TOK_TRUE,       JSOP_TRUE,      JSVERSION_DEFAULT)
JS_KEYWORD(null,        TOK_NULL,       JSOP_NULL,      JSVERSION_DEFAULT)

/* ES5 Keywords. */
JS_KEYWORD(break,       TOK_BREAK,      JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(case,        TOK_CASE,       JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(catch,       TOK_CATCH,      JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(continue,    TOK_CONTINUE,   JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(debugger,    TOK_DEBUGGER,   JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(default,     TOK_DEFAULT,    JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(delete,      TOK_DELETE,     JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(do,          TOK_DO,         JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(else,        TOK_ELSE,       JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(finally,     TOK_FINALLY,    JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(for,         TOK_FOR,        JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(function,    TOK_FUNCTION,   JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(if,          TOK_IF,         JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(in,          TOK_IN,         JSOP_IN,        JSVERSION_DEFAULT)
JS_KEYWORD(instanceof,  TOK_INSTANCEOF, JSOP_INSTANCEOF,JSVERSION_DEFAULT)
JS_KEYWORD(new,         TOK_NEW,        JSOP_NEW,       JSVERSION_DEFAULT)
JS_KEYWORD(return,      TOK_RETURN,     JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(switch,      TOK_SWITCH,     JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(this,        TOK_THIS,       JSOP_THIS,      JSVERSION_DEFAULT)
JS_KEYWORD(throw,       TOK_THROW,      JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(try,         TOK_TRY,        JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(typeof,      TOK_TYPEOF,     JSOP_TYPEOF,    JSVERSION_DEFAULT)
JS_KEYWORD(var,         TOK_VAR,        JSOP_DEFVAR,    JSVERSION_DEFAULT)
JS_KEYWORD(void,        TOK_VOID,       JSOP_VOID,      JSVERSION_DEFAULT)
JS_KEYWORD(while,       TOK_WHILE,      JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(with,        TOK_WITH,       JSOP_NOP,       JSVERSION_DEFAULT)

/* ES5 reserved keywords reserved in all code. */
JS_KEYWORD(class,       TOK_RESERVED,   JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(enum,        TOK_RESERVED,   JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(export,      TOK_RESERVED,   JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(extends,     TOK_RESERVED,   JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(import,      TOK_RESERVED,   JSOP_NOP,       JSVERSION_DEFAULT)
JS_KEYWORD(super,       TOK_RESERVED,   JSOP_NOP,       JSVERSION_DEFAULT)

/*
 * ES5 reserved keywords with long-implemented behavior, allowed in our
 * implementation to ease code migration.
 */
#if JS_HAS_CONST
JS_KEYWORD(const,       TOK_CONST,      JSOP_DEFCONST,  JSVERSION_DEFAULT)
#else
JS_KEYWORD(const,       TOK_RESERVED,   JSOP_NOP,       JSVERSION_DEFAULT)
#endif
#if JS_HAS_BLOCK_SCOPE
JS_KEYWORD(let,         TOK_LET,             JSOP_NOP,  JSVERSION_1_7)
#else
JS_KEYWORD(let,         TOK_STRICT_RESERVED, JSOP_NOP,  JSVERSION_1_7)
#endif
#if JS_HAS_GENERATORS
JS_KEYWORD(yield,       TOK_YIELD,           JSOP_NOP,  JSVERSION_1_7)
#else
JS_KEYWORD(yield,       TOK_STRICT_RESERVED, JSOP_NOP,  JSVERSION_1_7)
#endif

/* ES5 future reserved keywords in strict mode. */
JS_KEYWORD(implements,  TOK_STRICT_RESERVED, JSOP_NOP,  JSVERSION_DEFAULT)
JS_KEYWORD(interface,   TOK_STRICT_RESERVED, JSOP_NOP,  JSVERSION_DEFAULT)
JS_KEYWORD(package,     TOK_STRICT_RESERVED, JSOP_NOP,  JSVERSION_DEFAULT)
JS_KEYWORD(private,     TOK_STRICT_RESERVED, JSOP_NOP,  JSVERSION_DEFAULT)
JS_KEYWORD(protected,   TOK_STRICT_RESERVED, JSOP_NOP,  JSVERSION_DEFAULT)
JS_KEYWORD(public,      TOK_STRICT_RESERVED, JSOP_NOP,  JSVERSION_DEFAULT)
JS_KEYWORD(static,      TOK_STRICT_RESERVED, JSOP_NOP,  JSVERSION_DEFAULT)