Commit Graph

310 Commits

Author SHA1 Message Date
Jacek Caban 13d96df4bd jscript: Use bytecode for bool literal implementation. 2011-11-23 12:29:14 +01:00
Jacek Caban b3feafab41 jscript: Use bytecode for int literal implementation. 2011-11-23 12:29:10 +01:00
Jacek Caban 1c824ea606 jscript: Use bytecode for 'in' expression implementation. 2011-11-23 12:29:05 +01:00
Jacek Caban b1b0aadaab jscript: Use bytecode for '+' expression implementation. 2011-11-22 17:17:13 +01:00
Jacek Caban 35b9c42f53 jscript: Use bytecode for unary '+' expression. 2011-11-21 16:16:44 +01:00
Jacek Caban 2d83bdcfbe jscript: Use bytecode for binary negation implementation. 2011-11-21 16:16:42 +01:00
Jacek Caban 418af7eda9 jscript: Use bytecode interpreter for logical negation expression. 2011-11-18 15:37:08 +01:00
Jacek Caban 32602170a5 jscript: Use bytecode interpreter for '!==' expressions. 2011-11-18 15:37:08 +01:00
Jacek Caban b473f5d5c6 jscript: Added minimal bytecode compiler/interpreter and use it for '===' expressions. 2011-11-18 15:37:08 +01:00
Jacek Caban 6ffe4cb59f jscript: Moved return_type_t declaration to engine.c. 2011-10-25 16:57:26 +02:00
Jacek Caban a7cc9441e9 jscript: Correctly throw an exception if instanceof expression is not used on function. 2011-06-21 18:14:49 +02:00
Jacek Caban 42c2bd7bd9 jscript: Correctly handle forin statement on pure IDispatch object. 2011-06-21 18:14:47 +02:00
Jacek Caban 020245bba1 jscript: Fixed some clang warnings. 2011-01-27 16:32:22 +01:00
Jacek Caban 3d1595dc81 jscript: Return 'unknown' in typeof operator for native object's values that can't be retrieved. 2010-12-29 17:43:13 +01:00
Jacek Caban 7774a0a4c1 jscript: Pass HRESULTs instead of IDSs to throw_* functions. 2010-12-28 16:35:41 +01:00
Jacek Caban faf9be0267 jscript: Pass script_ctx_t instead of exec_ctx_t to eval functions. 2010-10-25 12:41:40 +02:00
Jacek Caban 35968b9755 jscript: Don't lookup global variables on function invocation. 2010-10-14 17:54:52 +02:00
Reece Dunn e368fd545c jscript: Throw TypeError if T in 'new T' is not an object. 2010-10-05 14:07:48 +02:00
Jacek Caban f46f926134 jscript: Addd jsdisp_addref helper function. 2010-09-07 16:01:57 +02:00
Jacek Caban ac8d2f1fae jscript: jsdisp_t to IDispatch casts clean up. 2010-09-07 16:01:52 +02:00
Jacek Caban 2ae0f44033 jscript: Added a helper function for setting VARIANT value to jsdisp_t. 2010-09-07 16:01:46 +02:00
Jacek Caban 8c2a548b54 jscript: Rename DispatchEx to jsdisp_t to match jscript naming convention. 2010-09-06 17:09:57 +02:00
Jacek Caban d6648e4f6a jscript: Throw TypeError in in_eval. 2010-08-16 15:54:23 +02:00
Jacek Caban be3dc38183 jscript: Throw TypeError in instanceof_expression_eval. 2010-08-16 15:54:23 +02:00
Rob Shearman 9dc584d0a2 jscript: Fix various memory and reference count leaks. 2009-12-31 14:27:06 +01:00
Rob Shearman 7db81aeb67 jscript: Make sure retv pointer is initialised in exec_source even if no value needs to be returned. 2009-12-31 12:12:16 +01:00
Jacek Caban a0467ef11c jscript: Make undefined a property of global object. 2009-12-21 15:01:25 +01:00
Jacek Caban 8d44d63849 jscript: Don't pass EXPR_NEWREF flag to evaluate member expression in array_expression_eval. 2009-12-07 14:18:28 +01:00
Jacek Caban 56b04194fc jscript: Don't return function value it's unless explicitly returned. 2009-11-05 11:57:30 +01:00
Jacek Caban a1ac9d661f jscript: Pass invoke version to IDispatchEx functions. 2009-10-20 13:48:00 +02:00
Jacek Caban e52115d673 jscript: Create regexp object when evaluating regexp literal. 2009-10-14 15:10:32 +02:00
Jacek Caban fa3e6917b4 jscript: Don't use VARTYPE as is in literal_t. 2009-10-14 15:10:17 +02:00
Jacek Caban d833314c70 jscript: Use host global object as default 'this' if available and global object otherwise. 2009-09-28 12:38:00 +02:00
Jacek Caban 5dcd182e8f jscript: Avoid using dispex->ctx. 2009-09-23 16:25:13 +02:00
Jacek Caban fadfab5ff6 jscript: Use script LCID in *disp_propput* functions. 2009-09-23 16:19:11 +02:00
Jacek Caban 8b338786aa jscript: Use script LCID in *disp_propget* functions. 2009-09-23 16:19:01 +02:00
Jacek Caban 1f565ac095 jscript: Use script global LCID in *disp_call* functions. 2009-09-23 16:18:54 +02:00
Jacek Caban 6888ea3913 jscript: Fixed NULL IDispatch comparistion. 2009-09-17 10:08:19 -05:00
Jacek Caban 3e1430e0e4 jscript: Fixed null dispatch comparison. 2009-09-15 14:31:52 -05:00
Francois Gouget 78210e17fa jscript: Add a trailing '\n' to a FIXME(). 2009-09-11 12:10:13 +02:00
Jacek Caban 1e7b90463e jscript: Added 'in' expression implementation. 2009-09-08 13:06:32 +02:00
Jacek Caban dda957d87c jscript: Fixed typeof implementation for null VT_DISPATCH. 2009-09-08 13:06:24 +02:00
Piotr Caban 2e97b1f07f jscript: Throw 'Object expected' error in call_expression_eval. 2009-09-02 14:40:34 +02:00
Jacek Caban c444a4907e jscript: Code clean up. 2009-09-01 15:59:10 +02:00
Jacek Caban 2a457fb701 jscript: Added 'instanceof' keyword implementation. 2009-08-29 16:48:53 +02:00
Jacek Caban b71aaadbd2 jscript: Get script_ctx_t as to_object arguments. 2009-08-29 16:48:53 +02:00
Jacek Caban 4b8adbef86 jscript: Create undeclared values to script_disp instead of var_disp. 2009-08-27 11:48:13 +02:00
Jacek Caban 9c18f6ef5d jscript: Return "undefined" type for invalid references. 2009-08-27 11:48:10 +02:00
Jacek Caban a4acd1b38f jscript: Throw an exception when evaluating invalid identifier instead of on lookup failure. 2009-08-27 11:48:05 +02:00
Piotr Caban 561437ad98 jscript: Fixed var handling. 2009-08-10 15:02:22 +02:00
Piotr Caban 6afd53547e jscript: Lookup global members after script_disp. 2009-08-10 15:02:18 +02:00
Piotr Caban 9d23f8a771 jscript: Make compare2_values working with NULL BSTR's. 2009-08-06 12:02:09 +02:00
Piotr Caban c6412d98d9 jscript: Add "illegal assignment" error. 2009-07-24 11:51:11 +02:00
Piotr Caban d8e841ca50 jscript: Throw 'undefined object' error. 2009-07-22 14:42:50 +02:00
Piotr Caban f89fbb9b48 jscript: Throw TypeError in call_expression_eval. 2009-07-21 11:04:04 +02:00
Piotr Caban ea5c94f84d jscript: Fix create_exec_ctx implementation. 2009-07-16 11:38:48 +02:00
Piotr Caban b6b520e0ed jscript: Added call_expression_eval implementation for EXPRVAL_VARIANT values. 2009-07-14 10:46:32 +02:00
Piotr Caban b9be3bd766 jscript: Changed to_primitive implementation. 2009-07-09 17:47:40 +02:00
Michael Stefaniuc 981f733e41 jscript: Remove superfluous pointer casts. 2009-02-02 15:21:44 +01:00
Jacek Caban 775a6b21e9 jscript: Correctly handle SCRIPTITEM_GLOBALMEMBERS flag in identifier_eval. 2008-12-17 15:30:28 +01:00
Jacek Caban 4eb80d8d51 jscript: Delay setting named info if SCRIPTITEM_GLOBALMEMBER flag is not set. 2008-12-16 12:52:22 +01:00
Andrew Nguyen a6bdc47152 jscript: Fix some errors detected by Valgrind. 2008-12-10 11:32:31 +01:00
Alexandre Julliard f347b957f7 jscript: Make some functions and variables static. 2008-12-02 15:26:49 +01:00
Jacek Caban 1b51a43a7c jscript: Added SCRIPTITEM_ISVISIBLE flag implementation. 2008-11-05 10:55:29 +01:00
Alexandre Julliard 2aa1e71e77 jscript: Avoid a compiler warning. 2008-10-27 11:29:21 +01:00
Jacek Caban 30de39b2a7 jscript: Treat function expressions with identifier as function declarations. 2008-10-21 11:43:01 +02:00
Jacek Caban 4f6f8ef2d8 jscript: Added NaN handling to relational operators. 2008-10-17 11:45:43 +02:00
Jacek Caban f3e7637139 jscript: Added '%=' expression implementation. 2008-10-09 12:57:40 +02:00
Jacek Caban 065581b236 jscript: Added '%' expression implementation. 2008-10-09 12:57:38 +02:00
Jacek Caban 47b842bff7 jscript: Don't initialize variables without initialiser to undefined in variable_list_eval. 2008-10-06 13:04:39 +02:00
Jacek Caban 9c248189f7 jscript: Added delete expression for EXPRVAL_IDREF implementation. 2008-10-01 11:39:47 -05:00
Jacek Caban a9c4d2b18e jscript: Don't clear uninitialized variable. 2008-10-01 11:39:26 -05:00
Jacek Caban 50a84b4545 jscript: Allocate variables when entering execution context. 2008-10-01 11:39:18 -05:00
Jacek Caban 131d0b9f1b jscript: Optimize GetDispID usage. 2008-10-01 11:39:13 -05:00
Michael Stefaniuc 9c0d148dd5 jscript: Remove redundant NULL check before SysFreeString (Smatch). 2008-09-25 11:18:54 +02:00
Jacek Caban 87e2c25549 jscript: Fixed a typo.
Spotted by Michael Stefaniuc.
2008-09-24 12:52:59 +02:00
Jacek Caban 5760eb808b jscript: Added Function.toString implementation. 2008-09-22 11:56:16 +02:00
Jacek Caban 2efae9e79b jscript: for..in is not error if in expression is not an object. 2008-09-22 11:54:36 +02:00
Jacek Caban f1f2e8e6c5 jscript: Added Array.sort implementation. 2008-09-22 11:54:11 +02:00
Jacek Caban 3435603520 jscript: Minor fixes. 2008-09-19 12:08:39 +02:00
Jacek Caban c1b76a333b jscript: Added '>>>=' expression implementation. 2008-09-19 12:08:34 +02:00
Jacek Caban bc641097a9 jscript: Added '>>=' expression implementation. 2008-09-19 12:08:30 +02:00
Jacek Caban 701797489d jscript: Added '<<=' expression implementation. 2008-09-19 12:08:26 +02:00
Jacek Caban 13790a640b jscript: Added '>>>' expression implementation. 2008-09-19 12:08:22 +02:00
Jacek Caban 74fefe94eb jscript: Added '>>' expression implementation. 2008-09-19 12:08:18 +02:00
Jacek Caban ef78010df4 jscript: Added '<<' expression implementation. 2008-09-19 12:08:14 +02:00
Jacek Caban dfb867af56 jscript: Added with statement implementation. 2008-09-19 12:08:09 +02:00
Jacek Caban 4e9749bf92 jscript: Added delete expression implementation. 2008-09-19 12:08:05 +02:00
Jacek Caban 8e16240467 jscript: Added for..in statement implementation. 2008-09-19 12:07:59 +02:00
Jacek Caban 4731f17435 jscript: Added String.charAt implementation. 2008-09-19 12:07:53 +02:00
Jacek Caban 536573934a jscript: Added void expression implementation. 2008-09-19 12:07:47 +02:00
Jacek Caban 9e68badeaf jscript: Added for statement implementation. 2008-09-18 12:23:17 +02:00
Jacek Caban 9933568063 jscript: Added continue statement implementation. 2008-09-18 12:23:12 +02:00
Jacek Caban 7bde1a3345 jscript: Added while and do..while statement implementation. 2008-09-18 12:23:07 +02:00
Jacek Caban 788197d592 jscript: Added array literal implementation. 2008-09-18 12:22:50 +02:00
Jacek Caban 7c6b6c8ca8 jscript: Added plus expression implementation. 2008-09-18 12:22:30 +02:00
Jacek Caban 20bc98d5d8 jscript: Added '~' expression implementation. 2008-09-18 12:22:23 +02:00
Jacek Caban c0bfbba859 jscript: Added ',' expression implementation. 2008-09-18 12:22:16 +02:00
Jacek Caban 5288c5b07c jscript: Added '^=' expression implementation. 2008-09-18 12:22:10 +02:00
Jacek Caban 7202197dfa jscript: Added '^' expression implementation. 2008-09-18 12:22:06 +02:00
Jacek Caban b8aeb15cb5 jscript: Added '&=' expression implementation. 2008-09-18 12:22:00 +02:00
Jacek Caban d2de1d3103 jscript: Added '&' expression implementation. 2008-09-18 12:21:55 +02:00
Jacek Caban a51ec811c7 jscript: Added '|=' expression implementation. 2008-09-18 12:21:49 +02:00
Jacek Caban ec6411a7fc jscript: Added '|' expression implementation. 2008-09-18 12:21:44 +02:00
Jacek Caban 32a3a167b6 jscript: Added break statement implementation. 2008-09-18 12:21:34 +02:00
Jacek Caban 2b16387708 jscript: Added switch statement implementation. 2008-09-18 12:21:29 +02:00
Jacek Caban c0f3c78954 jscript: Added 'new' expression implementation. 2008-09-18 12:21:23 +02:00
Jacek Caban 47fcf8d0c7 jscript: Added '!=' expression implementation. 2008-09-18 12:21:16 +02:00
Jacek Caban d699834892 jscript: Added '==' expression implementation. 2008-09-18 12:21:07 +02:00
Dmitry Timoshkov e853f1076c jscript: Fix the uninitialized variable warning. 2008-09-17 10:54:44 +02:00
Jacek Caban 5c1c923d5e jscript: Added minus expression implementation. 2008-09-16 22:35:01 +02:00
Jacek Caban 43f760ba17 jscript: Added '/=' expression implementation. 2008-09-16 22:34:56 +02:00
Jacek Caban 323e11b4ab jscript: Added '/' expression implementation. 2008-09-16 22:34:52 +02:00
Jacek Caban 01a4acbd8c jscript: Added '*=' expression implementation. 2008-09-16 22:34:48 +02:00
Jacek Caban 2385f8d494 jscript: Added '*' expression implementation. 2008-09-16 22:34:44 +02:00
Jacek Caban 2a672e334e jscript: Added '-=' expression implementation. 2008-09-16 22:34:40 +02:00
Jacek Caban c3af87180a jscript: Added '-' expression implementation. 2008-09-16 22:34:35 +02:00
Jacek Caban e7903ecfa9 jscript: Added throw statement implementation. 2008-09-16 22:34:23 +02:00
Jacek Caban 66eb62ada6 jscript: Added try statement implementation. 2008-09-16 22:34:09 +02:00
Jacek Caban 2950c3fa2d jscript: Added postfix decrement expression implementation. 2008-09-12 11:42:12 +02:00
Jacek Caban b291b83a6b jscript: Added postfix increment expression implementation. 2008-09-12 11:42:08 +02:00
Jacek Caban ce423c2e3b jscript: Added prefix decrement expression implementation. 2008-09-12 11:42:04 +02:00
Jacek Caban 5df7ac456f jscript: Added prefix increment expression. 2008-09-12 11:42:00 +02:00
Jacek Caban aa4f801ed0 jscript: Added '>=' expression implementation. 2008-09-12 11:41:55 +02:00
Jacek Caban aa0c254e4a jscript: Added '>' expression implementation. 2008-09-12 11:41:50 +02:00
Jacek Caban 9332be04f0 jscript: Added '<=' implementation. 2008-09-12 11:41:46 +02:00
Jacek Caban 8e2a9ae06a jscript: Added '<' expression implementation. 2008-09-12 11:41:42 +02:00
Jacek Caban bc9e6aa1e5 jscript: Added '&&' expression implementation. 2008-09-12 11:41:37 +02:00
Jacek Caban 6d541ecc5d jscript: Added '||' expression implementation. 2008-09-12 11:41:32 +02:00
Jacek Caban 50c7c4b719 jscript: Added '+=' expression implementation. 2008-09-12 11:41:27 +02:00
Jacek Caban 93a62e8f70 jscript: Added add expression implementation. 2008-09-11 12:02:29 +02:00
Jacek Caban 23ccc9a293 jscript: Added conditional expression implementation. 2008-09-11 12:02:19 +02:00
Jacek Caban 026bbea672 jscript: Added block statement implementation. 2008-09-11 12:02:14 +02:00
Jacek Caban e7786d1d45 jscript: Added object initialiser expression implementation. 2008-09-11 12:02:10 +02:00
Jacek Caban 1edd64ef8b jscript: Added if statement implementation. 2008-09-11 12:02:06 +02:00
Jacek Caban b2a93fe3c3 jscript: Added function expression implementation. 2008-09-11 12:01:46 +02:00
Jacek Caban 152b3e48c1 jscript: Added 'new' expression implementation. 2008-09-11 12:01:33 +02:00
Jacek Caban 8ef7038ba5 jscript: Added array expression implementation. 2008-09-11 12:01:28 +02:00
Jacek Caban dd9f8f7dbc jscript: Added Function.[[call]] implementation. 2008-09-11 12:01:13 +02:00
Jacek Caban a273e35f9b jscript: Added return statement implementation. 2008-09-11 12:01:07 +02:00
Jacek Caban 0bd508db2f jscript: Added this expression implementation. 2008-09-11 12:01:02 +02:00
Jacek Caban 67684c4850 jscript: Added typeof expression implementation. 2008-09-10 10:57:26 +02:00
Jacek Caban 5c05e6c869 jscript: Add static functions to variable objects. 2008-09-09 11:46:17 +02:00
Jacek Caban 99b4bc2347 jscript: Added member expression implementation. 2008-09-09 11:46:17 +02:00
Jacek Caban d7c8c2544d jscript: Added '!==' expression implementation. 2008-09-09 11:46:17 +02:00
Jacek Caban c3938073da jscript: Added '===' expression implementation. 2008-09-09 11:46:16 +02:00
Jacek Caban 326cf6e0cf jscript: Added var statement implementation. 2008-09-09 11:46:16 +02:00
Jacek Caban 11153d0e05 jscript: Added logical negation implementation. 2008-09-09 11:46:16 +02:00
Jacek Caban a16f205382 jscript: Added call expression implementation. 2008-09-09 11:46:16 +02:00
Jacek Caban 652a0121a9 jscript: Added variable object handling. 2008-09-09 11:46:16 +02:00
Jacek Caban fc5a8836e9 jscript: Added scope chain implementation. 2008-09-09 11:46:16 +02:00
Jacek Caban 3c05ffe094 jscript: Added literal expression implementation. 2008-09-09 11:46:16 +02:00
Jacek Caban 512505f908 jscript: Added assign expression implementation. 2008-09-09 11:46:16 +02:00
Jacek Caban ca2b797f6a jscript: Added global object implementation. 2008-09-09 11:46:16 +02:00
Jacek Caban 2bbd9d4105 jscript: Added AddNamedItem implementation. 2008-09-09 11:46:16 +02:00
Jacek Caban 2a7c9f1b92 jscript: Added identifier expression implementation. 2008-09-09 11:46:16 +02:00
Jacek Caban eb0bb55de2 jscript: Added expression statement implementation. 2008-09-09 11:46:15 +02:00
Jacek Caban b40b352c8f jscript: Added empty statement implementation. 2008-09-05 11:24:27 +02:00
Jacek Caban 69f8b4b9b2 jscript: Added IActiveScript::ParseScriptText implementation. 2008-09-05 11:23:38 +02:00
Jacek Caban 9ebdd11126 jscript: Added parser. 2008-09-04 11:47:56 +02:00