|
|
1.1 root 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:
3: *
4: * ***** BEGIN LICENSE BLOCK *****
5: * Version: MPL 1.1/GPL 2.0/LGPL 2.1
6: *
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/
11: *
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
15: * License.
16: *
17: * The Original Code is SpiderMonkey 1.7 work in progress, released
18: * February 14, 2006.
19: *
20: * The Initial Developer of the Original Code is
21: * Brendan Eich <[email protected]>
22: *
23: * Contributor(s):
24: *
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.
36: *
37: * ***** END LICENSE BLOCK ***** */
38:
39: #include "jsconfig.h"
40:
41: #if JS_HAS_SCRIPT_OBJECT
42: # define SCRIPT_INIT js_InitScriptClass
43: #else
44: # define SCRIPT_INIT js_InitNullClass
45: #endif
46:
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: #else
54: # define XML_INIT js_InitNullClass
55: # define NAMESPACE_INIT js_InitNullClass
56: # define QNAME_INIT js_InitNullClass
57: # define ANYNAME_INIT js_InitNullClass
58: # define ATTRIBUTE_INIT js_InitNullClass
59: #endif
60:
61: #if JS_HAS_GENERATORS
62: # define GENERATOR_INIT js_InitIteratorClasses
63: #else
64: # define GENERATOR_INIT js_InitNullClass
65: #endif
66:
67: #if JS_HAS_FILE_OBJECT
68: # define FILE_INIT js_InitFileClass
69: #else
70: # define FILE_INIT js_InitNullClass
71: #endif
72:
73: /*
74: * Enumerator codes in the second column must not change -- they are part of
75: * the JS XDR API.
76: */
77: JS_PROTO(Null, 0, js_InitNullClass)
78: JS_PROTO(Object, 1, js_InitFunctionAndObjectClasses)
79: JS_PROTO(Function, 2, js_InitFunctionAndObjectClasses)
80: JS_PROTO(Array, 3, js_InitArrayClass)
81: JS_PROTO(Boolean, 4, js_InitBooleanClass)
82: JS_PROTO(Call, 5, js_InitCallClass)
83: JS_PROTO(Date, 6, js_InitDateClass)
84: JS_PROTO(Math, 7, js_InitMathClass)
85: JS_PROTO(Number, 8, js_InitNumberClass)
86: JS_PROTO(String, 9, js_InitStringClass)
87: JS_PROTO(RegExp, 10, js_InitRegExpClass)
88: JS_PROTO(Script, 11, SCRIPT_INIT)
89: JS_PROTO(XML, 12, XML_INIT)
90: JS_PROTO(Namespace, 13, NAMESPACE_INIT)
91: JS_PROTO(QName, 14, QNAME_INIT)
92: JS_PROTO(AnyName, 15, ANYNAME_INIT)
93: JS_PROTO(AttributeName, 16, ATTRIBUTE_INIT)
94: JS_PROTO(Error, 17, js_InitExceptionClasses)
95: JS_PROTO(InternalError, 18, js_InitExceptionClasses)
96: JS_PROTO(EvalError, 19, js_InitExceptionClasses)
97: JS_PROTO(RangeError, 20, js_InitExceptionClasses)
98: JS_PROTO(ReferenceError, 21, js_InitExceptionClasses)
99: JS_PROTO(SyntaxError, 22, js_InitExceptionClasses)
100: JS_PROTO(TypeError, 23, js_InitExceptionClasses)
101: JS_PROTO(URIError, 24, js_InitExceptionClasses)
102: JS_PROTO(Generator, 25, GENERATOR_INIT)
103: JS_PROTO(Iterator, 26, js_InitIteratorClasses)
104: JS_PROTO(StopIteration, 27, js_InitIteratorClasses)
105: JS_PROTO(UnusedProto28, 28, js_InitNullClass)
106: JS_PROTO(File, 29, FILE_INIT)
107: JS_PROTO(Block, 30, js_InitBlockClass)
108:
109: #undef SCRIPT_INIT
110: #undef XML_INIT
111: #undef NAMESPACE_INIT
112: #undef QNAME_INIT
113: #undef ANYNAME_INIT
114: #undef ATTRIBUTE_INIT
115: #undef GENERATOR_INIT
116: #undef FILE_INIT
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.