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