public Object visitStmtLoop(StmtLoop stmt) { Type oldType = type; type = TypePrimitive.inttype; Expression newIter = doExpression(stmt.getIter()); type = oldType; Statement newBody = (Statement) stmt.getBody().accept(this); if (newIter == stmt.getIter() && newBody == stmt.getBody()) return stmt; return new StmtLoop(stmt, newIter, newBody); }