Commit Graph

91 Commits

Author SHA1 Message Date
Robert Wilhelm a839ac952a vbscript: Support properties with parameters.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33996
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-11-18 20:28:19 +01:00
Robert Wilhelm 16fe2037fb vbscript: Support class default sub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35744
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-10-13 20:41:23 +02:00
Robert Wilhelm 54740a5cb8 vbscript: Add is_default flag to function_decl_t.
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-10-13 20:41:21 +02: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
Gabriel Ivăncescu 4bca2a33c7 vbscript: Implement ScriptTypeInfo_GetMops.
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
Gabriel Ivăncescu 16ccc06d22 vbscript: Implement ScriptTypeInfo_CreateInstance.
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
Gabriel Ivăncescu 313d6de3fb vbscript: Implement ScriptTypeInfo_AddressOfMember.
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
Gabriel Ivăncescu 5376e792c5 vbscript: Implement ScriptTypeInfo_GetDllEntry.
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
Gabriel Ivăncescu 0fee1c759b vbscript: Implement ScriptTypeInfo_GetDocumentation.
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
Gabriel Ivăncescu 5e912f2869 vbscript: Implement ScriptTypeInfo_Invoke.
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
Gabriel Ivăncescu 09b9da5bba vbscript: Implement ScriptTypeInfo_GetImplTypeFlags.
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
Gabriel Ivăncescu 3dc54aa79d vbscript: Implement ScriptTypeInfo_GetRefTypeInfo.
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
Gabriel Ivăncescu 8ce9855256 vbscript: Implement ScriptTypeInfo_GetRefTypeOfImplType.
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
Gabriel Ivăncescu c4819437da vbscript: Implement ScriptTypeInfo_GetNames.
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
Gabriel Ivăncescu 422c66a671 vbscript: Implement ScriptTypeComp_BindType.
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-09 23:47:46 +01:00
Gabriel Ivăncescu 8707572669 vbscript: Implement ScriptTypeComp_Bind.
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-09 23:47:46 +01:00
Gabriel Ivăncescu c47dfe45c7 vbscript: Don't free procs allocated in the heap pool.
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-09 23:47:46 +01:00
Gabriel Ivăncescu c2e141f77c vbscript: Implement ScriptTypeInfo_GetTypeComp.
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-06 22:30:23 +01:00
Gabriel Ivăncescu cde38841d3 vbscript: Implement ScriptTypeInfo_GetIDsOfNames.
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-06 22:30:23 +01:00
Gabriel Ivăncescu efab3751f6 vbscript: Implement ScriptTypeInfo_GetVarDesc.
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-06 22:30:23 +01:00
Gabriel Ivăncescu 2d753e2aa2 vbscript: Implement ScriptTypeInfo_GetFuncDesc.
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-06 22:30:23 +01:00
Gabriel Ivăncescu ddceb911f1 vbscript: Implement ScriptTypeInfo_GetTypeAttr.
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-06 22:30:23 +01:00
Gabriel Ivăncescu 3d148b8d6f vbscript: Store the necessary function and variable info in the script TypeInfo.
The TypeInfo is built when it is retrieved and frozen at that moment, even
if the script changes after that and more identifiers are added to it,
or existing ones replaced.

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-06 22:30:23 +01:00
Gabriel Ivăncescu cdc5ac52fc vbscript: Move the global lists to the script dispatch object.
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-06 22:30:23 +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
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 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 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 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 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 581a8adf1f vbscript: Create class description for procedure object in compiler.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 22:48:02 +02:00
Jacek Caban be253c1dc9 vbscript: Don't use IDispatchEx for internal calls.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 22:47:56 +02:00
Jacek Caban 6d55197ee0 vbscript: Factor out invoke_vbdisp.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 22:47:50 +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
Gabriel Ivăncescu ce9ef827f8 vbscript: Add support for the SCRIPTPROC_ISEXPRESSION flag in ParseProcedureText.
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:55 +02:00
Jacek Caban 6cc7b0e8d5 vbscript: Return correct error when builtin call argument count is invalid.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 20:40:04 +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
Michael Stefaniuc b4a24c6575 vbscript: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-20 18:36:55 +02:00
Jacek Caban 0de7b95c37 vbscript: Added a helper for getting default IDispatch value. 2015-03-06 00:02:08 +09:00
Jacek Caban 86283b31db vbscript: Fail to set non-object values with DISPATCH_PROPERTYPUTREF flag. 2015-03-03 23:16:50 +09:00
Jacek Caban 4bca1665c4 vbscript: Convert VT_DISPATCH propput value to trivial value if DISPATCH_PROPERTYPUTREF is not set. 2015-03-03 23:16:49 +09:00
Jacek Caban 571b09ce42 vbscript: Pass DISPATCH_PROPERTYPUTREF flag to InvokeEx when apropriate. 2015-03-03 23:16:48 +09:00
Jacek Caban 128f79ee77 vbscript: Added support for DISPATCH_PROPERTYPUTREF flag. 2015-03-03 23:16:47 +09:00
Jacek Caban b4d30e92c9 vbscript: Added InvokeEx(DISPATCH_PROPERTYGET) implementation. 2014-04-30 15:15:31 +02:00
Jacek Caban d297cecc07 vbscript: Forward Invoke call to InvokeEx. 2014-04-29 16:07:43 +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 6f45902252 vbscript: Use VariantCopyInd in invoke_variant_prop. 2014-03-10 10:41:46 +01:00
Jacek Caban 70628f80c0 vbscript: Directly access 'this' object properties in interpreter. 2014-03-07 14:34:47 +01:00
Jacek Caban 82cace0f0e vbscipt: Added beginning support for arrays as class members. 2014-03-07 14:34:40 +01:00