Robert Wilhelm
53cd1a27ad
vbscript: Allow public and private declarations in global scope.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46588
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 20:16:05 +02:00
Robert Wilhelm
723f5f1cc0
vbscript: Global_Split free delimiter only if it was allocated.
...
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 20:16:01 +02:00
Robert Wilhelm
7d48c52816
vbscript: Fix handling zero and negative number arguments in err.raise.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49172
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 16:50:19 +02:00
Robert Wilhelm
fe59d1a5d3
vbscript: Fix vanishing statements.
...
When adding multiple statements (e.g. colon separated SimpleStatements)
in function source_add_statement(), tail of linked list was not adjusted.
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-23 15:59:49 +02:00
Francois Gouget
38c91043f6
vbscript: Fix the spelling of the delimiter* variables.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:24:19 +02:00
Akihiro Sagawa
35376075ac
vbscript: Support non-Latin 1 characters in Asc.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49309
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-16 22:07:39 +02:00
Robert Wilhelm
a31023a678
vbscript: Parse decimal literals between -1 and 1 without 0 in front.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49820
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-15 21:30:46 +02:00
Alexandre Julliard
ad22785cb3
vbscript: Add support for translating messages.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-12 11:27:38 +02:00
Robert Wilhelm
5adbabe90c
vbscript: Colon used in for loop.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35782
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:39 +02:00
Dmitry Kislyuk
3be18bb757
vbscript: Implement case-insensitive search in Replace function.
...
Signed-off-by: Dmitry Kislyuk <dimaki@rocketmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 21:25:38 +02:00
Robert Wilhelm
769dd6aed4
vbscript: Support arrays in TypeName.
...
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Robert Wilhelm
b72d8118da
vbscript: Implement IsArray.
...
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Robert Wilhelm
d50f5f67c7
vbscript: Implement Split.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47570
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Dmitry Kislyuk
b900567f04
vbscript: Implement case insensitive search in InStrRev function.
...
Signed-off-by: Dmitry Kislyuk <dimaki@rocketmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:25:17 +02:00
Dmitry Kislyuk
120b220979
vbscript: Return correct error for null start in InStr and more tests.
...
Signed-off-by: Dmitry Kislyuk <dimaki@rocketmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-06 19:34:24 +02:00
Dmitry Kislyuk
626a38b570
vbscript: Support conversion to string in InStr.
...
Signed-off-by: Dmitry Kislyuk <dimaki@rocketmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-04 22:07:52 +02:00
Dmitry Kislyuk
00b64430e8
vbscript: Implement case insensitive comparison.
...
Signed-off-by: Dmitry Kislyuk <dimaki@rocketmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-30 16:33:28 +02:00
Dmitry Kislyuk
18e7e07a77
vbscript: Parse empty CASE ELSE clause.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49439
Signed-off-by: Dmitry Kislyuk <dimaki@rocketmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 23:08:30 +02:00
Jacek Caban
af12270ac6
makefiles: Remove no longer needed explicit ucrtbase imports.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:52 +02:00
Gabriel Ivăncescu
b9ff472e70
vbscript: Clear SCRIPTITEM_CODEONLY flag on script re-initialization.
...
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-31 22:52:09 +02:00
Gabriel Ivăncescu
b2bd01dfbc
vbscript/tests: Add more persistent named items tests.
...
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-31 22:52:06 +02:00
Gabriel Ivăncescu
9ee723062a
vbscript: Look for the identifier in the named item's disp only if it doesn't have the CODEONLY flag.
...
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-31 22:52:04 +02:00
Gabriel Ivăncescu
0d397dcc61
vbscript: Lookup the identifier in the named item's disp after its script dispatch.
...
If the bytecode has a named item context, its disp is looked for the
identifier before any globals, but after its script dispatch.
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-27 21:16:13 +01:00
Gabriel Ivăncescu
4badb89c5f
vbscript/tests: Add tests for persistent named items.
...
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-20 12:09:33 +01:00
Gabriel Ivăncescu
4b92d1943a
vbscript: Implement persistent named items.
...
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-20 12:09:31 +01:00
Gabriel Ivăncescu
4287b1f301
vbscript: Retrieve the item's dispatch in a helper function.
...
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-20 12:09:28 +01:00
Gabriel Ivăncescu
408a912f93
vbscript: Retrieve the vbscode context from the named item directly.
...
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-20 12:09:23 +01:00
Gabriel Ivăncescu
3750c5b066
vbscript: Don't create script dispatches for items with the SCRIPTITEM_GLOBALMEMBERS flag.
...
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-02-28 19:38:37 +01:00
Jacek Caban
b4e89eec17
vbscript: Lookup host global object in interp_me instead of storing it in script context.
...
Inspired by patch by Gabriel Ivăncescu.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 19:38:33 +01:00
Michael Stefaniuc
b3fbc70291
vbscript/tests: Get rid of strcmp_wa().
...
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-02-28 16:39:01 +01:00
Gabriel Ivăncescu
0202284966
vbscript: Return the item's disp when it does not have the SCRIPTITEM_CODEONLY flag, rather than the script dispatch.
...
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-02-25 23:43:17 +01:00
Gabriel Ivăncescu
0809a2859f
vbscript: Return the dispatch object directly in retval, rather than its value.
...
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-02-18 20:29:02 +01:00
Gabriel Ivăncescu
553cb05b41
vbscript/tests: Add tests for named item script dispatches.
...
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-02-18 20:28:59 +01:00
Gabriel Ivăncescu
ba8429e717
vbscript: Implement separate script dispatch objects for each named item.
...
Each named item should have its own associated script dispatch
object. Identifiers are added to this object, but code does look into the
global script object as well.
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-02-18 20:28:56 +01:00
Gabriel Ivăncescu
1546aff959
vbscript: Move the named_item_t definition.
...
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-02-18 20:28:54 +01:00
Gabriel Ivăncescu
d604fdbdd1
vbscript: Implement the SCRIPTITEM_CODEONLY flag.
...
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-02-13 20:30:35 +01:00
Gabriel Ivăncescu
0b5ea35aae
vbscript: Use a helper function to lookup the global functions.
...
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-02-13 20:30:35 +01:00
Gabriel Ivăncescu
b6240570e2
vbscript: Fail if we have no context in InvokeEx.
...
The current code can't cope with it, so do the same thing as in GetDispID,
to prevent a possible crash.
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-02-13 20:30:35 +01:00
Jacek Caban
ddfae943e6
vbscript: Silence QueryInterface FIXME.
...
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
1c6649d443
vbscript: Add SetScriptState(SCRIPTSTATE_CLOSED) implementation.
...
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
8def4dfa0e
vbscript: Don't convert hex literals ending with '&' to short in parse_hex_literal.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 20:48:04 +01:00
Gabriel Ivăncescu
729c9eab58
vbscript: Lookup the named item in compile_script.
...
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-02-03 20:48:04 +01:00
Gabriel Ivăncescu
07f902b080
vbscript: Return the named item itself from lookup_named_item.
...
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-02-03 20:48:04 +01:00
Jacek Caban
d26998d6e5
vbscript: Allow any call expression to be used in set statement.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 22:34:09 +01:00
Jacek Caban
c994118401
vbscript: Allow assignment left expression to be member expression.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 22:34:07 +01:00
Jacek Caban
47f3abb633
vbscript: Fix VT_UNKNOWN handling in is expressions.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:45:10 +01:00
Jacek Caban
1c194f3b21
vbscript: Fix VT_UNKNOWN handling in set statements.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:45:05 +01:00
Jacek Caban
cd1918948f
vbscript: Overflow hex literals in 16-bit range.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:44:56 +01:00
Jacek Caban
e35564b36d
vbscript: Support reporting error location to script host.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 09:26:33 +01:00
Jacek Caban
eb73571fe9
vbscript: Pass parser error location to compiler.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 09:26:31 +01:00