Jacek Caban
42d75be69d
jscript: Be more verbose about parser failure.
2012-09-07 19:15:23 +02:00
Jacek Caban
6ba7a1964a
jscript: Fixed empty cases in the end of switch statement.
2012-09-04 16:15:45 +02:00
Jacek Caban
7fec767864
jscript: Fixed argument conversion in disp_call_value when 'this' is specified.
2012-09-03 16:13:21 +02:00
Michael Stefaniuc
37a9183d68
jscript: Avoid FALSE:TRUE conditional expressions.
2012-08-13 17:29:31 +02:00
Jacek Caban
142d0f3026
jscript/tests: Use proper helpers for iface calls.
2012-07-30 17:13:31 +02:00
Jacek Caban
1104663fe7
jscript: Use prototype for builtin String properties.
2012-07-24 13:38:41 +02:00
Jacek Caban
1dfb75d9a3
jscript: Use prototype for builtin RegExp properties.
2012-07-24 13:38:37 +02:00
Jacek Caban
3b80361a70
jscript: Use prototype for builtin Number properties.
2012-07-24 13:38:31 +02:00
Jacek Caban
175c4ddad5
jscript: Use prototype for builtin Date properties.
2012-07-24 13:38:26 +02:00
Jacek Caban
5058c1d12d
jscript: Use prototype for builtin Boolean properties.
2012-07-24 13:38:20 +02:00
Jacek Caban
6e4f74f71b
jscript: Use prototype for builtin Array properties.
2012-07-24 13:38:09 +02:00
Jacek Caban
de6e95213a
jscript: Added more tests.
2012-07-23 19:53:49 +02:00
Jacek Caban
10179c210e
jscript: Properly handle builtin properties in Object.prototype.hasOwnProperty implementation.
2012-07-23 19:53:48 +02:00
Jacek Caban
15a83f0ff5
jscript: Don't expose properties that belong to function prototype from function instance.
2012-07-23 19:53:48 +02:00
Jacek Caban
a2c2103cd3
jscript: Don't expose properties belonging to Object prototype from Object instance.
2012-07-23 19:53:46 +02:00
Jacek Caban
d0aa78c096
jscript: Don't set constructor property to each object instance, it belongs to their prototypes.
2012-07-16 16:29:57 +02:00
Jacek Caban
49fd903205
jscript: Expose RegExpError constructor in global object.
2012-07-16 16:29:51 +02:00
Jacek Caban
27747d3a75
jscript: Properly set Error object's constructor property.
2012-07-16 16:29:45 +02:00
Jacek Caban
bf7b7272ee
jscript: Properly set Function constructor's constructor property.
2012-07-16 16:29:38 +02:00
Jacek Caban
d492650332
jscript: Properly handle constructor property for most builtin constructors.
2012-07-16 16:29:31 +02:00
Jacek Caban
cf8029717c
jscript: Properly set Number.prototyp.constructor.
2012-07-16 16:29:21 +02:00
Jacek Caban
8613d5e9cc
jscript: Prefer builtin version.
2012-07-13 14:10:30 -05:00
Francois Gouget
b7f74922a4
jscript: Make int_to_bstr() static.
2012-06-26 17:06:11 +02:00
Jacek Caban
7dcd1d06ef
jscript: Added more apply and call tests.
2012-06-25 18:12:52 +02:00
Jacek Caban
14138e6f09
jscript: Removed no longer needed arg_cnt and get_arg helpers.
2012-06-25 18:12:52 +02:00
Jacek Caban
f8383c3417
jscript: Don't use DISPPARAMS for internal arguments.
2012-06-25 18:12:51 +02:00
Jacek Caban
0307d73569
jscript: Don't use DISPPARAMS named args for internal parameter passing.
2012-06-25 18:12:51 +02:00
Jacek Caban
00b5ba5355
jscript: Moved DISPPARAMS conversion to InvokeEx.
2012-06-21 18:04:56 +02:00
Jacek Caban
1dd4cbc491
jscript: Pass jsthis internally without using DISPPARAMS.
2012-06-21 18:04:52 +02:00
Jacek Caban
17ff7829d3
jscript: Make Function object invocation a special case in IDispatchEx implementation.
2012-06-21 18:04:39 +02:00
Jacek Caban
4a335142f9
jscript: Use INFINITY macro instead of num_set_inf().
2012-06-21 18:04:32 +02:00
Jacek Caban
c7c8cd780a
jscript: Use INFINITY macro instead of ret_inf() hack.
2012-06-20 19:21:08 +02:00
Jacek Caban
1532037bcd
jscript: Use num_set_int where possible.
2012-06-20 19:21:05 +02:00
Jacek Caban
7118e6fbbb
jscript: Use num_set_int in array.c.
2012-06-20 19:21:01 +02:00
Jacek Caban
4cfab07748
jscript: Always store numeric literals as double.
2012-06-20 19:20:57 +02:00
André Hentschel
2f7453f81f
jscript/tests: Fix some typos.
2012-06-18 10:57:25 +02:00
Jacek Caban
de5495ba86
jscript: Added missing port.h include to lex.c.
2012-05-30 11:28:21 +02:00
Jacek Caban
db737291fc
jscript: Get rid of num_set_nan hack.
2012-05-29 18:20:14 +02:00
Jacek Caban
d0a719a79d
jscript: Get rid of ret_nan hack.
2012-05-29 18:20:13 +02:00
Michael Stefaniuc
8f4512f763
jscript/tests: Check the correct return value.
2012-05-21 11:34:38 +02:00
Francois Gouget
fac36c55e9
Assorted typo, spelling, wording and case fixes.
2012-05-15 16:26:43 +02:00
Francois Gouget
22fe702f7a
jscript/tests: Fix the spelling of the testEmbeddedFunctions() function name.
2012-05-14 12:06:15 +02:00
Jacek Caban
35e663425d
jscript: Store double op arg directly instead of by pointer.
2012-05-14 12:04:23 +02:00
Jacek Caban
1acb30a522
jscript: Added get_op_str and get_op_double helpers.
2012-05-14 12:04:23 +02:00
Jacek Caban
e273636d4d
jscript: Make flags parameter of OP_regexp unsigned.
2012-05-14 12:04:22 +02:00
Jacek Caban
0d5defafd4
jscipt: Make arg_cnt parameter of OP_new unsigned.
2012-05-14 12:04:22 +02:00
Jacek Caban
efe744a8ba
jscript: Added get_op_int helper.
2012-05-14 12:04:21 +02:00
Jacek Caban
bad9afb3a0
jscript: Added get_op_uint helper.
2012-05-14 12:04:21 +02:00
Jacek Caban
9a496ce10b
jscript: Added get_op_bstr helper.
2012-05-14 12:04:20 +02:00
Jacek Caban
c8a28a9671
jscript: Added support for VT_INT.
2012-05-04 18:08:33 +02:00
Jacek Caban
c61af66c5b
jscript: Skip failing tests on old jscript versions.
2012-05-04 18:08:32 +02:00
Jacek Caban
56bf46fda0
jscript: Return double from to_integer.
2012-05-03 20:44:11 +02:00
Jacek Caban
e26a3018e7
jscript: Better handling of to_integer in String.substr.
2012-05-03 20:44:10 +02:00
Jacek Caban
9b02d2d5a3
jscript: Better handling of to_integer result in String.substring.
2012-05-03 20:44:10 +02:00
Jacek Caban
c01562040d
jscript: Better handling of to_integer result in String.slice.
2012-05-03 20:44:10 +02:00
Jacek Caban
d49635f08a
jscript: Better handling of to_integer result in String.lastIndexOf.
2012-05-03 20:44:09 +02:00
Jacek Caban
baa07477d2
jscript: Bettter handling of to_number result in String.indexOf.
2012-05-03 20:44:09 +02:00
Jacek Caban
621180e81c
jscript: Better handling of to_integer result in String.charCodeAt.
2012-05-03 20:44:08 +02:00
Jacek Caban
0143201eac
jscript: Better handling of to_integer result in String.charAt.
2012-05-03 20:44:08 +02:00
Jacek Caban
3ee7438a5f
jscript: Better handling of to_integer result in Array.splice.
2012-05-03 20:44:08 +02:00
Jacek Caban
5b83abced7
jscript: Properly test if double may be converted to int32.
2012-05-02 20:14:56 +02:00
Jacek Caban
13db9a1662
jscript: Added VT_I2 tests.
2012-05-01 15:28:24 +02:00
Jacek Caban
c9c8c6165e
jscript: Added support for VT_I2 in invoke_prop_func.
2012-05-01 15:28:22 +02:00
Jacek Caban
da125450da
jscript: Added support for VT_I2 in disp_call.
2012-05-01 15:28:18 +02:00
Jacek Caban
b6a1912392
jscript: Added support for VT_I2 in disp_propget.
2012-05-01 15:28:16 +02:00
Thomas Faber
58ad6fcf1f
jscript: Add missing port.h include for isnan.
2012-04-30 11:00:35 +02:00
Jacek Caban
30acd235dd
jscript: Removed unused do_*_tag_format arguments.
2012-04-27 12:02:31 +02:00
Jacek Caban
424b63119c
jscript: Use stack_push_int in interp_bneg.
2012-04-27 12:02:28 +02:00
Jacek Caban
ca15adfde6
jscript: Get rid of parser function collecting hack by moving the logic to compiler.
2012-04-26 19:27:36 +02:00
Piotr Caban
cc6205f10c
jscript: Fix toExponential behavior when exponent is 0.
2012-04-25 17:16:37 +02:00
Jacek Caban
474f1152b2
jscript: Moved collecting variable declarations from parser to compiler.
2012-04-25 12:17:08 +02:00
Jacek Caban
b866c7f5e9
jscript: Make parser a temporary compiler object.
2012-04-25 12:17:04 +02:00
Jacek Caban
97b44da746
jscript: Store function parameters in function_code_t.
2012-04-25 12:17:01 +02:00
Jacek Caban
d1a4053953
jscript: Fixed func->funcs leak.
2012-04-25 12:16:56 +02:00
Jacek Caban
64a3f5077f
jscript: Store variable names in function_code_t.
2012-04-25 12:16:52 +02:00
Jacek Caban
375ab889d8
jscript: Store source code range in function_code_t.
2012-04-24 17:45:27 +02:00
Jacek Caban
8c533d10d6
jscript: Store function name in function_code_t.
2012-04-24 17:45:18 +02:00
Jacek Caban
d76b675ea8
jscript: Use compiler-generated struct for representing function code.
2012-04-24 17:45:16 +02:00
Jacek Caban
4733fd0623
jscript: Added regexp 'pre-parser' to support non-backslash-sequenced non-terminating '/' in characted classes.
2012-04-20 11:59:51 +02:00
Piotr Caban
4c4c7c047f
jscript: Added Number.toPrecision implementation.
2012-04-19 19:28:11 +02:00
Piotr Caban
c1228eb45f
jscript: Added Number.toExponential implementation.
2012-04-19 19:28:11 +02:00
Piotr Caban
a20c0d1141
jscript: Added Number.toFixed implementation.
2012-04-19 19:28:11 +02:00
Piotr Caban
b81e44f8d9
jscript: Make parsing of double more accurate.
2012-04-19 19:28:10 +02:00
André Hentschel
6677982728
jscript: Remove unneeded shadow variable.
2012-04-18 17:13:14 +02:00
Jacek Caban
c1cb8f29b0
jscript: Correctly handle empty matches in String.replace.
2012-04-18 15:44:47 +02:00
Jacek Caban
e21588aef7
jscript: Pass correct cpbegin to InitMatch.
2012-04-18 15:44:43 +02:00
Frédéric Delanoy
69f3d23045
jscript: Assorted spelling fixes.
2012-04-18 13:59:44 +02:00
Jacek Caban
d2fb2af8ee
jscript: Added parameterized property assignment tests.
2012-04-17 19:19:07 +02:00
Jacek Caban
0b0e34ab39
jscript: Addded parameterized property assignment support.
2012-04-17 19:19:03 +02:00
Jacek Caban
05d59abc1c
jscript: Make sure to jump out of switch before entering implicit default clausule.
2012-04-16 12:08:56 +02:00
Jacek Caban
78fc648dec
jscript: Replace only the first match for non-regexp pattern in String.replace.
2012-04-09 17:16:00 +02:00
Jacek Caban
bf066791e0
jscript: Avoid cleaning an uninitialized variable.
2012-04-04 19:02:49 +02:00
Jacek Caban
114a439fed
jscript: Fixed parsing /=/ regexp.
2012-04-02 14:14:32 +02:00
Jacek Caban
353553e0aa
jscript: Emit undefined statement return for switch without default clausule.
2012-04-02 14:14:30 +02:00
Jacek Caban
b3bafb60a2
jscript: Fixed jsheap_grow implementation.
2012-04-02 12:34:45 +02:00
Jacek Caban
8f36daa422
jscript: Properly handle NULL bstr in str_to_number.
2012-03-28 17:28:34 +02:00
Jacek Caban
7bb41e75b6
jscript: Store value as double in NumberInstance object.
2012-03-27 11:43:17 +02:00
Jacek Caban
0bf61fb640
jscript: Return double instead of VARIANT from stack_pop_number.
2012-03-27 11:43:10 +02:00
Jacek Caban
0d287ff0b1
jscript: Return double instead of VARIANT from date_utc.
2012-03-27 11:43:06 +02:00
Jacek Caban
451169fb93
jscript: Return double instead of VARIANT from to_number.
2012-03-27 11:43:01 +02:00
Jacek Caban
c18b84cf4e
jscript: Added decoding tests.
2012-03-26 18:15:15 +02:00
Jacek Caban
f7a8650500
jscript: Added decoding support.
2012-03-26 18:15:11 +02:00
Jacek Caban
129183ebb0
jscript: Added JScriptEncode object tests.
2012-03-26 18:15:09 +02:00
Jacek Caban
4a9eea3516
jscript: Added beginning support for JScriptEncode object.
2012-03-26 18:15:09 +02:00
Jacek Caban
0762106648
jscript: Store source code in bytecode_t.
2012-03-26 18:15:08 +02:00
Jacek Caban
84ed86c431
jscript: Get rid of no longer needed caller argument from builtin_invoke_t.
2012-03-14 17:34:00 +01:00
Jacek Caban
a6ee63eef3
jscript: Removed no longer needed ref counting in parser_ctx_t.
2012-03-13 10:30:53 +01:00
Jacek Caban
a1c4c84005
jscript: Store parser_ctx_t in bytecode_t instead of other way around.
2012-03-13 10:30:49 +01:00
Jacek Caban
8c347fd71d
jscript: Store script context in exec_ctx_t.
2012-03-13 10:30:42 +01:00
Jacek Caban
9d4b0bd502
jscript: Don't store compiler_ctx_t in parser_ctx_t.
2012-03-13 10:30:36 +01:00
Jacek Caban
be29a73845
jscript: Call script_parse from compile_script, not the other way around.
2012-03-13 10:30:32 +01:00
Jacek Caban
825eb76321
jscript: Compile all function from given source in one run.
2012-03-13 10:30:27 +01:00
Jacek Caban
4fb1cad149
jscript: Simplify compile_subscript_stat.
2012-03-13 10:30:22 +01:00
Jacek Caban
9f83c6061f
jscript: Store bytecode_t in exec_ctx_t.
2012-03-13 10:30:18 +01:00
Jacek Caban
29b9237c91
jscript: Removed no longer needed caller argument from jsdisp_get_idx.
2012-03-12 16:37:21 +01:00
Jacek Caban
0d9cc45406
jscript: Removed no longer needed caller argument from jsdisp_propget_name.
2012-03-12 16:37:21 +01:00
Jacek Caban
7d4ba8db63
jscript: Removed no longer needed caller argument from jsdisp_propput_idx.
2012-03-12 16:37:20 +01:00
Jacek Caban
12bc6e0cc7
jscript: Removed no longer needed caller argument from jsdisp_propput_name and jsdisp_propget.
2012-03-12 16:37:20 +01:00
Jacek Caban
a80dd7cb79
jscript: Removed no longer needed caller argument from jsdisp_call_name.
2012-03-12 16:37:19 +01:00
Jacek Caban
07be020a48
jscript: Removed no longer needed caller argument from jsdisp_call_value.
2012-03-12 16:37:19 +01:00
Jacek Caban
93972b79cc
jscript: Added VARIANT conversion tests.
2012-03-12 16:37:18 +01:00
Jacek Caban
c6360c3e6e
jscript: Added QueryService(SID_VariantConversion) implementation.
2012-03-12 16:37:18 +01:00
Jacek Caban
bac7c1ef36
jscript: Added ChangeType implementation.
2012-03-12 16:37:17 +01:00
Jacek Caban
fb79915803
jscript: Removed no longer needed disp_propput caller argument.
2012-03-09 11:31:29 +01:00
Jacek Caban
f560e98346
jscript: Removed no longer needed disp_propget caller argument.
2012-03-09 11:31:24 +01:00
Jacek Caban
e0ae18260e
jscript: Removed no longer needed caller argument of disp_call function.
2012-03-09 11:31:19 +01:00
Jacek Caban
dfb59c6049
jscript: Pass proper caller argument to InvokeEx.
2012-03-09 11:31:15 +01:00
Jacek Caban
f8b20563aa
jscript: Properly handle NULL strings in add_eval.
2012-03-09 11:31:09 +01:00
Jacek Caban
1cadd7cc32
jscript: Added IVariantChangeType stub implementation.
2012-03-09 11:31:04 +01:00
Jacek Caban
2830a21e1d
jscript: Get rid of unused SET_CALLED macro.
2012-01-27 18:05:52 +01:00
Alistair Leslie-Hughes
ae46ad83a5
jscript: ActiveX objects might not support IServiceProvider Interface.
2012-01-25 20:39:48 +01:00
Jacek Caban
e5baa75034
jscript: Simplify identifier_eval function.
2012-01-18 16:25:46 +01:00
Alexandre Julliard
902915f667
jscript: Set return value after assert(0) to avoid warnings.
2012-01-17 15:02:47 +01:00
Jacek Caban
f03b24ad3e
jscript: Get rid of no longer used OP_label.
2012-01-17 14:08:33 +01:00
Jacek Caban
5c47f4a269
jscript: Added labelled statements tests.
2012-01-17 14:08:32 +01:00
Jacek Caban
4aec6b1090
jscript: Added labelled continue statement implementation.
2012-01-17 14:08:32 +01:00
Jacek Caban
9a4e12aa93
jscript: Added labelled break statement implementation.
2012-01-17 14:07:54 +01:00
Jacek Caban
383e2b1a0e
jscript: Added labelled statement implementation.
2012-01-17 14:06:13 +01:00
Jacek Caban
5561ee635c
jscript: Fixed jscript tests on some broken versions.
2012-01-12 16:09:45 +01:00
Jacek Caban
afcb9a0130
jscript: Run sanity check with invoke_version 0.
2012-01-12 16:09:42 +01:00
Jacek Caban
e7bb8813a9
jscript: Don't use break in finally block on pre-IE8 jscript.
2012-01-12 16:09:33 +01:00
Jacek Caban
dc5a75a7ac
jscript: Fixed continue inside for..in statement.
2012-01-10 17:58:57 +01:00
Francois Gouget
ee2111b5d5
jscript: Make some engine functions static.
2012-01-09 12:52:10 +01:00
Jacek Caban
5640da1414
jscript: Run script tests in version 2 by default.
2012-01-06 19:24:23 +01:00
Michael Stefaniuc
158c8b76cb
jscript: Remove break after return (Smatch).
2012-01-03 12:37:57 +01:00
Marcus Meissner
0648a567a8
jscript: Mark some function DECLSPEC_HIDDEN.
2012-01-03 12:37:31 +01:00
Jacek Caban
4f59ab4ab7
jscript: Use 0 as an invalid label value.
2012-01-03 12:37:23 +01:00
Jacek Caban
9752df99af
jscript: Get rid of instr_off from expression_t.
2012-01-03 12:37:23 +01:00
Jacek Caban
708c83e208
jscript: Make 0 an invalid code offset.
2012-01-03 12:37:22 +01:00
Jacek Caban
11453b2414
jscript: Always alloc the first chunk of code buffer.
2012-01-03 12:37:22 +01:00
Jacek Caban
da07748ca2
jscript: Get rid of return_type_t.
2011-12-30 15:41:07 +01:00
Jacek Caban
83e8658894
jscript: Get rid of no longer needed interp_tree.
2011-12-30 15:41:06 +01:00
Jacek Caban
cdd90254dd
jscript: Get rid of no longer needed compile_interp_fallback since we can handle all execution by bytecode.
...
We use compiler on whole functions body now. There is still some work
done to move it one level up (to whole source string) to do some work
that's currently done (sometimes in a hacky way) by parser, but the most
critical part is done.
2011-12-30 15:41:06 +01:00
Jacek Caban
e0552ad8c3
jscript: Use bytecode for labeled continue and break statements.
2011-12-30 15:41:06 +01:00
Jacek Caban
b82a6982a9
jscript: Get rid of no longer needed type field of return_type_t structure.
2011-12-30 15:41:05 +01:00
Jacek Caban
fc092da98e
jscript: Use bytecode for return statement implementation.
2011-12-30 15:41:05 +01:00
Jacek Caban
dd7a5301e6
jscript: Make compiler responsible for proper return from regular code vs. eval-interpreted code.
2011-12-30 15:41:04 +01:00
Jacek Caban
11ccf0f33e
jscript: Handle invalid continue statements in compiler.
2011-12-30 15:41:01 +01:00
Jacek Caban
7361cdc2f3
jscript: Handle invalid break statements in compiler.
2011-12-30 15:40:58 +01:00
Jacek Caban
59619073a8
jscript: Added bytecode dumper implementation.
2011-12-29 16:18:51 +01:00
Jacek Caban
ee6e6986fb
jscript: Moved instr_off from statement_t to source_elements_t.
2011-12-29 16:18:50 +01:00
Jacek Caban
b3907c40f7
jscript: No longer support per-statement compilation.
2011-12-29 16:18:50 +01:00
Jacek Caban
6710e7ec6f
jscript: Get rid of stat_eval_table.
2011-12-29 16:18:49 +01:00
Jacek Caban
f08fcff4fd
jscript: Moved exec_source to the bottom of the file.
2011-12-29 16:18:48 +01:00
Jacek Caban
2dcb8d412f
jscript: Always use bytecode for while statement.
2011-12-29 16:18:48 +01:00
Jacek Caban
c6932d8069
jscript: Always use bytecode for try statement.
2011-12-29 16:18:47 +01:00
Jacek Caban
985c6a1943
jscript: Always use bytecode for switch statement.
2011-12-29 16:18:46 +01:00
Jacek Caban
f904bc8e78
jscript: Always use bytecode for for statement.
2011-12-29 16:18:46 +01:00
Jacek Caban
2c0920f8c3
jscript: Always use bytecode for for..in statement.
2011-12-29 16:18:45 +01:00
Jacek Caban
1c0fe6002d
jscript: Always use bytecode for with statement.
2011-12-29 16:18:44 +01:00
Jacek Caban
d7fd00fdab
jscript: Added more control flow tests.
2011-12-28 17:49:35 +01:00
Jacek Caban
8f8c852897
jscript: Get rid of no longer needed no_fallback hack.
2011-12-28 17:49:30 +01:00
Jacek Caban
c5c2276a9f
jscript: Added bytecode versions of break and continue statements.
2011-12-28 17:49:19 +01:00
Jacek Caban
80113b5c5c
jscript: Use labels in compiler for ending loops.
2011-12-28 17:49:15 +01:00
Jacek Caban
3b56e49ef9
jscript: Added bytecode version of try statement.
2011-12-28 17:48:48 +01:00
Jacek Caban
02ff8d1853
jscript: Use bytecode for throw statement.
2011-12-28 17:48:42 +01:00
Jacek Caban
3f4f9f0f40
jscript: Rename throw opcode to throw_ref.
2011-12-28 17:48:37 +01:00
Jacek Caban
661241a392
jscript: Added bytecode version of for..in statement.
2011-12-28 17:48:32 +01:00
Jacek Caban
a6530f4032
jscript: Use bytecode for labelled statement stub.
2011-12-27 16:55:09 +01:00
Jacek Caban
c57dd899a4
jscript: Added bytecode version of switch statement.
2011-12-27 16:55:08 +01:00
Jacek Caban
abffe88e19
jscript: Added bytecode version of with statement.
2011-12-27 16:55:08 +01:00
Jacek Caban
17fedc448b
jscript: Added bytecode version of for loop statement.
2011-12-27 16:55:07 +01:00
Jacek Caban
f5425aeeca
jscript: Added bytecode version of while statement.
2011-12-27 16:55:07 +01:00
Jacek Caban
95677c5099
jscript: Added new jmp_z opcode, more appropriate for branches.
2011-12-20 20:06:30 +01:00
Jacek Caban
e5d7d50faa
jscript: Renamed jmp_z and jmp_nz to cnd_z and cnd_nz.
2011-12-20 20:06:30 +01:00
Jacek Caban
00030ff66f
jscript: Get rid of no longer needed identifier in exprval_t.
2011-12-20 20:06:29 +01:00
Jacek Caban
f5a3f1417e
jscript: Get rid of no longer used expr_eval flags.
2011-12-20 20:06:29 +01:00
Jacek Caban
5c158f1df6
jscript: Use compiler to handle variable statement.
2011-12-20 20:06:28 +01:00
Alistair Leslie-Hughes
1a9d9e0f76
jscript: Don't double free IObjectWithSite interface.
2011-12-20 10:13:10 +01:00
Jacek Caban
7c3160ae02
jscript: Use compiler for hanling empty statements.
2011-12-19 20:15:47 +01:00
Jacek Caban
cf2fc11e31
jscript: Use compiler for handling if statement.
2011-12-19 20:15:47 +01:00
Jacek Caban
ccba279b89
jscript: Use compiler for handling expression statements.
2011-12-19 20:15:47 +01:00
Jacek Caban
2f3e27f09a
jscript: Use bytecode for execution main code block in exec_source.
2011-12-19 20:15:46 +01:00
Jacek Caban
f6023c428a
jscript: Use bytecode for block statement implementation.
2011-12-19 20:15:46 +01:00
Jacek Caban
42aefd424d
jscript: Store type information in statement nodes.
2011-12-19 20:15:45 +01:00
Jacek Caban
47fa932ac0
jscript: Return VARIANT directly from expr_eval.
2011-12-16 16:38:29 +01:00
Jacek Caban
6b1077e2cb
jscript: Invoke bytecode directly from expr_eval.
2011-12-16 16:38:29 +01:00
Jacek Caban
fecc2fcb5e
jscript: Get rid of no longer needed expression eval entry.
2011-12-16 16:38:28 +01:00
Jacek Caban
5e6faaea12
jscript: Use bytecode for object literal implementation.
2011-12-16 16:38:28 +01:00
Jacek Caban
b268e41da6
jscript: Use bytecode for function expression implementation.
2011-12-16 16:38:28 +01:00
Jacek Caban
5086bb2cd9
jscript: Get rid of no longer needed EXPR_NEWREF flag.
2011-12-15 17:46:47 +01:00
Jacek Caban
63366f8f1b
jscript: Always use compiler for member, array and identifier expressions.
2011-12-15 17:46:47 +01:00
Jacek Caban
43a2d8b990
jscript: Don't pass EXPR_NEWREF to name expression in array_expression_eval.
2011-12-15 17:46:46 +01:00
Jacek Caban
595646066b
jscript: Call expressions needling EXPR_NEWREF flag directly.
2011-12-15 17:46:46 +01:00
Jacek Caban
fd6ecbd781
jscript: Throw type error on invalid delete.
2011-12-15 17:46:42 +01:00
Jacek Caban
7845fe595d
jscript: Added more deleting tests.
2011-12-15 17:46:41 +01:00
Jacek Caban
3fd2979fba
jscript: Use byte code for deleting identifier expressions.
2011-12-15 17:46:41 +01:00
Jacek Caban
3caf287630
jscript: Use bytecode for typeof expression implementation.
2011-12-13 18:59:10 +01:00
Jacek Caban
64ef20ce53
jscript: Initialize VARIANT before passing it to disp_propget.
2011-12-12 15:50:50 +01:00
Jacek Caban
2c8e8948df
jscript: Properly handle NULL IDispatch in stack_pop_object.
2011-12-12 15:50:46 +01:00
Jacek Caban
6f35c8fd5d
jscript: Use bytecode for instanceof implementation.
2011-12-12 15:50:46 +01:00
Jacek Caban
f8e3e92be3
jscript: Don't use EXPR_NEWREF in forin_statement_event.
2011-12-12 15:50:45 +01:00
Jacek Caban
106fcb8e87
jscript: Don't use EXPR_NEWREF in for_statement_event.
2011-12-12 15:50:45 +01:00
Jacek Caban
7c3728d728
jscript: Use bytecode for '<<=' expression implementation.
2011-12-09 21:15:29 +01:00
Jacek Caban
a80392e5ea
jscript: Use bytecode for '<<' expression implementation.
2011-12-09 21:15:28 +01:00
Jacek Caban
7904932a9e
jscript: Use bytecode for '>>>=' expression implementation.
2011-12-09 21:15:28 +01:00
Jacek Caban
96e822a33e
jscript: Use bytecode for '>>>' expression implementation.
2011-12-09 21:15:28 +01:00
Jacek Caban
fcdd85267d
jscript: Fixed memory leaks.
2011-12-09 21:15:27 +01:00
Jacek Caban
d30bfb6e54
jscript: Use bytecode for '>>=' expression.
2011-12-08 18:00:16 +01:00
Jacek Caban
28013dfa6f
jscript: Use bytecode for '>>' expression.
2011-12-08 18:00:14 +01:00
Jacek Caban
fc4948af2c
jscript: Use bytecode for '&=' expression implementation.
2011-12-08 18:00:12 +01:00
Jacek Caban
1ef486421e
jscript: Use bytecode for binary and implementation.
2011-12-08 18:00:11 +01:00
Jacek Caban
558d759465
jscript: Use bytecode for array literal expressions.
2011-12-08 18:00:09 +01:00
Jacek Caban
4d0e360266
jscript: Use bytecode for pre-decrement implementation.
2011-12-08 18:00:07 +01:00
Jacek Caban
667cc2e68a
jscript: Use bytecode for pre-increment expression implementation.
2011-12-08 18:00:05 +01:00
Jacek Caban
0325ec71e9
scrrun: Moved script extensions registration to scrrun.dll.
2011-12-07 17:50:02 +01:00
Jacek Caban
e1da3d7242
jscript: Use bytecode for post-decrement expression.
2011-12-07 17:50:02 +01:00
Jacek Caban
a508149fad
jscript: Use bytecode for post-increment expression.
2011-12-07 17:50:01 +01:00
Jacek Caban
aa809f1b7e
jscript: Added bytecode version of array expression.
2011-12-07 17:50:01 +01:00
Jacek Caban
9c9157a144
jscript: Use binary_expression_t instead of array_expression_t.
2011-12-07 17:50:01 +01:00
Jacek Caban
4da0cf39f4
jscript: Use bytecode for all call expressions.
2011-12-07 17:50:00 +01:00
Jacek Caban
3aa7cee00e
jscript: Use bytecode for calls on identifier and member expressions.
2011-12-07 17:50:00 +01:00
Francois Gouget
0a065cb4bd
jscript: Make interp_expression_eval() static.
2011-12-06 17:54:33 +01:00
Jacek Caban
9749de29bc
jscript: Use bytecode for '^=' expression implementation.
2011-12-06 15:50:59 +01:00
Jacek Caban
c74641acf2
jscript: Use bytecode for '|=' expression.
2011-12-06 15:50:59 +01:00
Jacek Caban
a289b8e0a4
jscript: Added bytecode version of member expression.
2011-12-06 15:50:59 +01:00
Jacek Caban
822fdde42d
jscript: Use bytecode for '%=' expression implementation.
2011-12-06 15:50:59 +01:00
Jacek Caban
e9bd2e47f8
jscript: Use bytecode for '/=' expression implementation.
2011-12-06 15:50:59 +01:00
Jacek Caban
0ff59f444b
jscript: Use bytecode for '*=' expression implementation.
2011-12-06 15:50:59 +01:00
Jacek Caban
7b022dbbb8
jscript: Use bytecode for '-=' expression implementation.
2011-12-05 12:25:14 +01:00
Jacek Caban
087afe8b79
jscript: Use bytecode for '+=' expression implementation.
2011-12-05 12:25:09 +01:00
Jacek Caban
8511797c07
jscript: Use bytecode for invalid assignments.
2011-12-05 12:25:04 +01:00
Jacek Caban
5b2c2c5cf9
jscript: Use bytecode for assignment to member expression.
2011-12-05 12:24:59 +01:00
Jacek Caban
9aafd03110
jscript: Use bytecode for assigning to array expression.
2011-12-05 12:24:55 +01:00
Jacek Caban
d3d2f063b6
jscript: Use bytecode for assignment to identifier.
2011-12-05 12:24:50 +01:00
Jacek Caban
9f9f5ae0a7
jscript: Use bytecode for '>=' expression implementation.
2011-12-01 14:18:41 +01:00
Jacek Caban
f3e18fbf03
jscript: Use bytecode for '>' expression implementation.
2011-12-01 14:18:37 +01:00
Jacek Caban
fb51810a95
jscript: Use bytecode for '<=' expression implementation.
2011-12-01 14:18:33 +01:00
Jacek Caban
e5a31cc2d0
jscript: Use bytecode for '<' expression implementation.
2011-12-01 14:18:29 +01:00
Jacek Caban
82368f5cfe
jscript: Get rid of no longer needed EXPRVAL_NAMEREF.
2011-11-30 11:51:29 +01:00
Jacek Caban
962307da6c
jscript: Use bytecode for delete member expression.
2011-11-30 11:51:25 +01:00
Jacek Caban
facc2189d2
jscript: Use bytecode for delete on array expression implementation.
2011-11-30 11:51:20 +01:00
Jacek Caban
6c47177cb1
jscript: Mark some functions as static.
2011-11-30 11:51:16 +01:00
Jacek Caban
0505e03b57
jscript: Use bytecode for binary xor expressions.
2011-11-29 13:26:29 +01:00
Jacek Caban
96b13314eb
jscript: Use bytecode for binary or implementation.
2011-11-29 13:26:26 +01:00
Jacek Caban
7a20965bd2
jscript: Use bytecode for modulo expression implementation.
2011-11-29 13:26:22 +01:00
Jacek Caban
09306e434e
jscript: Use bytecode for '/' expression implementation.
2011-11-29 13:26:18 +01:00
Jacek Caban
cf68237c80
jscript: Use bytecode for '*' expression implementation.
2011-11-29 13:26:15 +01:00
Jacek Caban
bd80daff96
jscript: Added bytecode-based version of identifier expression.
2011-11-28 16:40:50 +01:00
Jacek Caban
518f4c4983
jscript: Use bytecode for new expression implementation.
2011-11-28 16:40:49 +01:00
Jacek Caban
25e58de596
jscript: Use bytecode for conditional expressions.
2011-11-28 16:40:49 +01:00
Jacek Caban
88dc54a7f7
jscript: Use bytecode for logical and expression.
2011-11-28 16:40:49 +01:00
Jacek Caban
28375af386
jscript: Use bytecode for logical or expression.
2011-11-28 16:40:49 +01:00
Jacek Caban
58952a07d0
jscript: Use bytecode for '==' and '!=' expression.
2011-11-25 16:21:58 +01:00
Jacek Caban
413fe9a462
jscript: Use bytecode for unary '-' expression.
2011-11-25 16:21:58 +01:00
Jacek Caban
b13c6a27c3
jscript: Use bytecode for '-' expression implementation.
2011-11-25 16:21:58 +01:00
Jacek Caban
47314a92d7
jscript: Use bytecode for comma expression implementation.
2011-11-25 16:21:58 +01:00
Jacek Caban
172fa4fa99
jscript: Fixed memory leaks.
...
Spotted by Piotr.
2011-11-25 16:21:57 +01:00
Jacek Caban
0b50c32c83
jscript: Use bytecode for void expression.
2011-11-24 20:57:01 +01:00
Jacek Caban
83667e74d6
jscript: Use bytecode for this expression implementation.
2011-11-24 20:57:01 +01:00
Jacek Caban
9050c3725f
jscript: Always use bytecode version of literal expressions.
2011-11-24 20:57:01 +01:00
Jacek Caban
e4f92ef473
jscript: Use bytecode for regexp literals.
2011-11-24 20:57:01 +01:00
Jacek Caban
83c53d855a
jscript: Use bytecode for null literal.
2011-11-24 20:57:01 +01:00
Jacek Caban
a218e06854
jscript: Use bytecode for double literal.
2011-11-23 12:29:22 +01:00
Jacek Caban
e5e7803a55
jscript: Use bytecode for string literal.
2011-11-23 12:29:17 +01:00
Jacek Caban
13d96df4bd
jscript: Use bytecode for bool literal implementation.
2011-11-23 12:29:14 +01:00
Jacek Caban
b3feafab41
jscript: Use bytecode for int literal implementation.
2011-11-23 12:29:10 +01:00
Jacek Caban
1c824ea606
jscript: Use bytecode for 'in' expression implementation.
2011-11-23 12:29:05 +01:00
Jacek Caban
b1b0aadaab
jscript: Use bytecode for '+' expression implementation.
2011-11-22 17:17:13 +01:00
Jacek Caban
dcca57fd87
jscript: Added tests of unary '+' on not existent property.
2011-11-22 17:17:05 +01:00
Jacek Caban
35b9c42f53
jscript: Use bytecode for unary '+' expression.
2011-11-21 16:16:44 +01:00
Jacek Caban
2d83bdcfbe
jscript: Use bytecode for binary negation implementation.
2011-11-21 16:16:42 +01:00
Jacek Caban
418af7eda9
jscript: Use bytecode interpreter for logical negation expression.
2011-11-18 15:37:08 +01:00
Jacek Caban
32602170a5
jscript: Use bytecode interpreter for '!==' expressions.
2011-11-18 15:37:08 +01:00
Jacek Caban
b473f5d5c6
jscript: Added minimal bytecode compiler/interpreter and use it for '===' expressions.
2011-11-18 15:37:08 +01:00
Jacek Caban
8b66110e51
jscript: Store expression type in expression_t.
2011-11-18 15:37:07 +01:00
Jacek Caban
fe9cb0c266
jscript: Use a helper function to allocate expression structs.
2011-11-18 15:37:07 +01:00
Nikolay Sivov
b4987d095f
jscript: Use specified expression length to trace it.
2011-11-02 20:01:27 +01:00
Hans Leidekker
ed4143b912
jscript: Add a version resource.
2011-11-01 12:14:15 +01:00
Jacek Caban
6ffe4cb59f
jscript: Moved return_type_t declaration to engine.c.
2011-10-25 16:57:26 +02:00
Andrew Talbot
e67aaab27a
jscript: Add breaks to some switch statements.
2011-10-10 13:30:18 +02:00
Andrew Talbot
30cab39056
jscript: Mark a fall-through in a switch statement.
2011-10-10 13:30:05 +02:00
Jacek Caban
c46c47cbf3
jscript: Removed useless undef ACTSCPSITE_THIS.
2011-09-19 18:32:51 +02:00
Francois Gouget
405c3ef483
jscript/tests: Some tests require that the user interface be in English.
2011-09-19 17:56:04 +02:00
Piotr Caban
726f003293
jscript/tests: Added decodeURI tests.
2011-09-02 18:28:24 +02:00
Piotr Caban
e4ec169fd9
jscript: Added decodeURI implementation.
2011-09-02 18:28:14 +02:00
Piotr Caban
df96b7297b
jscript: Throw exception on error in JSGlobal_encodeURIComponent.
2011-09-02 18:10:14 +02:00
Piotr Caban
65a7f47531
jscript: Limit name hash computations number.
2011-09-02 18:10:12 +02:00
Piotr Caban
f1a237d682
jscript: Use hash table when accessing object properties by name.
2011-09-02 18:10:09 +02:00
Piotr Caban
71b58e56c2
jscript: Added Object.hasOwnProperty implementation.
2011-09-02 18:10:07 +02:00
Jacek Caban
ff0cea33d0
jscript: Added more SetInterfaceSafetyOptions tests and fixes.
2011-09-01 18:16:28 +02:00
Francois Gouget
c992ca277d
Assorted spelling fixes.
2011-08-24 19:07:46 +02:00
Frédéric Delanoy
69afb0985d
jscript: Don't copy more than needed in parse_string_literal.
2011-08-23 16:53:55 +02:00
Jacek Caban
39f4583ef9
jscript: Don't copy more than needed in parse_identifier.
2011-08-22 15:19:18 +02:00
Frédéric Delanoy
760faf01a9
tests: Assorted spelling fixes.
2011-08-04 18:27:37 +02:00
Frédéric Delanoy
b5a33dab88
dlls: Assorted spelling fixes.
2011-08-02 20:47:51 +02:00
Alexandre Julliard
b56dc9a6f7
winecrt0: Remove the clsid parameter in __wine_(un)register_resources.
2011-08-02 20:47:49 +02:00
Alexandre Julliard
729afa6adc
makefiles: Generate resource files for typelibs.
2011-08-02 10:11:10 +02:00
Jacek Caban
5b16e6e0fd
jscript: Properly handle aggregation attempt.
2011-07-18 18:30:43 +02:00
Detlef Riekenberg
4d1a28b299
jscript/tests: Fix copy & paste typos.
2011-06-27 16:41:52 -05:00
Detlef Riekenberg
738120efa2
jscript: Support also VT_UI4 in debugstr_variant.
2011-06-27 16:41:46 -05:00
Jacek Caban
a7cc9441e9
jscript: Correctly throw an exception if instanceof expression is not used on function.
2011-06-21 18:14:49 +02:00
Jacek Caban
42c2bd7bd9
jscript: Correctly handle forin statement on pure IDispatch object.
2011-06-21 18:14:47 +02:00
Marcus Meissner
c2f2f1911c
jscript: Mark internal symbols as having hidden visibility.
2011-04-26 15:31:27 +02:00
Marcus Meissner
7e7b44882c
jscript: Mark up fallthrough switch cases (Coverity).
2011-03-18 16:05:09 +01:00
Jacek Caban
04e9b16c5b
jscript: Fixed corner cases in parseInt implementation.
2011-02-28 13:21:38 +01:00
Jacek Caban
01a6286b5f
jscript: Added more uninitialization tests.
2011-02-22 12:28:09 +01:00
Jacek Caban
244a6951ac
jscript: Added SetScriptState(SCRIPTSTATE_UNINITIALIZED) implementation.
2011-02-22 12:28:07 +01:00
Peter Urbanec
36391faf45
jscript: Implement character escaping as described by ECMA-262 B.2.1.
2011-02-18 17:04:15 +01:00
Austin English
4dc81b6518
jscript/tests: Remove a dead assignment (LLVM/Clang).
2011-02-17 18:33:43 +01:00
Jacek Caban
020245bba1
jscript: Fixed some clang warnings.
2011-01-27 16:32:22 +01:00
Michael Stefaniuc
568b0d5c08
jscript: COM cleanup for the IServiceProvider iface.
2011-01-17 13:22:14 +01:00
Michael Stefaniuc
3b1d9d43de
jscript: Use ifaces instead of vtbl pointers in JScript.
2011-01-17 13:22:12 +01:00
Michael Stefaniuc
3cb9886ea7
jscript: COM cleanup for the IDispatchEx iface.
2011-01-17 13:22:10 +01:00
Alexandre Julliard
0ccf1d89f8
jscript: Convert translations to po files.
2011-01-06 15:03:31 +01:00
Marcus Meissner
45e2bd7c2e
jscript: Fixed VT variable type for DISPID_GLOBAL_ISWIN64.
2011-01-03 11:54:06 +01:00
Frédéric Delanoy
d0191cb132
jscript: Update French translation.
2010-12-31 11:44:48 +01:00
Sven Baars
1019f2f14f
jscript: Update the Dutch translation.
2010-12-30 16:35:44 +01:00
Jacek Caban
45aee4fd6c
jscript: Fixed some math API assumption that cause test failures on Solaris.
2010-12-30 15:02:53 +01:00
Hwang YunSong
58260b2f7f
jscript: Update Korean resource.
2010-12-30 15:01:53 +01:00
Luca Bennati
e6983d20fb
jscript: Update Italian translation.
2010-12-30 12:21:53 +01:00
Łukasz Wojniłowicz
d8186eb4bc
jscript: Update Polish translation.
2010-12-30 12:21:53 +01:00
Anders Jonsson
8ba970d5aa
jscript: Update Swedish translation.
2010-12-30 12:21:52 +01:00
Jacek Caban
4582a8fe42
jscript: Moved remaining registration to IRegistrar mechanism.
2010-12-29 17:43:18 +01:00
Jacek Caban
3d1595dc81
jscript: Return 'unknown' in typeof operator for native object's values that can't be retrieved.
2010-12-29 17:43:13 +01:00
Jacek Caban
48202ee09e
jscript: Don't unescape '\v'.
2010-12-29 17:01:46 +01:00
André Hentschel
06560dd092
jscript: Update German translation.
2010-12-29 10:47:38 +01:00
Aurimas Fišeras
6ac2a7eb04
jscript: Update Lithuanian translation.
2010-12-29 10:47:33 +01:00
Jacek Caban
10b1a7edf6
jscript: Added conditional compilation tests.
2010-12-28 16:35:43 +01:00
Jacek Caban
45e33ec280
jscript: Beginning support for conditional compilation.
2010-12-28 16:35:43 +01:00
Jacek Caban
74416052ce
jscript: Moved allocating double literal to separated function.
2010-12-28 16:35:43 +01:00
Jacek Caban
501cad6920
jscript: Moved new_boolean_literal to lex.c.
2010-12-28 16:35:42 +01:00
Jacek Caban
0f36ef09b1
jscript: Ensure that the whole script is parsed.
2010-12-28 16:35:42 +01:00
Jacek Caban
5e469f4fff
jscript: Use HRESULTs instead of IDSs in parser.
2010-12-28 16:35:42 +01:00
Jacek Caban
7774a0a4c1
jscript: Pass HRESULTs instead of IDSs to throw_* functions.
2010-12-28 16:35:41 +01:00
Jacek Caban
aab8a1ba3a
jscript: Better syntax error tests.
2010-12-28 16:35:41 +01:00
Jacek Caban
f8afae75b5
jscript: Added ScriptEngine*Version functions implementation.
2010-12-27 15:39:40 +01:00
Jacek Caban
36fe9472c2
jscript: Added ScriptEngine() implementation.
2010-12-27 15:39:39 +01:00
Jacek Caban
8bcc61fb66
jscript: Exception tests clean up.
2010-12-21 00:21:17 +01:00
Jacek Caban
f2319fcd85
jscript: Added Date.setYear implementation.
2010-12-20 12:47:43 +01:00