(node)
| 3392 | // 12.6 Iteration Statements |
| 3393 | |
| 3394 | function parseDoWhileStatement(node) { |
| 3395 | var body, test, oldInIteration; |
| 3396 | |
| 3397 | expectKeyword('do'); |
| 3398 | |
| 3399 | oldInIteration = state.inIteration; |
| 3400 | state.inIteration = true; |
| 3401 | |
| 3402 | body = parseStatement(); |
| 3403 | |
| 3404 | state.inIteration = oldInIteration; |
| 3405 | |
| 3406 | expectKeyword('while'); |
| 3407 | |
| 3408 | expect('('); |
| 3409 | |
| 3410 | test = parseExpression(); |
| 3411 | |
| 3412 | expect(')'); |
| 3413 | |
| 3414 | if (match(';')) { |
| 3415 | lex(); |
| 3416 | } |
| 3417 | |
| 3418 | return node.finishDoWhileStatement(body, test); |
| 3419 | } |
| 3420 | |
| 3421 | function parseWhileStatement(node) { |
| 3422 | var test, body, oldInIteration; |
no test coverage detected