1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 * vim: set sw=4 ts=8 et tw=80 ft=c:
4 * ***** BEGIN LICENSE BLOCK *****
5 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
7 * The contents of this file are subject to the Mozilla Public License Version
8 * 1.1 (the "License"); you may not use this file except in compliance with
9 * the License. You may obtain a copy of the License at
10 * http://www.mozilla.org/MPL/
12 * Software distributed under the License is distributed on an "AS IS" basis,
13 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14 * for the specific language governing rights and limitations under the
17 * The Original Code is SpiderMonkey 1.7 work in progress, released
20 * The Initial Developer of the Original Code is
21 * Brendan Eich <brendan@mozilla.org>
25 * Alternatively, the contents of this file may be used under the terms of
26 * either of the GNU General Public License Version 2 or later (the "GPL"),
27 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28 * in which case the provisions of the GPL or the LGPL are applicable instead
29 * of those above. If you wish to allow use of your version of this file only
30 * under the terms of either the GPL or the LGPL, and not to allow others to
31 * use your version of this file under the terms of the MPL, indicate your
32 * decision by deleting the provisions above and replace them with the notice
33 * and other provisions required by the GPL or the LGPL. If you do not delete
34 * the provisions above, a recipient may use your version of this file under
35 * the terms of any one of the MPL, the GPL or the LGPL.
37 * ***** END LICENSE BLOCK ***** */
39 #include "jsversion.h"
41 #if JS_HAS_SCRIPT_OBJECT
42 # define SCRIPT_INIT js_InitScriptClass
44 # define SCRIPT_INIT js_InitNullClass
47 #if JS_HAS_XML_SUPPORT
48 # define XML_INIT js_InitXMLClass
49 # define NAMESPACE_INIT js_InitNamespaceClass
50 # define QNAME_INIT js_InitQNameClass
51 # define ANYNAME_INIT js_InitAnyNameClass
52 # define ATTRIBUTE_INIT js_InitAttributeNameClass
53 # define XMLFILTER_INIT js_InitXMLFilterClass
55 # define XML_INIT js_InitNullClass
56 # define NAMESPACE_INIT js_InitNullClass
57 # define QNAME_INIT js_InitNullClass
58 # define ANYNAME_INIT js_InitNullClass
59 # define ATTRIBUTE_INIT js_InitNullClass
60 # define XMLFILTER_INIT js_InitNullClass
64 # define GENERATOR_INIT js_InitIteratorClasses
66 # define GENERATOR_INIT js_InitNullClass
69 #if JS_HAS_NO_SUCH_METHOD
70 # define NO_SUCH_METHOD_INIT js_InitNoSuchMethodClass
72 # define NO_SUCH_METHOD_INIT js_InitNullClass
75 #if JS_HAS_FILE_OBJECT
76 # define FILE_INIT js_InitFileClass
78 # define FILE_INIT js_InitNullClass
82 * Enumerator codes in the second column must not change -- they are part of
83 * the JS XDR API. Client modules including jsproto.tbl should consider
84 * wrapping the inclusion with JS_BEGIN_EXTERN_C and JS_END_EXTERN_C.
86 JS_PROTO(Null, 0, js_InitNullClass)
87 JS_PROTO(Object, 1, js_InitFunctionAndObjectClasses)
88 JS_PROTO(Function, 2, js_InitFunctionAndObjectClasses)
89 JS_PROTO(Array, 3, js_InitArrayClass)
90 JS_PROTO(Boolean, 4, js_InitBooleanClass)
91 JS_PROTO(Call, 5, js_InitCallClass)
92 JS_PROTO(Date, 6, js_InitDateClass)
93 JS_PROTO(Math, 7, js_InitMathClass)
94 JS_PROTO(Number, 8, js_InitNumberClass)
95 JS_PROTO(String, 9, js_InitStringClass)
96 JS_PROTO(RegExp, 10, js_InitRegExpClass)
97 JS_PROTO(Script, 11, SCRIPT_INIT)
98 JS_PROTO(XML, 12, XML_INIT)
99 JS_PROTO(Namespace, 13, NAMESPACE_INIT)
100 JS_PROTO(QName, 14, QNAME_INIT)
101 JS_PROTO(AnyName, 15, ANYNAME_INIT)
102 JS_PROTO(AttributeName, 16, ATTRIBUTE_INIT)
103 JS_PROTO(Error, 17, js_InitExceptionClasses)
104 JS_PROTO(InternalError, 18, js_InitExceptionClasses)
105 JS_PROTO(EvalError, 19, js_InitExceptionClasses)
106 JS_PROTO(RangeError, 20, js_InitExceptionClasses)
107 JS_PROTO(ReferenceError, 21, js_InitExceptionClasses)
108 JS_PROTO(SyntaxError, 22, js_InitExceptionClasses)
109 JS_PROTO(TypeError, 23, js_InitExceptionClasses)
110 JS_PROTO(URIError, 24, js_InitExceptionClasses)
111 JS_PROTO(Generator, 25, GENERATOR_INIT)
112 JS_PROTO(Iterator, 26, js_InitIteratorClasses)
113 JS_PROTO(StopIteration, 27, js_InitIteratorClasses)
114 JS_PROTO(UnusedProto28, 28, js_InitNullClass)
115 JS_PROTO(File, 29, FILE_INIT)
116 JS_PROTO(Block, 30, js_InitBlockClass)
117 JS_PROTO(XMLFilter, 31, XMLFILTER_INIT)
118 JS_PROTO(NoSuchMethod, 32, NO_SUCH_METHOD_INIT)
119 JS_PROTO(JSON, 33, js_InitJSONClass)
123 #undef NAMESPACE_INIT
126 #undef ATTRIBUTE_INIT
127 #undef GENERATOR_INIT
129 #undef NO_SUCH_METHOD_INIT