jscript: Added parser.
[wine] / dlls / jscript / engine.c
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 "jscript.h"
20 #include "engine.h"
21
22 #include "wine/debug.h"
23
24 WINE_DEFAULT_DEBUG_CHANNEL(jscript);
25
26 HRESULT block_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
27 {
28     FIXME("\n");
29     return E_NOTIMPL;
30 }
31
32 HRESULT var_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
33 {
34     FIXME("\n");
35     return E_NOTIMPL;
36 }
37
38 HRESULT empty_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
39 {
40     FIXME("\n");
41     return E_NOTIMPL;
42 }
43
44 HRESULT expression_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
45 {
46     FIXME("\n");
47     return E_NOTIMPL;
48 }
49
50 HRESULT if_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
51 {
52     FIXME("\n");
53     return E_NOTIMPL;
54 }
55
56 HRESULT dowhile_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
57 {
58     FIXME("\n");
59     return E_NOTIMPL;
60 }
61
62 HRESULT while_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
63 {
64     FIXME("\n");
65     return E_NOTIMPL;
66 }
67
68 HRESULT for_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
69 {
70     FIXME("\n");
71     return E_NOTIMPL;
72 }
73
74 HRESULT forin_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
75 {
76     FIXME("\n");
77     return E_NOTIMPL;
78 }
79
80 HRESULT continue_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
81 {
82     FIXME("\n");
83     return E_NOTIMPL;
84 }
85
86 HRESULT break_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
87 {
88     FIXME("\n");
89     return E_NOTIMPL;
90 }
91
92 HRESULT return_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
93 {
94     FIXME("\n");
95     return E_NOTIMPL;
96 }
97
98 HRESULT with_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
99 {
100     FIXME("\n");
101     return E_NOTIMPL;
102 }
103
104 HRESULT labelled_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
105 {
106     FIXME("\n");
107     return E_NOTIMPL;
108 }
109
110 HRESULT switch_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
111 {
112     FIXME("\n");
113     return E_NOTIMPL;
114 }
115
116 HRESULT throw_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
117 {
118     FIXME("\n");
119     return E_NOTIMPL;
120 }
121
122 HRESULT try_statement_eval(exec_ctx_t *ctx, statement_t *stat, return_type_t *rt, VARIANT *ret)
123 {
124     FIXME("\n");
125     return E_NOTIMPL;
126 }
127
128 HRESULT function_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
129 {
130     FIXME("\n");
131     return E_NOTIMPL;
132 }
133
134 HRESULT conditional_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
135 {
136     FIXME("\n");
137     return E_NOTIMPL;
138 }
139
140 HRESULT array_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
141 {
142     FIXME("\n");
143     return E_NOTIMPL;
144 }
145
146 HRESULT member_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
147 {
148     FIXME("\n");
149     return E_NOTIMPL;
150 }
151
152 HRESULT member_new_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
153 {
154     FIXME("\n");
155     return E_NOTIMPL;
156 }
157
158 HRESULT call_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
159 {
160     FIXME("\n");
161     return E_NOTIMPL;
162 }
163
164 HRESULT this_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
165 {
166     FIXME("\n");
167     return E_NOTIMPL;
168 }
169
170 HRESULT identifier_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
171 {
172     FIXME("\n");
173     return E_NOTIMPL;
174 }
175
176 HRESULT literal_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
177 {
178     FIXME("\n");
179     return E_NOTIMPL;
180 }
181
182 HRESULT array_literal_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
183 {
184     FIXME("\n");
185     return E_NOTIMPL;
186 }
187
188 HRESULT property_value_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
189 {
190     FIXME("\n");
191     return E_NOTIMPL;
192 }
193
194 HRESULT comma_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
195 {
196     FIXME("\n");
197     return E_NOTIMPL;
198 }
199
200 HRESULT logical_or_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
201 {
202     FIXME("\n");
203     return E_NOTIMPL;
204 }
205
206 HRESULT logical_and_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
207 {
208     FIXME("\n");
209     return E_NOTIMPL;
210 }
211
212 HRESULT binary_or_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
213 {
214     FIXME("\n");
215     return E_NOTIMPL;
216 }
217
218 HRESULT binary_xor_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
219 {
220     FIXME("\n");
221     return E_NOTIMPL;
222 }
223
224 HRESULT binary_and_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
225 {
226     FIXME("\n");
227     return E_NOTIMPL;
228 }
229
230 HRESULT instanceof_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
231 {
232     FIXME("\n");
233     return E_NOTIMPL;
234 }
235
236 HRESULT in_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
237 {
238     FIXME("\n");
239     return E_NOTIMPL;
240 }
241
242 HRESULT add_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
243 {
244     FIXME("\n");
245     return E_NOTIMPL;
246 }
247
248 HRESULT sub_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
249 {
250     FIXME("\n");
251     return E_NOTIMPL;
252 }
253
254 HRESULT mul_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
255 {
256     FIXME("\n");
257     return E_NOTIMPL;
258 }
259
260 HRESULT div_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
261 {
262     FIXME("\n");
263     return E_NOTIMPL;
264 }
265
266 HRESULT mod_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
267 {
268     FIXME("\n");
269     return E_NOTIMPL;
270 }
271
272 HRESULT delete_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
273 {
274     FIXME("\n");
275     return E_NOTIMPL;
276 }
277
278 HRESULT void_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
279 {
280     FIXME("\n");
281     return E_NOTIMPL;
282 }
283
284 HRESULT typeof_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
285 {
286     FIXME("\n");
287     return E_NOTIMPL;
288 }
289
290 HRESULT minus_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
291 {
292     FIXME("\n");
293     return E_NOTIMPL;
294 }
295
296 HRESULT plus_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
297 {
298     FIXME("\n");
299     return E_NOTIMPL;
300 }
301
302 HRESULT post_increment_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
303 {
304     FIXME("\n");
305     return E_NOTIMPL;
306 }
307
308 HRESULT post_decrement_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
309 {
310     FIXME("\n");
311     return E_NOTIMPL;
312 }
313
314 HRESULT pre_increment_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
315 {
316     FIXME("\n");
317     return E_NOTIMPL;
318 }
319
320 HRESULT pre_decrement_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
321 {
322     FIXME("\n");
323     return E_NOTIMPL;
324 }
325
326 HRESULT new_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
327 {
328     FIXME("\n");
329     return E_NOTIMPL;
330 }
331
332 HRESULT equal_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
333 {
334     FIXME("\n");
335     return E_NOTIMPL;
336 }
337
338 HRESULT equal2_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
339 {
340     FIXME("\n");
341     return E_NOTIMPL;
342 }
343
344 HRESULT not_equal_expression_eval(exec_ctx_t *ctx, expression_t *_expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
345 {
346
347     FIXME("\n");
348     return E_NOTIMPL;
349 }
350
351 HRESULT not_equal2_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
352 {
353     FIXME("\n");
354     return E_NOTIMPL;
355 }
356
357 HRESULT less_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
358 {
359     FIXME("\n");
360     return E_NOTIMPL;
361 }
362
363 HRESULT lesseq_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
364 {
365     FIXME("\n");
366     return E_NOTIMPL;
367 }
368
369 HRESULT greater_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
370 {
371     FIXME("\n");
372     return E_NOTIMPL;
373 }
374
375 HRESULT greatereq_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
376 {
377     FIXME("\n");
378     return E_NOTIMPL;
379 }
380
381 HRESULT binary_negation_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
382 {
383     FIXME("\n");
384     return E_NOTIMPL;
385 }
386
387 HRESULT logical_negation_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
388 {
389     FIXME("\n");
390     return E_NOTIMPL;
391 }
392
393 HRESULT left_shift_expression_eval(exec_ctx_t *ctx, expression_t *_expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
394 {
395     FIXME("\n");
396     return E_NOTIMPL;
397 }
398
399 HRESULT right_shift_expression_eval(exec_ctx_t *ctx, expression_t *_expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
400 {
401     FIXME("\n");
402     return E_NOTIMPL;
403 }
404
405 HRESULT right2_shift_expression_eval(exec_ctx_t *ctx, expression_t *_expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
406 {
407     FIXME("\n");
408     return E_NOTIMPL;
409 }
410
411 HRESULT assign_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
412 {
413     FIXME("\n");
414     return E_NOTIMPL;
415 }
416
417 HRESULT assign_lshift_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
418 {
419     FIXME("\n");
420     return E_NOTIMPL;
421 }
422
423 HRESULT assign_rshift_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
424 {
425     FIXME("\n");
426     return E_NOTIMPL;
427 }
428
429 HRESULT assign_rrshift_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
430 {
431     FIXME("\n");
432     return E_NOTIMPL;
433 }
434
435 HRESULT assign_add_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
436 {
437     FIXME("\n");
438     return E_NOTIMPL;
439 }
440
441 HRESULT assign_sub_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
442 {
443     FIXME("\n");
444     return E_NOTIMPL;
445 }
446
447 HRESULT assign_mul_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
448 {
449     FIXME("\n");
450     return E_NOTIMPL;
451 }
452
453 HRESULT assign_div_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
454 {
455     FIXME("\n");
456     return E_NOTIMPL;
457 }
458
459 HRESULT assign_mod_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
460 {
461     FIXME("\n");
462     return E_NOTIMPL;
463 }
464
465 HRESULT assign_and_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
466 {
467     FIXME("\n");
468     return E_NOTIMPL;
469 }
470
471 HRESULT assign_or_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
472 {
473     FIXME("\n");
474     return E_NOTIMPL;
475 }
476
477 HRESULT assign_xor_expression_eval(exec_ctx_t *ctx, expression_t *expr, DWORD flags, jsexcept_t *ei, exprval_t *ret)
478 {
479     FIXME("\n");
480     return E_NOTIMPL;
481 }