jsversion.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. #ifndef jsversion_h
  7. #define jsversion_h
  8. /*
  9. * JS Capability Macros.
  10. */
  11. #define JS_HAS_STR_HTML_HELPERS 1 /* (no longer used) */
  12. #define JS_HAS_OBJ_PROTO_PROP 1 /* has o.__proto__ etc. */
  13. #define JS_HAS_OBJ_WATCHPOINT 1 /* has o.watch and o.unwatch */
  14. #define JS_HAS_TOSOURCE 1 /* has Object/Array toSource method */
  15. #define JS_HAS_CATCH_GUARD 1 /* has exception handling catch guard */
  16. #define JS_HAS_UNEVAL 1 /* has uneval() top-level function */
  17. #define JS_HAS_CONST 1 /* (no longer used) */
  18. #define JS_HAS_FUN_EXPR_STMT 1 /* (no longer used) */
  19. #define JS_HAS_FOR_EACH_IN 1 /* has for each (lhs in iterable) */
  20. #define JS_HAS_GENERATORS 1 /* (no longer used) */
  21. #define JS_HAS_BLOCK_SCOPE 1 /* (no longer used) */
  22. #define JS_HAS_DESTRUCTURING 2 /* (no longer used) */
  23. #define JS_HAS_GENERATOR_EXPRS 1 /* (no longer used) */
  24. #define JS_HAS_EXPR_CLOSURES 1 /* has function (formals) listexpr */
  25. /* (no longer used) */
  26. #define JS_HAS_NEW_GLOBAL_OBJECT 1
  27. /* (no longer used) */
  28. #define JS_HAS_DESTRUCTURING_SHORTHAND (JS_HAS_DESTRUCTURING == 2)
  29. /*
  30. * Feature for Object.prototype.__{define,lookup}{G,S}etter__ legacy support;
  31. * support likely to be made opt-in at some future time.
  32. */
  33. #define JS_OLD_GETTER_SETTER_METHODS 1
  34. #endif /* jsversion_h */