xref: /reactos/dll/win32/jscript/jsglobal.idl (revision c2c66aff)
1*c2c66affSColin Finck/*
2*c2c66affSColin Finck * Copyright 2008 Jacek Caban for CodeWeavers
3*c2c66affSColin Finck *
4*c2c66affSColin Finck * This library is free software; you can redistribute it and/or
5*c2c66affSColin Finck * modify it under the terms of the GNU Lesser General Public
6*c2c66affSColin Finck * License as published by the Free Software Foundation; either
7*c2c66affSColin Finck * version 2.1 of the License, or (at your option) any later version.
8*c2c66affSColin Finck *
9*c2c66affSColin Finck * This library is distributed in the hope that it will be useful,
10*c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of
11*c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12*c2c66affSColin Finck * Lesser General Public License for more details.
13*c2c66affSColin Finck *
14*c2c66affSColin Finck * You should have received a copy of the GNU Lesser General Public
15*c2c66affSColin Finck * License along with this library; if not, write to the Free Software
16*c2c66affSColin Finck * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17*c2c66affSColin Finck */
18*c2c66affSColin Finck
19*c2c66affSColin Finck#pragma makedep regtypelib
20*c2c66affSColin Finck
21*c2c66affSColin Finck#include "jsglobal_dispid.h"
22*c2c66affSColin Finck
23*c2c66affSColin Finckimport "oaidl.idl";
24*c2c66affSColin Finck
25*c2c66affSColin Finck[
26*c2c66affSColin Finck    uuid(3eef9759-35fc-11d1-8ce4-00c04fc2b085),
27*c2c66affSColin Finck    version(1.0),
28*c2c66affSColin Finck]
29*c2c66affSColin Fincklibrary JSGlobal
30*c2c66affSColin Finck{
31*c2c66affSColin Finck    importlib("stdole2.tlb");
32*c2c66affSColin Finck
33*c2c66affSColin Finck    interface StringInstance;
34*c2c66affSColin Finck
35*c2c66affSColin Finck    [
36*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00C04fc2b086)
37*c2c66affSColin Finck    ]
38*c2c66affSColin Finck    dispinterface GlobalObj {
39*c2c66affSColin Finck    properties:
40*c2c66affSColin Finck        [id(DISPID_GLOBAL_NAN), readonly]
41*c2c66affSColin Finck        VARIANT NaN;
42*c2c66affSColin Finck
43*c2c66affSColin Finck        [id(DISPID_GLOBAL_INFINITY), readonly]
44*c2c66affSColin Finck        VARIANT Infinity;
45*c2c66affSColin Finck
46*c2c66affSColin Finck    methods:
47*c2c66affSColin Finck        [id(DISPID_GLOBAL_ARRAY)]
48*c2c66affSColin Finck        VARIANT Array();
49*c2c66affSColin Finck
50*c2c66affSColin Finck        [id(DISPID_GLOBAL_BOOLEAN)]
51*c2c66affSColin Finck        VARIANT Boolean();
52*c2c66affSColin Finck
53*c2c66affSColin Finck        [id(DISPID_GLOBAL_DATE)]
54*c2c66affSColin Finck        VARIANT Date();
55*c2c66affSColin Finck
56*c2c66affSColin Finck        [id(DISPID_GLOBAL_FUNCTION)]
57*c2c66affSColin Finck        VARIANT Function();
58*c2c66affSColin Finck
59*c2c66affSColin Finck        [id(DISPID_GLOBAL_NUMBER)]
60*c2c66affSColin Finck        VARIANT Number();
61*c2c66affSColin Finck
62*c2c66affSColin Finck        [id(DISPID_GLOBAL_OBJECT)]
63*c2c66affSColin Finck        VARIANT Object();
64*c2c66affSColin Finck
65*c2c66affSColin Finck        [id(DISPID_GLOBAL_STRING)]
66*c2c66affSColin Finck        VARIANT String();
67*c2c66affSColin Finck
68*c2c66affSColin Finck        [id(DISPID_GLOBAL_REGEXP)]
69*c2c66affSColin Finck        VARIANT RegExp();
70*c2c66affSColin Finck
71*c2c66affSColin Finck        [id(DISPID_GLOBAL_ACTIVEXOBJ)]
72*c2c66affSColin Finck        VARIANT ActiveXObject();
73*c2c66affSColin Finck
74*c2c66affSColin Finck        [id(DISPID_GLOBAL_VBARRAY)]
75*c2c66affSColin Finck        VARIANT VBArray();
76*c2c66affSColin Finck
77*c2c66affSColin Finck        [id(DISPID_GLOBAL_ENUMERATOR)]
78*c2c66affSColin Finck        VARIANT Enumerator();
79*c2c66affSColin Finck
80*c2c66affSColin Finck        [id(DISPID_GLOBAL_ESCAPE)]
81*c2c66affSColin Finck        VARIANT escape(VARIANT String);
82*c2c66affSColin Finck
83*c2c66affSColin Finck        [id(DISPID_GLOBAL_EVAL)]
84*c2c66affSColin Finck        VARIANT eval(VARIANT x);
85*c2c66affSColin Finck
86*c2c66affSColin Finck        [id(DISPID_GLOBAL_ISNAN)]
87*c2c66affSColin Finck        VARIANT isNaN(VARIANT Number);
88*c2c66affSColin Finck
89*c2c66affSColin Finck        [id(DISPID_GLOBAL_ISFINITE)]
90*c2c66affSColin Finck        VARIANT isFinite(VARIANT Number);
91*c2c66affSColin Finck
92*c2c66affSColin Finck        [id(DISPID_GLOBAL_PARSEINT)]
93*c2c66affSColin Finck        VARIANT parseInt(
94*c2c66affSColin Finck                VARIANT String,
95*c2c66affSColin Finck                VARIANT radix);
96*c2c66affSColin Finck
97*c2c66affSColin Finck        [id(DISPID_GLOBAL_PARSEFLOAT)]
98*c2c66affSColin Finck        VARIANT parseFloat(VARIANT String);
99*c2c66affSColin Finck
100*c2c66affSColin Finck        [id(DISPID_GLOBAL_UNESCAPE)]
101*c2c66affSColin Finck        VARIANT unescape(VARIANT String);
102*c2c66affSColin Finck
103*c2c66affSColin Finck        [id(DISPID_GLOBAL_GETOBJECT)]
104*c2c66affSColin Finck        VARIANT GetObject(
105*c2c66affSColin Finck                [optional] VARIANT path,
106*c2c66affSColin Finck                [optional] VARIANT classname);
107*c2c66affSColin Finck
108*c2c66affSColin Finck        [id(DISPID_GLOBAL_SCRIPTENGINE)]
109*c2c66affSColin Finck        VARIANT ScriptEngine();
110*c2c66affSColin Finck
111*c2c66affSColin Finck        [id(DISPID_GLOBAL_MAJORVER)]
112*c2c66affSColin Finck        VARIANT ScriptEngineMajorVersion();
113*c2c66affSColin Finck
114*c2c66affSColin Finck        [id(DISPID_GLOBAL_MINORVER)]
115*c2c66affSColin Finck        VARIANT ScriptEngineMinorVersion();
116*c2c66affSColin Finck
117*c2c66affSColin Finck        [id(DISPID_GLOBAL_BUILDVER)]
118*c2c66affSColin Finck        VARIANT ScriptEngineBuildVersion();
119*c2c66affSColin Finck
120*c2c66affSColin Finck        [id(DISPID_GLOBAL_COLLECT)]
121*c2c66affSColin Finck        VARIANT CollectGarbage();
122*c2c66affSColin Finck
123*c2c66affSColin Finck        [id(DISPID_GLOBAL_MATH)]
124*c2c66affSColin Finck        VARIANT Math();
125*c2c66affSColin Finck    }
126*c2c66affSColin Finck
127*c2c66affSColin Finck    [
128*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b087)
129*c2c66affSColin Finck    ]
130*c2c66affSColin Finck    dispinterface DateObj {
131*c2c66affSColin Finck    properties:
132*c2c66affSColin Finck    methods:
133*c2c66affSColin Finck        [id(DISPID_DATEOBJ_PARSE)]
134*c2c66affSColin Finck        VARIANT parse(VARIANT String);
135*c2c66affSColin Finck
136*c2c66affSColin Finck        [id(DISPID_DATEOBJ_UTC)]
137*c2c66affSColin Finck        VARIANT UTC(
138*c2c66affSColin Finck                VARIANT year,
139*c2c66affSColin Finck                [optional] VARIANT month,
140*c2c66affSColin Finck                [optional] VARIANT Date,
141*c2c66affSColin Finck                [optional] VARIANT hours,
142*c2c66affSColin Finck                [optional] VARIANT minutes,
143*c2c66affSColin Finck                [optional] VARIANT seconds,
144*c2c66affSColin Finck                [optional] VARIANT ms);
145*c2c66affSColin Finck    }
146*c2c66affSColin Finck
147*c2c66affSColin Finck    [
148*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00C04fc2b088)
149*c2c66affSColin Finck    ]
150*c2c66affSColin Finck    dispinterface MathObj {
151*c2c66affSColin Finck    properties:
152*c2c66affSColin Finck        [id(DISPID_MATHOBJ_E), readonly]
153*c2c66affSColin Finck        VARIANT E;
154*c2c66affSColin Finck
155*c2c66affSColin Finck        [id(DISPID_MATHOBJ_LOG2E), readonly]
156*c2c66affSColin Finck        VARIANT LOG2E;
157*c2c66affSColin Finck
158*c2c66affSColin Finck        [id(DISPID_MATHOBJ_LOG10E), readonly]
159*c2c66affSColin Finck        VARIANT LOG10E;
160*c2c66affSColin Finck
161*c2c66affSColin Finck        [id(DISPID_MATHOBJ_LN2), readonly]
162*c2c66affSColin Finck        VARIANT LN2;
163*c2c66affSColin Finck
164*c2c66affSColin Finck        [id(DISPID_MATHOBJ_LN10), readonly]
165*c2c66affSColin Finck        VARIANT LN10;
166*c2c66affSColin Finck
167*c2c66affSColin Finck        [id(DISPID_MATHOBJ_PI), readonly]
168*c2c66affSColin Finck        VARIANT PI;
169*c2c66affSColin Finck
170*c2c66affSColin Finck        [id(DISPID_MATHOBJ_SQRT2), readonly]
171*c2c66affSColin Finck        VARIANT SQRT2;
172*c2c66affSColin Finck
173*c2c66affSColin Finck        [id(DISPID_MATHOBJ_SQRT1_2), readonly]
174*c2c66affSColin Finck        VARIANT SQRT1_2;
175*c2c66affSColin Finck
176*c2c66affSColin Finck    methods:
177*c2c66affSColin Finck        [id(DISPID_MATHOBJ_ABS)]
178*c2c66affSColin Finck        VARIANT abs(VARIANT x);
179*c2c66affSColin Finck
180*c2c66affSColin Finck        [id(DISPID_MATHOBJ_ACOS)]
181*c2c66affSColin Finck        VARIANT acos(VARIANT x);
182*c2c66affSColin Finck
183*c2c66affSColin Finck        [id(DISPID_MATHOBJ_ASIN)]
184*c2c66affSColin Finck        VARIANT asin(VARIANT x);
185*c2c66affSColin Finck
186*c2c66affSColin Finck        [id(DISPID_MATHOBJ_ATAN)]
187*c2c66affSColin Finck        VARIANT atan(VARIANT x);
188*c2c66affSColin Finck
189*c2c66affSColin Finck        [id(DISPID_MATHOBJ_ATAN2)]
190*c2c66affSColin Finck        VARIANT atan2(VARIANT x, VARIANT y);
191*c2c66affSColin Finck
192*c2c66affSColin Finck        [id(DISPID_MATHOBJ_CEIL)]
193*c2c66affSColin Finck        VARIANT ceil(VARIANT x);
194*c2c66affSColin Finck
195*c2c66affSColin Finck        [id(DISPID_MATHOBJ_COS)]
196*c2c66affSColin Finck        VARIANT cos(VARIANT x);
197*c2c66affSColin Finck
198*c2c66affSColin Finck        [id(DISPID_MATHOBJ_EXP)]
199*c2c66affSColin Finck        VARIANT exp(VARIANT x);
200*c2c66affSColin Finck
201*c2c66affSColin Finck        [id(DISPID_MATHOBJ_FLOOR)]
202*c2c66affSColin Finck        VARIANT floor(VARIANT x);
203*c2c66affSColin Finck
204*c2c66affSColin Finck        [id(DISPID_MATHOBJ_LOG)]
205*c2c66affSColin Finck        VARIANT log(VARIANT x);
206*c2c66affSColin Finck
207*c2c66affSColin Finck        [id(DISPID_MATHOBJ_MAX)]
208*c2c66affSColin Finck        VARIANT max(VARIANT x, VARIANT y);
209*c2c66affSColin Finck
210*c2c66affSColin Finck        [id(DISPID_MATHOBJ_MIN)]
211*c2c66affSColin Finck        VARIANT min(VARIANT x, VARIANT y);
212*c2c66affSColin Finck
213*c2c66affSColin Finck        [id(DISPID_MATHOBJ_POW)]
214*c2c66affSColin Finck        VARIANT pow(VARIANT x, VARIANT y);
215*c2c66affSColin Finck
216*c2c66affSColin Finck        [id(DISPID_MATHOBJ_RANDOM)]
217*c2c66affSColin Finck        VARIANT random();
218*c2c66affSColin Finck
219*c2c66affSColin Finck        [id(DISPID_MATHOBJ_ROUND)]
220*c2c66affSColin Finck        VARIANT round(VARIANT x);
221*c2c66affSColin Finck
222*c2c66affSColin Finck        [id(DISPID_MATHOBJ_SIN)]
223*c2c66affSColin Finck        VARIANT sin(VARIANT x);
224*c2c66affSColin Finck
225*c2c66affSColin Finck        [id(DISPID_MATHOBJ_SQRT)]
226*c2c66affSColin Finck        VARIANT sqrt(VARIANT x);
227*c2c66affSColin Finck
228*c2c66affSColin Finck        [id(DISPID_MATHOBJ_TAN)]
229*c2c66affSColin Finck        VARIANT tan(VARIANT x);
230*c2c66affSColin Finck    }
231*c2c66affSColin Finck
232*c2c66affSColin Finck    [
233*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b089)
234*c2c66affSColin Finck    ]
235*c2c66affSColin Finck    dispinterface NumberObj {
236*c2c66affSColin Finck    properties:
237*c2c66affSColin Finck        [id(DISPID_NUMBEROBJ_MAX_VALUE), readonly]
238*c2c66affSColin Finck        VARIANT MAX_VALUE;
239*c2c66affSColin Finck
240*c2c66affSColin Finck        [id(DISPID_NUMBEROBJ_MIN_VALUE), readonly]
241*c2c66affSColin Finck        VARIANT MIN_VALUE;
242*c2c66affSColin Finck
243*c2c66affSColin Finck        [id(DISPID_NUMBEROBJ_NAN), readonly]
244*c2c66affSColin Finck        VARIANT NaN;
245*c2c66affSColin Finck
246*c2c66affSColin Finck        [id(DISPID_NUMBEROBJ_NEGATIVE_INFINITY), readonly]
247*c2c66affSColin Finck        VARIANT NEGATIVE_INFINITY;
248*c2c66affSColin Finck
249*c2c66affSColin Finck        [id(DISPID_NUMBEROBJ_POSITIVE_INFINITY), readonly]
250*c2c66affSColin Finck        VARIANT POSITIVE_INFINITY;
251*c2c66affSColin Finck
252*c2c66affSColin Finck    methods:
253*c2c66affSColin Finck    }
254*c2c66affSColin Finck
255*c2c66affSColin Finck    [
256*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b090)
257*c2c66affSColin Finck    ]
258*c2c66affSColin Finck    dispinterface RegExpObj {
259*c2c66affSColin Finck    properties:
260*c2c66affSColin Finck        [id(DISPID_REGEXPOBJ_INDEX), readonly]
261*c2c66affSColin Finck        VARIANT index;
262*c2c66affSColin Finck
263*c2c66affSColin Finck        [id(DISPID_REGEXPOBJ_INPUT), readonly]
264*c2c66affSColin Finck        VARIANT input;
265*c2c66affSColin Finck
266*c2c66affSColin Finck        [id(DISPID_REGEXPOBJ_LASTINDEX), readonly]
267*c2c66affSColin Finck        VARIANT lastIndex;
268*c2c66affSColin Finck
269*c2c66affSColin Finck    methods:
270*c2c66affSColin Finck    }
271*c2c66affSColin Finck
272*c2c66affSColin Finck    [
273*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b091)
274*c2c66affSColin Finck    ]
275*c2c66affSColin Finck    dispinterface StringObj {
276*c2c66affSColin Finck    properties:
277*c2c66affSColin Finck    methods:
278*c2c66affSColin Finck        [id(DISPID_STRINGOBJ_FROMCHARCODE)]
279*c2c66affSColin Finck        VARIANT fromCharCode(VARIANT char0);
280*c2c66affSColin Finck    }
281*c2c66affSColin Finck
282*c2c66affSColin Finck    [
283*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b092)
284*c2c66affSColin Finck    ]
285*c2c66affSColin Finck    dispinterface ArrayInstance {
286*c2c66affSColin Finck    properties:
287*c2c66affSColin Finck        [id(DISPID_ARRAY_LENGTH)]
288*c2c66affSColin Finck        VARIANT length;
289*c2c66affSColin Finck
290*c2c66affSColin Finck    methods:
291*c2c66affSColin Finck        [id(DISPID_ARRAY_CONCAT)]
292*c2c66affSColin Finck        ArrayInstance *concat(VARIANT Array);
293*c2c66affSColin Finck
294*c2c66affSColin Finck        [id(DISPID_ARRAY_JOIN)]
295*c2c66affSColin Finck        StringInstance *join(VARIANT separator);
296*c2c66affSColin Finck
297*c2c66affSColin Finck        [id(DISPID_ARRAY_POP)]
298*c2c66affSColin Finck        VARIANT pop();
299*c2c66affSColin Finck
300*c2c66affSColin Finck        [id(DISPID_ARRAY_PUSH)]
301*c2c66affSColin Finck        VARIANT push(VARIANT value);
302*c2c66affSColin Finck
303*c2c66affSColin Finck        [id(DISPID_ARRAY_REVERSE)]
304*c2c66affSColin Finck        ArrayInstance *reverse();
305*c2c66affSColin Finck
306*c2c66affSColin Finck        [id(DISPID_ARRAY_SHIFT)]
307*c2c66affSColin Finck        VARIANT shift();
308*c2c66affSColin Finck
309*c2c66affSColin Finck        [id(DISPID_ARRAY_SLICE)]
310*c2c66affSColin Finck        ArrayInstance *slice(
311*c2c66affSColin Finck                VARIANT start,
312*c2c66affSColin Finck                VARIANT end);
313*c2c66affSColin Finck
314*c2c66affSColin Finck        [id(DISPID_ARRAY_SORT)]
315*c2c66affSColin Finck        ArrayInstance *sort(VARIANT sortfunction);
316*c2c66affSColin Finck
317*c2c66affSColin Finck        [id(DISPID_ARRAY_SPLICE)]
318*c2c66affSColin Finck        ArrayInstance *splice(
319*c2c66affSColin Finck                VARIANT start,
320*c2c66affSColin Finck                VARIANT deletecount);
321*c2c66affSColin Finck
322*c2c66affSColin Finck        [id(DISPID_ARRAY_TOSTRING)]
323*c2c66affSColin Finck        StringInstance *toString();
324*c2c66affSColin Finck
325*c2c66affSColin Finck        [id(DISPID_ARRAY_TOLOCSTRING)]
326*c2c66affSColin Finck        StringInstance *toLocaleString();
327*c2c66affSColin Finck
328*c2c66affSColin Finck        [id(DISPID_ARRAY_VALUEOF)]
329*c2c66affSColin Finck        ArrayInstance *valueOf();
330*c2c66affSColin Finck
331*c2c66affSColin Finck        [id(DISPID_ARRAY_UNSHIFT)]
332*c2c66affSColin Finck        VARIANT unshift(VARIANT value);
333*c2c66affSColin Finck
334*c2c66affSColin Finck        [id(DISPID_ARRAY_HASOWNPROP)]
335*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
336*c2c66affSColin Finck
337*c2c66affSColin Finck        [id(DISPID_ARRAY_PROPISENUM)]
338*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
339*c2c66affSColin Finck
340*c2c66affSColin Finck        [id(DISPID_ARRAY_ISPROTOF)]
341*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
342*c2c66affSColin Finck    }
343*c2c66affSColin Finck
344*c2c66affSColin Finck    [
345*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b093)
346*c2c66affSColin Finck    ]
347*c2c66affSColin Finck    dispinterface FunctionInstance {
348*c2c66affSColin Finck    properties:
349*c2c66affSColin Finck        [id(DISPID_FUNCTION_LENGTH)]
350*c2c66affSColin Finck        VARIANT length;
351*c2c66affSColin Finck    methods:
352*c2c66affSColin Finck        [id(DISPID_FUNCTION_TOSTRING)]
353*c2c66affSColin Finck        StringInstance *toString();
354*c2c66affSColin Finck
355*c2c66affSColin Finck        [id(DISPID_FUNCTION_TOLOCSTRING)]
356*c2c66affSColin Finck        StringInstance *toLocaleString();
357*c2c66affSColin Finck
358*c2c66affSColin Finck        [id(DISPID_FUNCTION_VALUEOF)]
359*c2c66affSColin Finck        FunctionInstance *valueOf();
360*c2c66affSColin Finck
361*c2c66affSColin Finck        [id(DISPID_FUNCTION_APPLY)]
362*c2c66affSColin Finck        VARIANT apply(
363*c2c66affSColin Finck                VARIANT thisValue,
364*c2c66affSColin Finck                VARIANT argArray);
365*c2c66affSColin Finck
366*c2c66affSColin Finck        [id(DISPID_FUNCTION_CALL)]
367*c2c66affSColin Finck        VARIANT call(VARIANT thisValue);
368*c2c66affSColin Finck
369*c2c66affSColin Finck        [id(DISPID_FUNCTION_HASOWNPROP)]
370*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
371*c2c66affSColin Finck
372*c2c66affSColin Finck        [id(DISPID_FUNCTION_PROPISENUM)]
373*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
374*c2c66affSColin Finck
375*c2c66affSColin Finck        [id(DISPID_FUNCTION_ISPROTOF)]
376*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
377*c2c66affSColin Finck    }
378*c2c66affSColin Finck
379*c2c66affSColin Finck    [
380*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b094)
381*c2c66affSColin Finck    ]
382*c2c66affSColin Finck    dispinterface StringInstance {
383*c2c66affSColin Finck    properties:
384*c2c66affSColin Finck        [id(DISPID_STRING_LENGTH)]
385*c2c66affSColin Finck        VARIANT length;
386*c2c66affSColin Finck    methods:
387*c2c66affSColin Finck        [id(DISPID_STRING_TOSTRING)]
388*c2c66affSColin Finck        StringInstance *toString();
389*c2c66affSColin Finck
390*c2c66affSColin Finck        [id(DISPID_STRING_VALUEOF)]
391*c2c66affSColin Finck        StringInstance *valueOf();
392*c2c66affSColin Finck
393*c2c66affSColin Finck        [id(DISPID_STRING_ANCHOR)]
394*c2c66affSColin Finck        StringInstance *anchor(VARIANT anchorString);
395*c2c66affSColin Finck
396*c2c66affSColin Finck        [id(DISPID_STRING_BIG)]
397*c2c66affSColin Finck        StringInstance *big();
398*c2c66affSColin Finck
399*c2c66affSColin Finck        [id(DISPID_STRING_BLINK)]
400*c2c66affSColin Finck        StringInstance *blink();
401*c2c66affSColin Finck
402*c2c66affSColin Finck        [id(DISPID_STRING_BOLD)]
403*c2c66affSColin Finck        StringInstance *bold();
404*c2c66affSColin Finck
405*c2c66affSColin Finck        [id(DISPID_STRING_CHARAT)]
406*c2c66affSColin Finck        StringInstance *charAt(VARIANT index);
407*c2c66affSColin Finck
408*c2c66affSColin Finck        [id(DISPID_STRING_CHARCODEAT)]
409*c2c66affSColin Finck        VARIANT charCodeAt(VARIANT index);
410*c2c66affSColin Finck
411*c2c66affSColin Finck        [id(DISPID_STRING_CONCAT)]
412*c2c66affSColin Finck        StringInstance *concat(VARIANT String);
413*c2c66affSColin Finck
414*c2c66affSColin Finck        [id(DISPID_STRING_FIXED)]
415*c2c66affSColin Finck        StringInstance *fixed();
416*c2c66affSColin Finck
417*c2c66affSColin Finck        [id(DISPID_STRING_FONTCOLOR)]
418*c2c66affSColin Finck        StringInstance *fontcolor(VARIANT colorval);
419*c2c66affSColin Finck
420*c2c66affSColin Finck        [id(DISPID_STRING_FONTSIZE)]
421*c2c66affSColin Finck        StringInstance *fontsize(VARIANT size);
422*c2c66affSColin Finck
423*c2c66affSColin Finck        [id(DISPID_STRING_INDEXOF)]
424*c2c66affSColin Finck        VARIANT indexOf(
425*c2c66affSColin Finck                VARIANT substring,
426*c2c66affSColin Finck                VARIANT startindex);
427*c2c66affSColin Finck
428*c2c66affSColin Finck        [id(DISPID_STRING_ITALICS)]
429*c2c66affSColin Finck        StringInstance *italics();
430*c2c66affSColin Finck
431*c2c66affSColin Finck        [id(DISPID_STRING_LASTINDEXOF)]
432*c2c66affSColin Finck        VARIANT lastIndexOf(
433*c2c66affSColin Finck                VARIANT substring,
434*c2c66affSColin Finck                VARIANT startindex);
435*c2c66affSColin Finck
436*c2c66affSColin Finck        [id(DISPID_STRING_LINK)]
437*c2c66affSColin Finck        StringInstance *link(VARIANT linkstring);
438*c2c66affSColin Finck
439*c2c66affSColin Finck        [id(DISPID_STRING_MATCH)]
440*c2c66affSColin Finck        VARIANT match(VARIANT RegExp);
441*c2c66affSColin Finck
442*c2c66affSColin Finck        [id(DISPID_STRING_REPLACE)]
443*c2c66affSColin Finck        StringInstance *replace(
444*c2c66affSColin Finck                VARIANT RegExp,
445*c2c66affSColin Finck                VARIANT replacetext);
446*c2c66affSColin Finck
447*c2c66affSColin Finck        [id(DISPID_STRING_SEARCH)]
448*c2c66affSColin Finck        VARIANT search(VARIANT RegExp);
449*c2c66affSColin Finck
450*c2c66affSColin Finck        [id(DISPID_STRING_SLICE)]
451*c2c66affSColin Finck        StringInstance *slice(
452*c2c66affSColin Finck                VARIANT start,
453*c2c66affSColin Finck                VARIANT end);
454*c2c66affSColin Finck
455*c2c66affSColin Finck        [id(DISPID_STRING_SMALL)]
456*c2c66affSColin Finck        StringInstance *_small(); /* FIXME */
457*c2c66affSColin Finck
458*c2c66affSColin Finck        [id(DISPID_STRING_SPLIT)]
459*c2c66affSColin Finck        ArrayInstance *split(VARIANT RegExp);
460*c2c66affSColin Finck
461*c2c66affSColin Finck        [id(DISPID_STRING_STRIKE)]
462*c2c66affSColin Finck        StringInstance *strike();
463*c2c66affSColin Finck
464*c2c66affSColin Finck        [id(DISPID_STRING_SUB)]
465*c2c66affSColin Finck        StringInstance *sub();
466*c2c66affSColin Finck
467*c2c66affSColin Finck        [id(DISPID_STRING_SUBSTRING)]
468*c2c66affSColin Finck        StringInstance *substring(
469*c2c66affSColin Finck                VARIANT start,
470*c2c66affSColin Finck                VARIANT end);
471*c2c66affSColin Finck
472*c2c66affSColin Finck        [id(DISPID_STRING_SUBSTR)]
473*c2c66affSColin Finck        StringInstance *substr(
474*c2c66affSColin Finck                VARIANT start,
475*c2c66affSColin Finck                VARIANT length);
476*c2c66affSColin Finck
477*c2c66affSColin Finck        [id(DISPID_STRING_SUP)]
478*c2c66affSColin Finck        StringInstance *sup();
479*c2c66affSColin Finck
480*c2c66affSColin Finck        [id(DISPID_STRING_TOLOWERCASE)]
481*c2c66affSColin Finck        StringInstance *toLowerCase();
482*c2c66affSColin Finck
483*c2c66affSColin Finck        [id(DISPID_STRING_TOUPPERCASE)]
484*c2c66affSColin Finck        StringInstance *toUpperCase();
485*c2c66affSColin Finck
486*c2c66affSColin Finck        [id(DISPID_STRING_TOLOCLOWERCASE)]
487*c2c66affSColin Finck        StringInstance *toLocaleLowerCase();
488*c2c66affSColin Finck
489*c2c66affSColin Finck        [id(DISPID_STRING_TOLOCUPPERCASE)]
490*c2c66affSColin Finck        StringInstance *toLocaleUpperCase();
491*c2c66affSColin Finck
492*c2c66affSColin Finck        [id(DISPID_STRING_LOCCOMPARE)]
493*c2c66affSColin Finck        VARIANT localeCompare(VARIANT that);
494*c2c66affSColin Finck
495*c2c66affSColin Finck        [id(DISPID_STRING_HASOWNPROP)]
496*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
497*c2c66affSColin Finck
498*c2c66affSColin Finck        [id(DISPID_STRING_PROPISENUM)]
499*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
500*c2c66affSColin Finck
501*c2c66affSColin Finck        [id(DISPID_STRING_ISPROTOF)]
502*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
503*c2c66affSColin Finck    }
504*c2c66affSColin Finck
505*c2c66affSColin Finck    [
506*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b095)
507*c2c66affSColin Finck    ]
508*c2c66affSColin Finck    dispinterface BoolInstance {
509*c2c66affSColin Finck    properties:
510*c2c66affSColin Finck    methods:
511*c2c66affSColin Finck        [id(DISPID_BOOL_TOSTRING)]
512*c2c66affSColin Finck        StringInstance *toString();
513*c2c66affSColin Finck
514*c2c66affSColin Finck        [id(DISPID_BOOL_TOLOCSTRING)]
515*c2c66affSColin Finck        StringInstance *toLocaleString();
516*c2c66affSColin Finck
517*c2c66affSColin Finck        [id(DISPID_BOOL_VALUEOF)]
518*c2c66affSColin Finck        VARIANT valueOf();
519*c2c66affSColin Finck
520*c2c66affSColin Finck        [id(DISPID_BOOL_HASOWNPROP)]
521*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
522*c2c66affSColin Finck
523*c2c66affSColin Finck        [id(DISPID_BOOL_PROPISENUM)]
524*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
525*c2c66affSColin Finck
526*c2c66affSColin Finck        [id(DISPID_BOOL_ISPROTOF)]
527*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
528*c2c66affSColin Finck    }
529*c2c66affSColin Finck
530*c2c66affSColin Finck    [
531*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00C04fc2b096)
532*c2c66affSColin Finck    ]
533*c2c66affSColin Finck    dispinterface NumberInstance {
534*c2c66affSColin Finck    properties:
535*c2c66affSColin Finck    methods:
536*c2c66affSColin Finck        [id(DISPID_NUMBER_TOSTRING)]
537*c2c66affSColin Finck        StringInstance *toString(VARIANT radix);
538*c2c66affSColin Finck
539*c2c66affSColin Finck        [id(DISPID_NUMBER_TOLOCSTRING)]
540*c2c66affSColin Finck        StringInstance *toLocaleString();
541*c2c66affSColin Finck
542*c2c66affSColin Finck        [id(DISPID_NUMBER_TOFIXED)]
543*c2c66affSColin Finck        StringInstance *toFixed(VARIANT fractionDigits);
544*c2c66affSColin Finck
545*c2c66affSColin Finck        [id(DISPID_NUMBER_TOEXPONENTIAL)]
546*c2c66affSColin Finck        StringInstance *toExponential(VARIANT fractionDigits);
547*c2c66affSColin Finck
548*c2c66affSColin Finck        [id(DISPID_NUMBER_TOPRECISION)]
549*c2c66affSColin Finck        StringInstance *toPrecision(VARIANT precision);
550*c2c66affSColin Finck
551*c2c66affSColin Finck        [id(DISPID_NUMBER_VALUEOF)]
552*c2c66affSColin Finck        VARIANT valueOf();
553*c2c66affSColin Finck
554*c2c66affSColin Finck        [id(DISPID_NUMBER_HASOWNPROP)]
555*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
556*c2c66affSColin Finck
557*c2c66affSColin Finck        [id(DISPID_NUMBER_PROPISENUM)]
558*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
559*c2c66affSColin Finck
560*c2c66affSColin Finck        [id(DISPID_NUMBER_ISPROTOF)]
561*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
562*c2c66affSColin Finck    }
563*c2c66affSColin Finck
564*c2c66affSColin Finck    [
565*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b097)
566*c2c66affSColin Finck    ]
567*c2c66affSColin Finck    dispinterface ObjectInstance {
568*c2c66affSColin Finck    properties:
569*c2c66affSColin Finck    methods:
570*c2c66affSColin Finck        [id(DISPID_OBJECT_TOSTRING)]
571*c2c66affSColin Finck        StringInstance *toString();
572*c2c66affSColin Finck
573*c2c66affSColin Finck        [id(DISPID_OBJECT_TOLOCSTRING)]
574*c2c66affSColin Finck        StringInstance *toLocaleString();
575*c2c66affSColin Finck
576*c2c66affSColin Finck        [id(DISPID_OBJECT_HASOWNPROP)]
577*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
578*c2c66affSColin Finck
579*c2c66affSColin Finck        [id(DISPID_OBJECT_PROPISENUM)]
580*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
581*c2c66affSColin Finck
582*c2c66affSColin Finck        [id(DISPID_OBJECT_ISPROTOF)]
583*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
584*c2c66affSColin Finck
585*c2c66affSColin Finck        [id(DISPID_OBJECT_VALUEOF)]
586*c2c66affSColin Finck        ObjectInstance *valueOf();
587*c2c66affSColin Finck    }
588*c2c66affSColin Finck
589*c2c66affSColin Finck    [
590*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00C04fc2b098)
591*c2c66affSColin Finck    ]
592*c2c66affSColin Finck    dispinterface DateInstance {
593*c2c66affSColin Finck    properties:
594*c2c66affSColin Finck    methods:
595*c2c66affSColin Finck        [id(DISPID_DATE_TOSTRING)]
596*c2c66affSColin Finck        StringInstance *toString();
597*c2c66affSColin Finck
598*c2c66affSColin Finck        [id(DISPID_DATE_TOLOCSTRING)]
599*c2c66affSColin Finck        StringInstance *toLocaleString();
600*c2c66affSColin Finck
601*c2c66affSColin Finck        [id(DISPID_DATE_HASOWNPROP)]
602*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
603*c2c66affSColin Finck
604*c2c66affSColin Finck        [id(DISPID_DATE_PROPISENUM)]
605*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
606*c2c66affSColin Finck
607*c2c66affSColin Finck        [id(DISPID_DATE_ISPROTOF)]
608*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
609*c2c66affSColin Finck
610*c2c66affSColin Finck        [id(DISPID_DATE_VALUEOF)]
611*c2c66affSColin Finck        DateInstance *valueOf();
612*c2c66affSColin Finck
613*c2c66affSColin Finck        [id(DISPID_DATE_TOUTCSTRING)]
614*c2c66affSColin Finck        StringInstance *toUTCString();
615*c2c66affSColin Finck
616*c2c66affSColin Finck        [id(DISPID_DATE_TODATESTRING)]
617*c2c66affSColin Finck        StringInstance *toDateString();
618*c2c66affSColin Finck
619*c2c66affSColin Finck        [id(DISPID_DATE_TOTIMESTRING)]
620*c2c66affSColin Finck        StringInstance *toTimeString();
621*c2c66affSColin Finck
622*c2c66affSColin Finck        [id(DISPID_DATE_TOLOCDATESTRING)]
623*c2c66affSColin Finck        StringInstance *toLocaleDateString();
624*c2c66affSColin Finck
625*c2c66affSColin Finck        [id(DISPID_DATE_TOLOCTIMESTRING)]
626*c2c66affSColin Finck        StringInstance *toLocaleTimeString();
627*c2c66affSColin Finck
628*c2c66affSColin Finck        [id(DISPID_DATE_GETTIME)]
629*c2c66affSColin Finck        VARIANT getTime();
630*c2c66affSColin Finck
631*c2c66affSColin Finck        [id(DISPID_DATE_GETFULLYEAR)]
632*c2c66affSColin Finck        VARIANT getFullYear();
633*c2c66affSColin Finck
634*c2c66affSColin Finck        [id(DISPID_DATE_GETUTCFULLYEAR)]
635*c2c66affSColin Finck        VARIANT getUTCFullYear();
636*c2c66affSColin Finck
637*c2c66affSColin Finck        [id(DISPID_DATE_GETMONTH)]
638*c2c66affSColin Finck        VARIANT getMonth();
639*c2c66affSColin Finck
640*c2c66affSColin Finck        [id(DISPID_DATE_GETUTCMONTH)]
641*c2c66affSColin Finck        VARIANT getUTCMonth();
642*c2c66affSColin Finck
643*c2c66affSColin Finck        [id(DISPID_DATE_GETDATE)]
644*c2c66affSColin Finck        VARIANT getDate();
645*c2c66affSColin Finck
646*c2c66affSColin Finck        [id(DISPID_DATE_GETUTCDATE)]
647*c2c66affSColin Finck        VARIANT getUTCDate();
648*c2c66affSColin Finck
649*c2c66affSColin Finck        [id(DISPID_DATE_GETDAY)]
650*c2c66affSColin Finck        VARIANT getDay();
651*c2c66affSColin Finck
652*c2c66affSColin Finck        [id(DISPID_DATE_GETUTCDAY)]
653*c2c66affSColin Finck        VARIANT getUTCDay();
654*c2c66affSColin Finck
655*c2c66affSColin Finck        [id(DISPID_DATE_GETHOURS)]
656*c2c66affSColin Finck        VARIANT getHours();
657*c2c66affSColin Finck
658*c2c66affSColin Finck        [id(DISPID_DATE_GETUTCHOURS)]
659*c2c66affSColin Finck        VARIANT getUTCHours();
660*c2c66affSColin Finck
661*c2c66affSColin Finck        [id(DISPID_DATE_GETMINUTES)]
662*c2c66affSColin Finck        VARIANT getMinutes();
663*c2c66affSColin Finck
664*c2c66affSColin Finck        [id(DISPID_DATE_GETUTCMINUTES)]
665*c2c66affSColin Finck        VARIANT getUTCMinutes();
666*c2c66affSColin Finck
667*c2c66affSColin Finck        [id(DISPID_DATE_GETSECONDS)]
668*c2c66affSColin Finck        VARIANT getSeconds();
669*c2c66affSColin Finck
670*c2c66affSColin Finck        [id(DISPID_DATE_GETUTCSECONDS)]
671*c2c66affSColin Finck        VARIANT getUTCSeconds();
672*c2c66affSColin Finck
673*c2c66affSColin Finck        [id(DISPID_DATE_GETMILLISECONDS)]
674*c2c66affSColin Finck        VARIANT getMilliseconds();
675*c2c66affSColin Finck
676*c2c66affSColin Finck        [id(DISPID_DATE_GETUTCMILLISECONDS)]
677*c2c66affSColin Finck        VARIANT getUTCMilliseconds();
678*c2c66affSColin Finck
679*c2c66affSColin Finck        [id(DISPID_DATE_GETTIMEZONEOFFSET)]
680*c2c66affSColin Finck        VARIANT getTimezoneOffset();
681*c2c66affSColin Finck
682*c2c66affSColin Finck        [id(DISPID_DATE_SETTIME)]
683*c2c66affSColin Finck        DateInstance *setTime(VARIANT time);
684*c2c66affSColin Finck
685*c2c66affSColin Finck        [id(DISPID_DATE_SETMILLISECONDS)]
686*c2c66affSColin Finck        DateInstance *setMilliseconds(VARIANT milliseconds);
687*c2c66affSColin Finck
688*c2c66affSColin Finck        [id(DISPID_DATE_SETUTCMILLISECONDS)]
689*c2c66affSColin Finck        DateInstance *setUTCMilliseconds(VARIANT milliseconds);
690*c2c66affSColin Finck
691*c2c66affSColin Finck        [id(DISPID_DATE_SETSECONDS)]
692*c2c66affSColin Finck        DateInstance *setSeconds(
693*c2c66affSColin Finck                VARIANT seconds,
694*c2c66affSColin Finck                [optional] VARIANT milliseconds);
695*c2c66affSColin Finck
696*c2c66affSColin Finck        [id(DISPID_DATE_SETUTCSECONDS)]
697*c2c66affSColin Finck        DateInstance *setUTCSeconds(
698*c2c66affSColin Finck                VARIANT seconds,
699*c2c66affSColin Finck                [optional] VARIANT milliseconds);
700*c2c66affSColin Finck
701*c2c66affSColin Finck        [id(DISPID_DATE_SETMINUTES)]
702*c2c66affSColin Finck        DateInstance *setMinutes(
703*c2c66affSColin Finck                VARIANT minutes,
704*c2c66affSColin Finck                [optional] VARIANT seconds,
705*c2c66affSColin Finck                [optional] VARIANT milliseconds);
706*c2c66affSColin Finck
707*c2c66affSColin Finck        [id(DISPID_DATE_SETUTCMINUTES)]
708*c2c66affSColin Finck        DateInstance *setUTCMinutes(
709*c2c66affSColin Finck                VARIANT minutes,
710*c2c66affSColin Finck                [optional] VARIANT seconds,
711*c2c66affSColin Finck                [optional] VARIANT milliseconds);
712*c2c66affSColin Finck
713*c2c66affSColin Finck        [id(DISPID_DATE_SETHOURS)]
714*c2c66affSColin Finck        DateInstance *setHours(
715*c2c66affSColin Finck                VARIANT hours,
716*c2c66affSColin Finck                [optional] VARIANT minutes,
717*c2c66affSColin Finck                [optional] VARIANT seconds,
718*c2c66affSColin Finck                [optional] VARIANT milliseconds);
719*c2c66affSColin Finck
720*c2c66affSColin Finck        [id(DISPID_DATE_SETUTCHOURS)]
721*c2c66affSColin Finck        DateInstance *setUTCHours(
722*c2c66affSColin Finck                VARIANT hours,
723*c2c66affSColin Finck                [optional] VARIANT minutes,
724*c2c66affSColin Finck                [optional] VARIANT seconds,
725*c2c66affSColin Finck                [optional] VARIANT milliseconds);
726*c2c66affSColin Finck
727*c2c66affSColin Finck        [id(DISPID_DATE_SETDATE)]
728*c2c66affSColin Finck        DateInstance *setDate(VARIANT Date);
729*c2c66affSColin Finck
730*c2c66affSColin Finck        [id(DISPID_DATE_SETUTCDATE)]
731*c2c66affSColin Finck        DateInstance *setUTCDate(VARIANT Date);
732*c2c66affSColin Finck
733*c2c66affSColin Finck        [id(DISPID_DATE_SETMONTH)]
734*c2c66affSColin Finck        DateInstance *setMonth(
735*c2c66affSColin Finck                VARIANT month,
736*c2c66affSColin Finck                [optional] VARIANT Date);
737*c2c66affSColin Finck
738*c2c66affSColin Finck        [id(DISPID_DATE_SETUTCMONTH)]
739*c2c66affSColin Finck        DateInstance *setUTCMonth(
740*c2c66affSColin Finck                VARIANT month,
741*c2c66affSColin Finck                [optional] VARIANT Date);
742*c2c66affSColin Finck
743*c2c66affSColin Finck        [id(DISPID_DATE_SETFULLYEAR)]
744*c2c66affSColin Finck        DateInstance *setFullYear(
745*c2c66affSColin Finck                VARIANT year,
746*c2c66affSColin Finck                [optional] VARIANT month,
747*c2c66affSColin Finck                [optional] VARIANT Date);
748*c2c66affSColin Finck
749*c2c66affSColin Finck        [id(DISPID_DATE_SETUTCFULLYEAR)]
750*c2c66affSColin Finck        DateInstance *setUTCFullYear(
751*c2c66affSColin Finck                VARIANT year,
752*c2c66affSColin Finck                [optional] VARIANT month,
753*c2c66affSColin Finck                [optional] VARIANT Date);
754*c2c66affSColin Finck    }
755*c2c66affSColin Finck
756*c2c66affSColin Finck    [
757*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04Fc2b099)
758*c2c66affSColin Finck    ]
759*c2c66affSColin Finck    dispinterface RegExpInstance {
760*c2c66affSColin Finck    properties:
761*c2c66affSColin Finck        [id(DISPID_REGEXP_SOURCE)]
762*c2c66affSColin Finck         StringInstance *source;
763*c2c66affSColin Finck
764*c2c66affSColin Finck        [id(DISPID_REGEXP_GLOBAL)]
765*c2c66affSColin Finck        VARIANT global;
766*c2c66affSColin Finck
767*c2c66affSColin Finck        [id(DISPID_REGEXP_IGNORECASE)]
768*c2c66affSColin Finck        VARIANT ignoreCase;
769*c2c66affSColin Finck
770*c2c66affSColin Finck        [id(DISPID_REGEXP_MULTILINE)]
771*c2c66affSColin Finck        VARIANT multiline;
772*c2c66affSColin Finck
773*c2c66affSColin Finck        [id(DISPID_REGEXP_LASTINDEX)]
774*c2c66affSColin Finck        VARIANT lastIndex;
775*c2c66affSColin Finck    methods:
776*c2c66affSColin Finck        [id(DISPID_REGEXP_TOSTRING)]
777*c2c66affSColin Finck        StringInstance *toString();
778*c2c66affSColin Finck
779*c2c66affSColin Finck        [id(DISPID_REGEXP_TOLOCSTRING)]
780*c2c66affSColin Finck        StringInstance *toLocaleString();
781*c2c66affSColin Finck
782*c2c66affSColin Finck        [id(DISPID_REGEXP_HASOWNPROP)]
783*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
784*c2c66affSColin Finck
785*c2c66affSColin Finck        [id(DISPID_REGEXP_PROPISENUM)]
786*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
787*c2c66affSColin Finck
788*c2c66affSColin Finck        [id(DISPID_REGEXP_ISPROTOF)]
789*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
790*c2c66affSColin Finck
791*c2c66affSColin Finck        [id(DISPID_REGEXP_EXEC)]
792*c2c66affSColin Finck        ArrayInstance *exec(VARIANT String);
793*c2c66affSColin Finck    }
794*c2c66affSColin Finck
795*c2c66affSColin Finck    [
796*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b09a)
797*c2c66affSColin Finck    ]
798*c2c66affSColin Finck    dispinterface ErrorInstance {
799*c2c66affSColin Finck    properties:
800*c2c66affSColin Finck        [id(DISPID_ERROR_NAME)]
801*c2c66affSColin Finck        StringInstance *name;
802*c2c66affSColin Finck
803*c2c66affSColin Finck        [id(DISPID_ERROR_MESSAGE)]
804*c2c66affSColin Finck        StringInstance *message;
805*c2c66affSColin Finck
806*c2c66affSColin Finck        [id(DISPID_ERROR_IGNORECASE)]
807*c2c66affSColin Finck        VARIANT ignoreCase;
808*c2c66affSColin Finck
809*c2c66affSColin Finck        [id(DISPID_ERROR_MULTILINE)]
810*c2c66affSColin Finck        VARIANT multiline;
811*c2c66affSColin Finck
812*c2c66affSColin Finck        [id(DISPID_ERROR_LASTINDEX)]
813*c2c66affSColin Finck        VARIANT lastIndex;
814*c2c66affSColin Finck
815*c2c66affSColin Finck    methods:
816*c2c66affSColin Finck        [id(DISPID_ERROR_TOSTRING)]
817*c2c66affSColin Finck        StringInstance *toString();
818*c2c66affSColin Finck
819*c2c66affSColin Finck        [id(DISPID_ERROR_TOLOCSTRING)]
820*c2c66affSColin Finck        StringInstance *toLocaleString();
821*c2c66affSColin Finck
822*c2c66affSColin Finck        [id(DISPID_ERROR_HASOWNPROP)]
823*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
824*c2c66affSColin Finck
825*c2c66affSColin Finck        [id(DISPID_ERROR_PROPISENUM)]
826*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
827*c2c66affSColin Finck
828*c2c66affSColin Finck        [id(DISPID_ERROR_ISPROTOF)]
829*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
830*c2c66affSColin Finck    }
831*c2c66affSColin Finck
832*c2c66affSColin Finck    [
833*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b09b)
834*c2c66affSColin Finck    ]
835*c2c66affSColin Finck    dispinterface EvalErrorInstance {
836*c2c66affSColin Finck    properties:
837*c2c66affSColin Finck        [id(DISPID_ERROR_NAME)]
838*c2c66affSColin Finck        StringInstance *name;
839*c2c66affSColin Finck
840*c2c66affSColin Finck        [id(DISPID_ERROR_MESSAGE)]
841*c2c66affSColin Finck        StringInstance *message;
842*c2c66affSColin Finck
843*c2c66affSColin Finck        [id(DISPID_ERROR_IGNORECASE)]
844*c2c66affSColin Finck        VARIANT ignoreCase;
845*c2c66affSColin Finck
846*c2c66affSColin Finck        [id(DISPID_ERROR_MULTILINE)]
847*c2c66affSColin Finck        VARIANT multiline;
848*c2c66affSColin Finck
849*c2c66affSColin Finck        [id(DISPID_ERROR_LASTINDEX)]
850*c2c66affSColin Finck        VARIANT lastIndex;
851*c2c66affSColin Finck
852*c2c66affSColin Finck    methods:
853*c2c66affSColin Finck        [id(DISPID_ERROR_TOSTRING)]
854*c2c66affSColin Finck        StringInstance *toString();
855*c2c66affSColin Finck
856*c2c66affSColin Finck        [id(DISPID_ERROR_TOLOCSTRING)]
857*c2c66affSColin Finck        StringInstance *toLocaleString();
858*c2c66affSColin Finck
859*c2c66affSColin Finck        [id(DISPID_ERROR_HASOWNPROP)]
860*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
861*c2c66affSColin Finck
862*c2c66affSColin Finck        [id(DISPID_ERROR_PROPISENUM)]
863*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
864*c2c66affSColin Finck
865*c2c66affSColin Finck        [id(DISPID_ERROR_ISPROTOF)]
866*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
867*c2c66affSColin Finck    }
868*c2c66affSColin Finck
869*c2c66affSColin Finck    [
870*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b09c)
871*c2c66affSColin Finck    ]
872*c2c66affSColin Finck    dispinterface RangeErrorInstance {
873*c2c66affSColin Finck    properties:
874*c2c66affSColin Finck        [id(DISPID_ERROR_NAME)]
875*c2c66affSColin Finck        StringInstance *name;
876*c2c66affSColin Finck
877*c2c66affSColin Finck        [id(DISPID_ERROR_MESSAGE)]
878*c2c66affSColin Finck        StringInstance *message;
879*c2c66affSColin Finck
880*c2c66affSColin Finck        [id(DISPID_ERROR_IGNORECASE)]
881*c2c66affSColin Finck        VARIANT ignoreCase;
882*c2c66affSColin Finck
883*c2c66affSColin Finck        [id(DISPID_ERROR_MULTILINE)]
884*c2c66affSColin Finck        VARIANT multiline;
885*c2c66affSColin Finck
886*c2c66affSColin Finck        [id(DISPID_ERROR_LASTINDEX)]
887*c2c66affSColin Finck        VARIANT lastIndex;
888*c2c66affSColin Finck
889*c2c66affSColin Finck    methods:
890*c2c66affSColin Finck        [id(DISPID_ERROR_TOSTRING)]
891*c2c66affSColin Finck        StringInstance *toString();
892*c2c66affSColin Finck
893*c2c66affSColin Finck        [id(DISPID_ERROR_TOLOCSTRING)]
894*c2c66affSColin Finck        StringInstance *toLocaleString();
895*c2c66affSColin Finck
896*c2c66affSColin Finck        [id(DISPID_ERROR_HASOWNPROP)]
897*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
898*c2c66affSColin Finck
899*c2c66affSColin Finck        [id(DISPID_ERROR_PROPISENUM)]
900*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
901*c2c66affSColin Finck
902*c2c66affSColin Finck        [id(DISPID_ERROR_ISPROTOF)]
903*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
904*c2c66affSColin Finck    }
905*c2c66affSColin Finck
906*c2c66affSColin Finck    [
907*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b09d)
908*c2c66affSColin Finck    ]
909*c2c66affSColin Finck    dispinterface ReferenceErrorInstance {
910*c2c66affSColin Finck    properties:
911*c2c66affSColin Finck        [id(DISPID_ERROR_NAME)]
912*c2c66affSColin Finck        StringInstance *name;
913*c2c66affSColin Finck
914*c2c66affSColin Finck        [id(DISPID_ERROR_MESSAGE)]
915*c2c66affSColin Finck        StringInstance *message;
916*c2c66affSColin Finck
917*c2c66affSColin Finck        [id(DISPID_ERROR_IGNORECASE)]
918*c2c66affSColin Finck        VARIANT ignoreCase;
919*c2c66affSColin Finck
920*c2c66affSColin Finck        [id(DISPID_ERROR_MULTILINE)]
921*c2c66affSColin Finck        VARIANT multiline;
922*c2c66affSColin Finck
923*c2c66affSColin Finck        [id(DISPID_ERROR_LASTINDEX)]
924*c2c66affSColin Finck        VARIANT lastIndex;
925*c2c66affSColin Finck
926*c2c66affSColin Finck    methods:
927*c2c66affSColin Finck        [id(DISPID_ERROR_TOSTRING)]
928*c2c66affSColin Finck        StringInstance *toString();
929*c2c66affSColin Finck
930*c2c66affSColin Finck        [id(DISPID_ERROR_TOLOCSTRING)]
931*c2c66affSColin Finck        StringInstance *toLocaleString();
932*c2c66affSColin Finck
933*c2c66affSColin Finck        [id(DISPID_ERROR_HASOWNPROP)]
934*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
935*c2c66affSColin Finck
936*c2c66affSColin Finck        [id(DISPID_ERROR_PROPISENUM)]
937*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
938*c2c66affSColin Finck
939*c2c66affSColin Finck        [id(DISPID_ERROR_ISPROTOF)]
940*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
941*c2c66affSColin Finck    }
942*c2c66affSColin Finck
943*c2c66affSColin Finck    [
944*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b09e)
945*c2c66affSColin Finck    ]
946*c2c66affSColin Finck    dispinterface SyntaxErrorInstance {
947*c2c66affSColin Finck    properties:
948*c2c66affSColin Finck        [id(DISPID_ERROR_NAME)]
949*c2c66affSColin Finck        StringInstance *name;
950*c2c66affSColin Finck
951*c2c66affSColin Finck        [id(DISPID_ERROR_MESSAGE)]
952*c2c66affSColin Finck        StringInstance *message;
953*c2c66affSColin Finck
954*c2c66affSColin Finck        [id(DISPID_ERROR_IGNORECASE)]
955*c2c66affSColin Finck        VARIANT ignoreCase;
956*c2c66affSColin Finck
957*c2c66affSColin Finck        [id(DISPID_ERROR_MULTILINE)]
958*c2c66affSColin Finck        VARIANT multiline;
959*c2c66affSColin Finck
960*c2c66affSColin Finck        [id(DISPID_ERROR_LASTINDEX)]
961*c2c66affSColin Finck        VARIANT lastIndex;
962*c2c66affSColin Finck
963*c2c66affSColin Finck    methods:
964*c2c66affSColin Finck        [id(DISPID_ERROR_TOSTRING)]
965*c2c66affSColin Finck        StringInstance *toString();
966*c2c66affSColin Finck
967*c2c66affSColin Finck        [id(DISPID_ERROR_TOLOCSTRING)]
968*c2c66affSColin Finck        StringInstance *toLocaleString();
969*c2c66affSColin Finck
970*c2c66affSColin Finck        [id(DISPID_ERROR_HASOWNPROP)]
971*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
972*c2c66affSColin Finck
973*c2c66affSColin Finck        [id(DISPID_ERROR_PROPISENUM)]
974*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
975*c2c66affSColin Finck
976*c2c66affSColin Finck        [id(DISPID_ERROR_ISPROTOF)]
977*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
978*c2c66affSColin Finck    }
979*c2c66affSColin Finck
980*c2c66affSColin Finck    [
981*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b09f)
982*c2c66affSColin Finck    ]
983*c2c66affSColin Finck    dispinterface TypeErrorInstance {
984*c2c66affSColin Finck    properties:
985*c2c66affSColin Finck        [id(DISPID_ERROR_NAME)]
986*c2c66affSColin Finck        StringInstance *name;
987*c2c66affSColin Finck
988*c2c66affSColin Finck        [id(DISPID_ERROR_MESSAGE)]
989*c2c66affSColin Finck        StringInstance *message;
990*c2c66affSColin Finck
991*c2c66affSColin Finck        [id(DISPID_ERROR_IGNORECASE)]
992*c2c66affSColin Finck        VARIANT ignoreCase;
993*c2c66affSColin Finck
994*c2c66affSColin Finck        [id(DISPID_ERROR_MULTILINE)]
995*c2c66affSColin Finck        VARIANT multiline;
996*c2c66affSColin Finck
997*c2c66affSColin Finck        [id(DISPID_ERROR_LASTINDEX)]
998*c2c66affSColin Finck        VARIANT lastIndex;
999*c2c66affSColin Finck
1000*c2c66affSColin Finck    methods:
1001*c2c66affSColin Finck        [id(DISPID_ERROR_TOSTRING)]
1002*c2c66affSColin Finck        StringInstance *toString();
1003*c2c66affSColin Finck
1004*c2c66affSColin Finck        [id(DISPID_ERROR_TOLOCSTRING)]
1005*c2c66affSColin Finck        StringInstance *toLocaleString();
1006*c2c66affSColin Finck
1007*c2c66affSColin Finck        [id(DISPID_ERROR_HASOWNPROP)]
1008*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
1009*c2c66affSColin Finck
1010*c2c66affSColin Finck        [id(DISPID_ERROR_PROPISENUM)]
1011*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
1012*c2c66affSColin Finck
1013*c2c66affSColin Finck        [id(DISPID_ERROR_ISPROTOF)]
1014*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
1015*c2c66affSColin Finck    }
1016*c2c66affSColin Finck
1017*c2c66affSColin Finck    [
1018*c2c66affSColin Finck        uuid(3eef9758-35fc-11d1-8ce4-00c04fc2b0a0)
1019*c2c66affSColin Finck    ]
1020*c2c66affSColin Finck    dispinterface URIErrorInstance {
1021*c2c66affSColin Finck    properties:
1022*c2c66affSColin Finck        [id(DISPID_ERROR_NAME)]
1023*c2c66affSColin Finck        StringInstance *name;
1024*c2c66affSColin Finck
1025*c2c66affSColin Finck        [id(DISPID_ERROR_MESSAGE)]
1026*c2c66affSColin Finck        StringInstance *message;
1027*c2c66affSColin Finck
1028*c2c66affSColin Finck        [id(DISPID_ERROR_IGNORECASE)]
1029*c2c66affSColin Finck        VARIANT ignoreCase;
1030*c2c66affSColin Finck
1031*c2c66affSColin Finck        [id(DISPID_ERROR_MULTILINE)]
1032*c2c66affSColin Finck        VARIANT multiline;
1033*c2c66affSColin Finck
1034*c2c66affSColin Finck        [id(DISPID_ERROR_LASTINDEX)]
1035*c2c66affSColin Finck        VARIANT lastIndex;
1036*c2c66affSColin Finck
1037*c2c66affSColin Finck    methods:
1038*c2c66affSColin Finck        [id(DISPID_ERROR_TOSTRING)]
1039*c2c66affSColin Finck        StringInstance *toString();
1040*c2c66affSColin Finck
1041*c2c66affSColin Finck        [id(DISPID_ERROR_TOLOCSTRING)]
1042*c2c66affSColin Finck        StringInstance *toLocaleString();
1043*c2c66affSColin Finck
1044*c2c66affSColin Finck        [id(DISPID_ERROR_HASOWNPROP)]
1045*c2c66affSColin Finck        VARIANT hasOwnProperty(VARIANT propertyName);
1046*c2c66affSColin Finck
1047*c2c66affSColin Finck        [id(DISPID_ERROR_PROPISENUM)]
1048*c2c66affSColin Finck        VARIANT propertyIsEnumerable(VARIANT propertyName);
1049*c2c66affSColin Finck
1050*c2c66affSColin Finck        [id(DISPID_ERROR_ISPROTOF)]
1051*c2c66affSColin Finck        VARIANT isPrototypeOf(VARIANT obj);
1052*c2c66affSColin Finck    }
1053*c2c66affSColin Finck}
1054