Gabriel Ivăncescu
f9613711aa
vbscript: Change release_dynamic_vars to release a single variable.
...
We need to free them while iterating an array as well as a linked list.
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-11-11 22:58:00 +01:00
Jacek Caban
664d8d1e13
vbscript: Fix destroying safearrays in release_exec.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 14:09:58 +01:00
Gabriel Ivăncescu
4699d36656
vbscript: Store global variables in an array.
...
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-11-06 22:00:08 +01:00
Jacek Caban
3dea7bd7fc
vbscript: Store global static arrays together with global variables.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 22:00:05 +01:00
Jacek Caban
ae1291cbe0
vbscript: Clean up lookup_identifier.
...
Be more explicit about what applies only to non-global code.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:17:47 +01:00
Jacek Caban
708c1e865d
vbscript: Store only VBScript this objects in execution context.
...
If it's an implicit this, we can handle that in interp_me.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:17:42 +01:00
Jacek Caban
3c366be353
vbscript: Lookup this object in lookup_identifier only if it's an actual VBScript object.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:17:39 +01:00
Jacek Caban
ea7a3953fc
vbscript: Store global functions in an array.
...
Based on patch by Gabriel Ivăncescu.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 22:43:01 +01:00
Jacek Caban
8f1e633874
vbscript: Support assigning to object default value.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 22:43:01 +01:00
Jacek Caban
ef737598e6
vbscript: Support using function return value in expressions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 20:30:14 +01:00
Jacek Caban
5cb1631fe2
vbscript: Add interpreter support for redim statement.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 20:30:09 +01:00
Jacek Caban
aad0340c8f
vbscript: Add support for parameterized set statements.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 20:29:54 +01:00
Jacek Caban
18117ccbab
vbscript: Support VT_EMPTY in stack_pop_bool.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 19:25:31 +01:00
Jacek Caban
e8b2f85bb1
vbscript: Add support for interpreting statements.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-29 23:30:47 +01:00
Jacek Caban
2d419b7d7b
vbscript: Always pass arguments inside parentheses by value.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 20:12:38 +01:00
Jacek Caban
1ff55510d8
vbscript: Support calling VARIANT in interpreter.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 19:19:34 +01:00
Jacek Caban
ecaa72855a
vbscript: Factor out variant_call.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 19:19:34 +01:00
Jacek Caban
25248362ea
vbscript: Support non-member calls in compiler.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 19:19:34 +01:00
Jacek Caban
9e3c806e53
vbscript: Fix array reference handling in do_icall.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-23 18:53:33 +02:00
Jacek Caban
410154e280
vbscript: Improve exec_script debug traces.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-23 18:53:31 +02:00
Jacek Caban
79f39c2a8c
vbscript: Fix NULL IDispatch handling in get_disp_value.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-18 18:05:32 +02:00
Jacek Caban
087adea7dc
vbscript: Use global object property to expose Err object.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-18 18:05:32 +02:00
Jacek Caban
d061ba0e35
vbscript: Use separated IDispatch implementation for objects exposing builtin functions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 22:48:26 +02:00
Jacek Caban
4c3e2f2b4f
vbscript: Introduce get_builtin_id.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 22:48:19 +02:00
Jacek Caban
681cee4ed6
vbscript: Call OnScriptError for runtime errors.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 22:11:20 +02:00
Jacek Caban
e050ff5eb8
vbscript: Move OnEnterScript/OnLeaveScript calls to exec_script.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 22:11:20 +02:00
Jacek Caban
707f7eb2a1
vbscript: Add err.source implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 22:58:07 +02:00
Jacek Caban
0d9f024d6a
vbscript: Add err.description implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 22:58:07 +02:00
Jacek Caban
8277c24806
vbscript: Store entire EXCEPINFO in script context.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 22:58:07 +02:00
Gabriel Ivăncescu
8037b13078
vbscript: Add support for the SCRIPTTEXT_ISEXPRESSION flag in ParseScriptText.
...
To simplify the amount of special cases both in ParseScriptText and
ParseProcedureText, add a new pseudo statement and opcode to return the
expression and value at the top of the stack, respectively. Script texts
that have this flag will be parsed specially as a single expression with
such a statement at the end.
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-09-17 18:49:47 +02:00
Jacek Caban
9b18772c0b
vbscript: Rename OP_long expression to OP_int.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-22 21:56:15 +02:00
Jacek Caban
d01d629420
vbscript: Handle long/short distinction in interpreter.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-22 21:56:12 +02:00
Alexandre Julliard
3911e6696a
vbscript: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 08:46:31 +02:00
Jacek Caban
7e10941083
vbscript: Added support for script context in ParseScriptText.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-19 12:35:11 +01:00
Jacek Caban
aa5b68ac40
vbscript: Split named item lookup into a helper function.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-19 12:35:11 +01:00
Piotr Caban
f595523413
vbscript: Don't leak IEnumVARIANT in interp_enumnext.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 20:22:09 +01:00
Piotr Caban
a85d12af44
vbscript: Add support for "for each" on arrays.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 20:21:52 +01:00
Piotr Caban
0b5473c166
vbscript: Reimplement array_access function.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-11 14:23:25 +02:00
Jacek Caban
c46dbfb131
vbscript: Call GetItemInfo() with original item name.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-07 16:59:55 +01:00
Jacek Caban
0de7b95c37
vbscript: Added a helper for getting default IDispatch value.
2015-03-06 00:02:08 +09:00
Jacek Caban
bd42594da9
vbscript: Leave converting object to trivial values up to calee.
2015-03-03 23:16:52 +09:00
Jacek Caban
62bc8aeb0f
vbscript: Leave assigning value up to add_dynamic_var callers.
2015-03-03 23:16:51 +09:00
Jacek Caban
571b09ce42
vbscript: Pass DISPATCH_PROPERTYPUTREF flag to InvokeEx when apropriate.
2015-03-03 23:16:48 +09:00
Jacek Caban
3873c93891
vbscript: Allow omitting optional function parameters in call expressions.
2015-01-28 21:30:10 +01:00
Jacek Caban
e73bd253ea
wscript: Added support for calling object by DISPID_VALUE in do_icall.
2014-07-21 18:44:22 +02:00
Jacek Caban
be583662d4
vbscript: Reset error number on error mode change.
2014-06-16 09:28:16 +02:00
Jacek Caban
ccf1567555
vbscript: Map some known error codes to vbscript errors.
...
Special thanks to Eric Lippert for the list of such errors.
2014-03-27 14:53:04 +01:00
Jacek Caban
f6d6238e93
vbscript: Store required stack offset before doing jump.
2014-03-25 19:01:34 +01:00
Jacek Caban
fc0ef22a44
vbscript: Added support for exception unwinding.
2014-03-21 16:51:23 +01:00
Jacek Caban
f123556f07
vbscript: Allow creating RegExp object by new expression.
2014-03-18 16:10:38 +01:00