Alexandre Julliard
003a5f7c98
vbscript: Use %define api.pure instead of %pure-parser.
...
The latter is deprecated and causes warnings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Gabriel Ivăncescu
d729df0bb8
vbscript: Trace the pstrItemName parameter.
...
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-22 13:31:08 +01:00
Gabriel Ivăncescu
0a121bdddd
vbscript: Add script TypeInfo stub.
...
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-22 13:30:52 +01:00
Jacek Caban
107bba1563
vbscript: Always treat keywords after dot as identifiers.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 21:39:40 +01:00
Gabriel Ivăncescu
e109351261
vbscript/tests: Add tests for pending and executed code persistence.
...
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
Gabriel Ivăncescu
2d45f49fe8
vbscript/tests: Use integers instead of booleans for counting call expectations.
...
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
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
Gabriel Ivăncescu
b7eb693e7f
vbscript: Append to the global lists when the code is executed, rather than compiled.
...
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
Gabriel Ivăncescu
9933c776c7
vbscript: Store the compiled functions list head into vbscode_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-11-11 22:58:00 +01:00
Gabriel Ivăncescu
8b30b86765
vbscript: Store the compiled classes list head into vbscode_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-11-11 22:58:00 +01:00
Jacek Caban
a35adb1950
vbscript: Treat only ASCII digits as digits.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 23:38:09 +01:00
Michael Stefaniuc
8b7e38c542
vbscript: Remove redundant NULL checks before SysFreeString().
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 23:38:01 +01:00
Gabriel Ivăncescu
e2eb099a94
vbscript: Implement script persistence.
...
Persistent code has to be re-executed if the script is uninitialized and
then reinitialized and restarted.
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-08 18:27:30 +01:00
Gabriel Ivăncescu
71ce853032
vbscript: Avoid special casing the global function when compiling a function's variables.
...
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-08 18:27:27 +01:00
Jacek Caban
fcc01c3095
vbscript: Move detach_global_objects call to VBScript destructor.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 19:49:15 +01:00
Gabriel Ivăncescu
d481efee39
vbscript: Release the code list when the script is closed.
...
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-07 19:49:13 +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
f2058389ad
vbscript: Get rid of ident_map.
...
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:10 +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
509044296d
vbscript: Fix parsing call expressions.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=41119
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:17:27 +01:00
Jacek Caban
9e2700b2fc
vbscript: Support changing script state to SCRIPTSTATE_INITIALIZED.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:17:22 +01:00
Jacek Caban
706898dcbb
vbscript: Don't allow changing script state when script site is not set.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:17:18 +01:00
Jacek Caban
e343fcaf76
vbscript: Add Replace function implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:17:14 +01:00
Jacek Caban
2dceea6f35
vbscript: Allow arbitrary number of arguments in builtin functions.
...
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
52bbac0a36
vbscript: Replace existing function for duplicated functions.
...
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
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
39e79c76c9
vbscript/tests: Add redim statement tests.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 20:30:11 +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
7e420a475e
vbscript: Add parser 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:05 +01:00
Jacek Caban
37e2729607
vbscript: Allow 'with' as an identifier.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-01 20:30:02 +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
fa0c84ae0b
vbscript: Support DISP_E_EXCEPTION Invoke[Ex] return value.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 19:25:38 +01:00
Jacek Caban
9115c37b46
vbscript/tests: Introduce get_dispid helper.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 19:25:35 +01:00
Jacek Caban
ce6c9f6d33
vbscript: Silence BuiltinDisp::QueryInterface(IID_IDispatchEx) warning.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 19:25:33 +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
666f7501d0
vbscript/tests: Add with statement tests.
...
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
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
74ab018763
vbscript: Add support for parsing with statement.
...
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
55e9c896ca
vbscript: Use wide char literals for lexer keywords.
...
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
216f7146ef
vbscript: Ignore parentheses in call expression.
...
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
273a3a5869
vbscript/tests: Add more call tests.
...
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
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