Michael Stefaniuc
59b9747644
jscript: Use wide-char string literals.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-24 16:53:52 +01:00
Gabriel Ivăncescu
f6201b4b11
jscript: Lookup the named item and keep a ref to it from the associated bytecode.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 22:16:30 +01:00
Jacek Caban
150b7391b8
jscript: Add GetSourceLineText implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-04 21:30:27 +01:00
Jacek Caban
ed22d71fd2
jscript: Propagate compiler error location.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 20:48:04 +01:00
Jacek Caban
27e4881c68
jscript: Propagate parser error location.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 20:48:04 +01:00
Jacek Caban
ba500a6a9e
jscript: Store source context and starting line in bytecode_t.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 15:58:36 +01:00
Jacek Caban
78853e3853
jscript: Store source position in instr_t.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 21:23:56 +01:00
Jacek Caban
0fb086d573
jscript: Use parser location to calculate function body string.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 16:39:33 +01:00
Gabriel Ivăncescu
c70c10564a
jscript: Keep a pointer to the bytecode in function_code_t.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 21:51:28 +01:00
Jacek Caban
febfcdae40
jscript: Add support for parametrized compound assignments.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 17:53:36 +02:00
Alexandre Julliard
784b3f611a
jscript: Consistently use wcscmp() instead of lstrcmpW().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 14:49:04 +02:00
Alexandre Julliard
29ea8b42db
jscript: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 11:15:24 +02:00
Jacek Caban
922049a21d
jscript: Add support for string literals with embedded null bytes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:09:22 +01:00
Jacek Caban
1314140a37
jscript: Pass string as jsstr_t to push_instr_str.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:09:07 +01:00
Jacek Caban
edc9df207c
jscript: Return regexp string as jsstr_t from lexer.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:09:04 +01:00
Jacek Caban
e70825b014
jscript: Use jsstr_t as string argument type in OP_obj_prop.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:07:07 +01:00
Jacek Caban
0cc68cf82a
jscript: Add interpreter support for getters and setters in object initializer.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 10:50:28 +01:00
Jacek Caban
9193b9f52c
jscript: Rename prop_val_t to property_definition_t.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 10:50:17 +01:00
Alex Henrie
58da918e4d
jscript: Make several constants static.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-30 19:36:51 +01:00
Jacek Caban
5a90acf59c
jscript: Use global accumulator for storing function call results.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-12 14:08:07 +02:00
Jacek Caban
d72acebd6c
jscript: Properly handle elisions in array literals.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-02 10:54:27 +01:00
Jacek Caban
8f89e142ec
jscript: Fixed visit_function_expression error handling.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-09 19:54:14 +02:00
Francois Gouget
5c8c4d92f6
jscript: A spelling fix in a comment.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-06 13:08:46 +02:00
Jacek Caban
60232cc770
jscript: Always jump to finally block from OP_pop_exept when available.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Jacek Caban
685cd437c9
jscript: Pass finally offset instead of catch ident to OP_push_except.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Jacek Caban
8bd99c363a
jscript: Ensure that OP_pop_except is called with proper stack depth.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Jacek Caban
622eb728d7
jscript: Added new opcode to enter catch block and use it to setup the scope.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Jacek Caban
b7bb16673c
jscript: Simplify pop_to_stat implementation.
...
We no longer need to do stack pops before return expression evaluation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Jacek Caban
0f21353ac0
jscript: Use wine_rb_tree to store local variables in compiler_ctx_t.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-21 11:40:45 +09:00
Jacek Caban
983bbab531
jscript: Replaced OP_ident with static binding when possible.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:20 -05:00
Jacek Caban
04617ddf21
jscript: Replaced OP_identid with static binding when possible.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:18 -05:00
Jacek Caban
7694afff4b
jscript: Don't use OP_var_set.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:14 -05:00
Jacek Caban
713051d027
jscript: Store local functions in locals map.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:12 -05:00
Jacek Caban
2e06686ef9
jscript: Use locals map for local variables.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:10 -05:00
Jacek Caban
b652a9787c
jscript: Build local references map in compiler and use it to search the scope.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 11:13:50 -05:00
Jacek Caban
e1970c8547
jscript: Properly handle function expressions with identifiers.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-06 21:09:04 +09:00
Jacek Caban
4bef35fd48
jscript: Clear stack outside OP_call* handlers.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:51 +09:00
Jacek Caban
51f65ec974
jscript: Clear stack outside OP_new handler.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:49 +09:00
Jacek Caban
d08036120a
jscript: Don't assume that ret value is cleared when it's not set explicitly.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:47 +09:00
Jacek Caban
170bb3771f
jscript: Added beginning support for 'automagic' event binding feature.
2015-06-03 14:47:12 +09:00
Jacek Caban
615f6a6e8b
jscript: Move parser related declarations to separated header.
2014-09-30 17:40:10 +02:00
Marcus Meissner
874c66e086
jscript: Fix warning with older compilers.
2013-03-25 13:56:17 +01:00
Jacek Caban
3faeffc5f4
jscript: Use DEFAULT_UNREACHABLE macro where appropriate.
2013-03-13 16:27:49 +01:00
Alexandre Julliard
a27ecc40ba
jscript: Return after assert(0) to silence warnings.
2013-03-08 19:35:20 +01:00
Jacek Caban
324d8b6fa3
jscript: Use jsstr_flush in literal_as_bstr.
2013-03-07 14:56:17 +01:00
Jacek Caban
ee880b28c5
jscript: Fixed BSTR leak.
2013-02-19 19:50:53 +01:00
Piotr Caban
02d63cb312
jscript: Rename jsheap_t to heap_pool_t.
2013-02-15 14:42:58 +01:00
Jacek Caban
0f0f76ce6b
jscript: Allow poping multiple stack values at the time.
2012-12-14 11:54:47 +01:00
Jacek Caban
10c2a2bba4
jscript: Properly handle return value evaluation in comma expression.
2012-12-14 11:54:44 +01:00
Jacek Caban
1000a6bf34
jscript: Ensure correct stack state for non-returning expression evaluation in compile_expression.
2012-12-13 12:24:15 +01:00