/** ParExpression = "(" Expression ")" */ JCExpression parExpression() { accept(LPAREN); JCExpression t = expression(); accept(RPAREN); return t; }
/** ParExpression = "(" Expression ")" */ JCExpression parExpression() { accept(LPAREN); JCExpression t = expression(); accept(RPAREN); return t; }
/** VariableInitializer = ArrayInitializer | Expression */ public JCExpression variableInitializer() { return S.token() == LBRACE ? arrayInitializer(S.pos(), null) : expression(); }
/** VariableInitializer = ArrayInitializer | Expression */ public JCExpression variableInitializer() { return S.token() == LBRACE ? arrayInitializer(S.pos(), null) : expression(); }
/** ForUpdate = StatementExpression MoreStatementExpressions */ List<JCExpressionStatement> forUpdate() { return moreStatementExpressions(S.pos(), expression(), new ListBuffer<JCExpressionStatement>()).toList(); }
/** ForUpdate = StatementExpression MoreStatementExpressions */ List<JCExpressionStatement> forUpdate() { return moreStatementExpressions(S.pos(), expression(), new ListBuffer<JCExpressionStatement>()).toList(); }
/** Arguments = "(" [Expression { COMMA Expression }] ")" */ List<JCExpression> arguments() { ListBuffer<JCExpression> args = lb(); if (S.token() == LPAREN) { S.nextToken(); if (S.token() != RPAREN) { args.append(expression()); while (S.token() == COMMA) { S.nextToken(); args.append(expression()); } } accept(RPAREN); } else { syntaxError(S.pos(), "expected", keywords.token2string(LPAREN)); } return args.toList(); }
/** Arguments = "(" [Expression { COMMA Expression }] ")" */ List<JCExpression> arguments() { ListBuffer<JCExpression> args = lb(); if (S.token() == LPAREN) { S.nextToken(); if (S.token() != RPAREN) { args.append(expression()); while (S.token() == COMMA) { S.nextToken(); args.append(expression()); } } accept(RPAREN); } else { syntaxError(S.pos(), "expected", keywords.token2string(LPAREN)); } return args.toList(); }
/** MoreStatementExpressions = { COMMA StatementExpression } */ <T extends ListBuffer<? super JCExpressionStatement>> T moreStatementExpressions(int pos, JCExpression first, T stats) { // This Exec is a "StatementExpression"; it subsumes no terminating token stats.append(toP(F.at(pos).Exec(checkExprStat(first)))); while (S.token() == COMMA) { S.nextToken(); pos = S.pos(); JCExpression t = expression(); // This Exec is a "StatementExpression"; it subsumes no terminating token stats.append(toP(F.at(pos).Exec(checkExprStat(t)))); } return stats; }
/** ArrayCreatorRest = "[" ( "]" BracketsOpt ArrayInitializer * | Expression "]" {"[" Expression "]"} BracketsOpt ) */ JCExpression arrayCreatorRest(int newpos, JCExpression elemtype) { accept(LBRACKET); if (S.token() == RBRACKET) { accept(RBRACKET); elemtype = bracketsOpt(elemtype); if (S.token() == LBRACE) { return arrayInitializer(newpos, elemtype); } else { return syntaxError(S.pos(), "array.dimension.missing"); } } else { ListBuffer<JCExpression> dims = new ListBuffer<JCExpression>(); dims.append(expression()); accept(RBRACKET); while (S.token() == LBRACKET) { int pos = S.pos(); S.nextToken(); if (S.token() == RBRACKET) { elemtype = bracketsOptCont(elemtype, pos); } else { dims.append(expression()); accept(RBRACKET); } } return toP(F.at(newpos).NewArray(elemtype, dims.toList(), null)); } }
/** MoreStatementExpressions = { COMMA StatementExpression } */ <T extends ListBuffer<? super JCExpressionStatement>> T moreStatementExpressions(int pos, JCExpression first, T stats) { // This Exec is a "StatementExpression"; it subsumes no terminating token stats.append(toP(F.at(pos).Exec(checkExprStat(first)))); while (S.token() == COMMA) { S.nextToken(); pos = S.pos(); JCExpression t = expression(); // This Exec is a "StatementExpression"; it subsumes no terminating token stats.append(toP(F.at(pos).Exec(checkExprStat(t)))); } return stats; }
/** ArrayCreatorRest = "[" ( "]" BracketsOpt ArrayInitializer * | Expression "]" {"[" Expression "]"} BracketsOpt ) */ JCExpression arrayCreatorRest(int newpos, JCExpression elemtype) { accept(LBRACKET); if (S.token() == RBRACKET) { accept(RBRACKET); elemtype = bracketsOpt(elemtype); if (S.token() == LBRACE) { return arrayInitializer(newpos, elemtype); } else { return syntaxError(S.pos(), "array.dimension.missing"); } } else { ListBuffer<JCExpression> dims = new ListBuffer<JCExpression>(); dims.append(expression()); accept(RBRACKET); while (S.token() == LBRACKET) { int pos = S.pos(); S.nextToken(); if (S.token() == RBRACKET) { elemtype = bracketsOptCont(elemtype, pos); } else { dims.append(expression()); accept(RBRACKET); } } return toP(F.at(newpos).NewArray(elemtype, dims.toList(), null)); } }
case CASE: { S.nextToken(); JCExpression pat = expression(); accept(COLON); List<JCStatement> stats = blockStatements();
case CASE: { S.nextToken(); JCExpression pat = expression(); accept(COLON); List<JCStatement> stats = blockStatements();
JCVariableDecl var = (JCVariableDecl)inits.head; accept(COLON); JCExpression expr = expression(); accept(RPAREN); JCStatement body = statement(); } else { accept(SEMI); JCExpression cond = S.token() == SEMI ? null : expression(); accept(SEMI); List<JCExpressionStatement> steps = S.token() == RPAREN ? List.<JCExpressionStatement>nil() : forUpdate(); JCExpression result = S.token() == SEMI ? null : expression(); JCReturn t = to(F.at(pos).Return(result)); accept(SEMI); JCExpression exc = expression(); JCThrow t = to(F.at(pos).Throw(exc)); accept(SEMI); if (allowAsserts && S.token() == ASSERT) { S.nextToken(); JCExpression assertion = expression(); JCExpression message = null; if (S.token() == COLON) { S.nextToken(); message = expression(); default:
JCVariableDecl var = (JCVariableDecl)inits.head; accept(COLON); JCExpression expr = expression(); accept(RPAREN); JCStatement body = statement(); } else { accept(SEMI); JCExpression cond = S.token() == SEMI ? null : expression(); accept(SEMI); List<JCExpressionStatement> steps = S.token() == RPAREN ? List.<JCExpressionStatement>nil() : forUpdate(); JCExpression result = S.token() == SEMI ? null : expression(); JCReturn t = to(F.at(pos).Return(result)); accept(SEMI); JCExpression exc = expression(); JCThrow t = to(F.at(pos).Throw(exc)); accept(SEMI); if (allowAsserts && S.token() == ASSERT) { S.nextToken(); JCExpression assertion = expression(); JCExpression message = null; if (S.token() == COLON) { S.nextToken(); message = expression(); default: