diff --git a/src/libjsparser/parser.c b/src/libjsparser/parser.c index 35540eece..fbed1a5d0 100644 --- a/src/libjsparser/parser.c +++ b/src/libjsparser/parser.c @@ -2417,6 +2417,11 @@ parse_statement (void) else { parse_expression (true); + skip_newlines (); + if (!token_is (TOK_SEMICOLON)) + { + lexer_save_token (tok); + } return; } } diff --git a/tests/jerry/object_literal.js b/tests/jerry/object_literal.js index b2c02edbf..4fc06ccf7 100644 --- a/tests/jerry/object_literal.js +++ b/tests/jerry/object_literal.js @@ -54,7 +54,12 @@ b = 'property1'; a = { 'property1' : 'value1', get property2 () { return 1; }, - set property2 (a) { this.property3 = a * 10; }, + set property2 (a) { + if (true) + this.property3 = a * 10; + else + this.property3 = a; + }, set property3 (b) { this.property1 = b; } }; assert (a.property1 === 'value1');