S.nextToken(); JCExpression cond = parExpression(); JCStatement thenpart = statement(); JCStatement elsepart = null; if (S.token() == ELSE) { S.nextToken(); elsepart = statement(); JCExpression expr = expression(); accept(RPAREN); JCStatement body = statement(); return F.at(pos).ForeachLoop(var, expr, body); } else { List<JCExpressionStatement> steps = S.token() == RPAREN ? List.<JCExpressionStatement>nil() : forUpdate(); accept(RPAREN); JCStatement body = statement(); return F.at(pos).ForLoop(inits, cond, steps, body); S.nextToken(); JCExpression cond = parExpression(); JCStatement body = statement(); return F.at(pos).WhileLoop(cond, body); JCStatement body = statement(); accept(WHILE); JCExpression cond = parExpression(); if (S.token() == COLON && expr.tag == JCTree.IDENT) {
S.nextToken(); JCExpression cond = parExpression(); JCStatement thenpart = statement(); JCStatement elsepart = null; if (S.token() == ELSE) { S.nextToken(); elsepart = statement(); JCExpression expr = expression(); accept(RPAREN); JCStatement body = statement(); return F.at(pos).ForeachLoop(var, expr, body); } else { List<JCExpressionStatement> steps = S.token() == RPAREN ? List.<JCExpressionStatement>nil() : forUpdate(); accept(RPAREN); JCStatement body = statement(); return F.at(pos).ForLoop(inits, cond, steps, body); S.nextToken(); JCExpression cond = parExpression(); JCStatement body = statement(); return F.at(pos).WhileLoop(cond, body); JCStatement body = statement(); accept(WHILE); JCExpression cond = parExpression(); if (S.token() == COLON && expr.getTag() == JCTree.IDENT) {
case SWITCH: case SYNCHRONIZED: case RETURN: case THROW: case BREAK: case CONTINUE: case SEMI: case ELSE: case FINALLY: case CATCH: stats.append(statement()); break; case MONKEYS_AT: break; } else if (allowAsserts && S.token() == ASSERT) { stats.append(statement()); break; if (S.token() == COLON && t.tag == JCTree.IDENT) { S.nextToken(); JCStatement stat = statement(); stats.append(F.at(pos).Labelled(name, stat)); } else if ((lastmode & TYPE) != 0 &&
case SWITCH: case SYNCHRONIZED: case RETURN: case THROW: case BREAK: case CONTINUE: case SEMI: case ELSE: case FINALLY: case CATCH: stats.append(statement()); break; case MONKEYS_AT: break; } else if (allowAsserts && S.token() == ASSERT) { stats.append(statement()); break; if (S.token() == COLON && t.getTag() == JCTree.IDENT) { S.nextToken(); JCStatement stat = statement(); stats.append(F.at(pos).Labelled(name, stat)); } else if ((lastmode & TYPE) != 0 &&