Fix parsing of 'default' switch-case label in 'parse_switch_statement'.

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
This commit is contained in:
Ruben Ayrapetyan 2015-06-03 16:38:56 +03:00
parent 4547b0fdac
commit 3ec6948bae
2 changed files with 13 additions and 7 deletions

View File

@ -2091,7 +2091,8 @@ parse_switch_statement (void)
{
token_after_newlines_must_be (TOK_COLON);
skip_newlines ();
if (is_keyword (KW_CASE) || is_keyword (KW_DEFAULT))
rewrite_default_clause ();
if (is_keyword (KW_CASE))
{
continue;
}
@ -2104,12 +2105,6 @@ parse_switch_statement (void)
skip_token ();
pop_nesting (NESTING_SWITCH);
// Finally, dump 'finally' jump
if (was_default)
{
rewrite_default_clause ();
}
dumper_set_break_target ();
rewrite_breaks ();
finish_dumping_case_clauses ();

View File

@ -48,6 +48,17 @@ switch (a) {
assert (0);
}
executed_case = '';
switch (a) {
default:
executed_case = 'default';
break;
case 2:
executed_case = 'case 2';
break;
}
assert (executed_case === 'default');
var counter = 0;
switch ("var") {