| /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- |
| * vim: set ts=8 sts=4 et sw=4 tw=99: |
| * 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/. */ |
| |
| /* A higher-order macro for enumerating all JSProtoKey values. */ |
| |
| #ifndef jsprototypes_h |
| #define jsprototypes_h |
| |
| #include "jsversion.h" |
| |
| /* |
| * Enumerator codes in the second column must not change -- they are part of |
| * the JS XDR API. Also note the symbols in the third column are extern "C"; |
| * clients should use extern "C" {} as appropriate when using this macro. |
| */ |
| |
| #define JS_FOR_EACH_PROTOTYPE(macro) \ |
| macro(Null, 0, js_InitNullClass) \ |
| macro(Object, 1, js_InitObjectClass) \ |
| macro(Function, 2, js_InitFunctionClass) \ |
| macro(Array, 3, js_InitArrayClass) \ |
| macro(Boolean, 4, js_InitBooleanClass) \ |
| macro(JSON, 5, js_InitJSONClass) \ |
| macro(Date, 6, js_InitDateClass) \ |
| macro(Math, 7, js_InitMathClass) \ |
| macro(Number, 8, js_InitNumberClass) \ |
| macro(String, 9, js_InitStringClass) \ |
| macro(RegExp, 10, js_InitRegExpClass) \ |
| macro(Error, 11, js_InitExceptionClasses) \ |
| macro(InternalError, 12, js_InitExceptionClasses) \ |
| macro(EvalError, 13, js_InitExceptionClasses) \ |
| macro(RangeError, 14, js_InitExceptionClasses) \ |
| macro(ReferenceError, 15, js_InitExceptionClasses) \ |
| macro(SyntaxError, 16, js_InitExceptionClasses) \ |
| macro(TypeError, 17, js_InitExceptionClasses) \ |
| macro(URIError, 18, js_InitExceptionClasses) \ |
| macro(Iterator, 19, js_InitIteratorClasses) \ |
| macro(StopIteration, 20, js_InitIteratorClasses) \ |
| macro(ArrayBuffer, 21, js_InitTypedArrayClasses) \ |
| macro(Int8Array, 22, js_InitTypedArrayClasses) \ |
| macro(Uint8Array, 23, js_InitTypedArrayClasses) \ |
| macro(Int16Array, 24, js_InitTypedArrayClasses) \ |
| macro(Uint16Array, 25, js_InitTypedArrayClasses) \ |
| macro(Int32Array, 26, js_InitTypedArrayClasses) \ |
| macro(Uint32Array, 27, js_InitTypedArrayClasses) \ |
| macro(Float32Array, 28, js_InitTypedArrayClasses) \ |
| macro(Float64Array, 29, js_InitTypedArrayClasses) \ |
| macro(Uint8ClampedArray, 30, js_InitTypedArrayClasses) \ |
| macro(Proxy, 31, js_InitProxyClass) \ |
| macro(WeakMap, 32, js_InitWeakMapClass) \ |
| macro(Map, 33, js_InitMapClass) \ |
| macro(Set, 34, js_InitSetClass) \ |
| macro(DataView, 35, js_InitTypedArrayClasses) \ |
| macro(ParallelArray, 36, js_InitParallelArrayClass) \ |
| macro(Intl, 37, js_InitIntlClass) \ |
| |
| #endif /* jsprototypes_h */ |