287 return r;
288 }
289
290 /**
291 * {@inheritDoc}
292 *
293 * @implSpec This implementation scans the children in left to right order.
294 *
295 * @param node {@inheritDoc}
296 * @param p {@inheritDoc}
297 * @return the result of scanning
298 */
299 @Override
300 public R visitWhileLoop(WhileLoopTree node, P p) {
301 R r = scan(node.getCondition(), p);
302 r = scanAndReduce(node.getStatement(), p, r);
303 return r;
304 }
305
306 /**
307 * {@inheritDoc}
308 *
309 * @implSpec This implementation scans the children in left to right order.
310 *
311 * @param node {@inheritDoc}
312 * @param p {@inheritDoc}
313 * @return the result of scanning
314 */
315 @Override
316 public R visitForLoop(ForLoopTree node, P p) {
317 R r = scan(node.getInitializer(), p);
318 r = scanAndReduce(node.getCondition(), p, r);
319 r = scanAndReduce(node.getUpdate(), p, r);
320 r = scanAndReduce(node.getStatement(), p, r);
321 return r;
322 }
323
324 /**
325 * {@inheritDoc}
326 *
327 * @implSpec This implementation scans the children in left to right order.
328 *
329 * @param node {@inheritDoc}
|
287 return r;
288 }
289
290 /**
291 * {@inheritDoc}
292 *
293 * @implSpec This implementation scans the children in left to right order.
294 *
295 * @param node {@inheritDoc}
296 * @param p {@inheritDoc}
297 * @return the result of scanning
298 */
299 @Override
300 public R visitWhileLoop(WhileLoopTree node, P p) {
301 R r = scan(node.getCondition(), p);
302 r = scanAndReduce(node.getStatement(), p, r);
303 return r;
304 }
305
306 /**
307 * {@inheritDoc} This implementation scans the children in left to right order.
308 *
309 * @param node {@inheritDoc}
310 * @param p {@inheritDoc}
311 * @return the result of scanning
312 */
313 @Override
314 public R visitForLoop(ForLoopTree node, P p) {
315 R r = scan(node.getInitializer(), p);
316 r = scanAndReduce(node.getCondition(), p, r);
317 r = scanAndReduce(node.getUpdate(), p, r);
318 r = scanAndReduce(node.getStatement(), p, r);
319 return r;
320 }
321
322 /**
323 * {@inheritDoc}
324 *
325 * @implSpec This implementation scans the children in left to right order.
326 *
327 * @param node {@inheritDoc}
|