()
| 1451 | } |
| 1452 | |
| 1453 | public SwitchStatement switchStatement() { |
| 1454 | try { |
| 1455 | pushContext(ContextType.SWITCH); |
| 1456 | Token position = consume(SWITCH); |
| 1457 | |
| 1458 | consume(LEFT_PAREN); |
| 1459 | Expression expr = expression(); |
| 1460 | consume(RIGHT_PAREN); |
| 1461 | |
| 1462 | consume(LEFT_BRACE); |
| 1463 | |
| 1464 | List<CaseClause> clauses = new ArrayList<>(); |
| 1465 | |
| 1466 | while (la() == CASE) { |
| 1467 | clauses.add(caseClause()); |
| 1468 | } |
| 1469 | |
| 1470 | if (la() == DEFAULT) { |
| 1471 | clauses.add(defaultClause()); |
| 1472 | } |
| 1473 | |
| 1474 | while (la() == CASE) { |
| 1475 | clauses.add(caseClause()); |
| 1476 | } |
| 1477 | |
| 1478 | consume(RIGHT_BRACE); |
| 1479 | |
| 1480 | return factory.switchStatement(position, expr, clauses); |
| 1481 | } finally { |
| 1482 | popContext(); |
| 1483 | } |
| 1484 | } |
| 1485 | |
| 1486 | protected CaseClause caseClause() { |
| 1487 | Token position = consume(CASE); |
no test coverage detected