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