push(jsProgram.getDecimalLiteral(String.valueOf(x.getValue())));
}
// @Override
public void endVisit(JForStatement x, Context ctx) {
JsFor jsFor = new JsFor();
// body
if (x.getBody() != null) {
jsFor.setBody((JsStatement) pop());
} else {
jsFor.setBody(jsProgram.getEmptyStmt());
}
// increments
{
JsExpression incrExpr = null;
List/* <JsExprStmt> */exprStmts = popList(x.getIncrements().size());
for (int i = 0; i < exprStmts.size(); ++i) {
JsExprStmt exprStmt = (JsExprStmt) exprStmts.get(i);
incrExpr = createCommaExpression(incrExpr, exprStmt.getExpression());
}
jsFor.setIncrExpr(incrExpr);
}
// condition
if (x.getTestExpr() != null) {
jsFor.setCondition((JsExpression) pop());
}
// initializers
JsExpression initExpr = null;
List/* <JsExprStmt> */initStmts = popList(x.getInitializers().size());
for (int i = 0; i < initStmts.size(); ++i) {
JsExprStmt initStmt = (JsExprStmt) initStmts.get(i);
if (initStmt != null) {
initExpr = createCommaExpression(initExpr, initStmt.getExpression());
}
}
jsFor.setInitExpr(initExpr);
push(jsFor);
}