Skip to content

Commit 3a0946b

Browse files
Fix parse of nested switch statements.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
1 parent 507411f commit 3a0946b

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

jerry-core/parser/js/opcodes-dumper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2318,9 +2318,9 @@ rewrite_default_clause (void)
23182318
void
23192319
finish_dumping_case_clauses (void)
23202320
{
2321-
STACK_DROP (U8, 1);
23222321
STACK_DROP (case_clauses, STACK_SIZE (case_clauses) - STACK_TOP (U8));
23232322
STACK_DROP (U8, 1);
2323+
STACK_DROP (U8, 1);
23242324
}
23252325

23262326
/**

tests/jerry/switch-case.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,25 @@ switch ("var") {
7373
}
7474

7575
assert (counter === 4);
76+
77+
var flow = '';
78+
79+
switch ("var") {
80+
case "var":
81+
flow += '1';
82+
case "var1":
83+
flow += '2';
84+
case "var2":
85+
flow += '3';
86+
switch (flow) {
87+
case '123':
88+
flow += 'a';
89+
break;
90+
default:
91+
flow += 'b';
92+
}
93+
default:
94+
flow += '4';
95+
}
96+
97+
assert (flow === '123a4');

0 commit comments

Comments
 (0)