1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- 2 * vim: set ts=8 sts=4 et sw=4 tw=99: 3 * This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef jsversion_h 8 #define jsversion_h 9 10 /* 11 * JS Capability Macros. 12 */ 13 #define JS_HAS_STR_HTML_HELPERS 1 /* (no longer used) */ 14 #define JS_HAS_OBJ_PROTO_PROP 1 /* has o.__proto__ etc. */ 15 #define JS_HAS_OBJ_WATCHPOINT 1 /* has o.watch and o.unwatch */ 16 #define JS_HAS_TOSOURCE 1 /* has Object/Array toSource method */ 17 #define JS_HAS_CATCH_GUARD 1 /* has exception handling catch guard */ 18 #define JS_HAS_UNEVAL 1 /* has uneval() top-level function */ 19 #define JS_HAS_CONST 1 /* (no longer used) */ 20 #define JS_HAS_FUN_EXPR_STMT 1 /* (no longer used) */ 21 #define JS_HAS_FOR_EACH_IN 1 /* has for each (lhs in iterable) */ 22 #define JS_HAS_GENERATORS 1 /* (no longer used) */ 23 #define JS_HAS_BLOCK_SCOPE 1 /* (no longer used) */ 24 #define JS_HAS_DESTRUCTURING 2 /* (no longer used) */ 25 #define JS_HAS_GENERATOR_EXPRS 1 /* has (expr for (lhs in iterable)) */ 26 #define JS_HAS_EXPR_CLOSURES 1 /* has function (formals) listexpr */ 27 28 /* (no longer used) */ 29 #define JS_HAS_NEW_GLOBAL_OBJECT 1 30 31 /* (no longer used) */ 32 #define JS_HAS_DESTRUCTURING_SHORTHAND (JS_HAS_DESTRUCTURING == 2) 33 34 /* 35 * Feature for Object.prototype.__{define,lookup}{G,S}etter__ legacy support; 36 * support likely to be made opt-in at some future time. 37 */ 38 #define JS_OLD_GETTER_SETTER_METHODS 1 39 40 #ifdef NIGHTLY_BUILD 41 42 /* Support for ES7 Exponentiation proposal. */ 43 #define JS_HAS_EXPONENTIATION 1 44 45 #endif // NIGHTLY_BUILD 46 47 #endif /* jsversion_h */ 48