Module: wine Branch: master Commit: b2b197faba101016ae1bd44453a7812735972228 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b2b197faba101016ae1bd44453...
Author: Jacek Caban jacek@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; })();