Jacek Caban : jscript: Don't require semicolon after function expression.
Alexandre Julliard
julliard at winehq.org
Wed Sep 23 11:03:39 CDT 2009
Module: wine
Branch: master
Commit: b2b197faba101016ae1bd44453a7812735972228
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b2b197faba101016ae1bd44453a7812735972228
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Sep 23 16:09:43 2009 +0200
jscript: Don't require semicolon after function expression.
---
dlls/jscript/parser.y | 3 +--
dlls/jscript/tests/lang.js | 6 ++++++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/jscript/parser.y b/dlls/jscript/parser.y
index 57f0744..d4b4908 100644
--- a/dlls/jscript/parser.y
+++ b/dlls/jscript/parser.y
@@ -264,8 +264,6 @@ HtmlComment
/* ECMA-262 3rd Edition 14 */
SourceElements
: /* empty */ { $$ = new_source_elements(ctx); }
- | SourceElements FunctionExpression
- { $$ = $1; }
| SourceElements Statement
{ $$ = source_elements_add_statement($1, $2); }
@@ -297,6 +295,7 @@ Statement
: Block { $$ = $1; }
| VariableStatement { $$ = $1; }
| EmptyStatement { $$ = $1; }
+ | FunctionExpression { $$ = new_empty_statement(ctx); } /* FIXME: return NULL */
| ExpressionStatement { $$ = $1; }
| IfStatement { $$ = $1; }
| IterationStatement { $$ = $1; }
diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js
index b6458d4..eed0589 100644
--- a/dlls/jscript/tests/lang.js
+++ b/dlls/jscript/tests/lang.js
@@ -953,6 +953,12 @@ function do_test() {}
function nosemicolon() {} nosemicolon();
function () {} nosemicolon();
+if(false) {
+ function in_if_false() { return true; } ok(false, "!?");
+}
+
+ok(in_if_false(), "in_if_false failed");
+
ok(typeof(doesnotexist) === "undefined", "typeof(doesnotexist) = " + typeof(doesnotexist));
(function() { newValue = 1; })();
More information about the wine-cvs
mailing list