visitRepeatUntilLoopStmt method

  1. @override
Object? visitRepeatUntilLoopStmt(
  1. RepeatUntilLoopStmt repeatUntilLoopStmt
)
inherited

Implementation

@override
Object? visitRepeatUntilLoopStmt(RepeatUntilLoopStmt repeatUntilLoopStmt) {
  pushScope();
  while (true) {
    try {
      for (Stmt stmt in repeatUntilLoopStmt.body) {
        ctrlStruct = ControlStructure(
          repeatUntilLoopStmt,
          counter: repeatUntilLoopStmt.body.indexOf(stmt),
        );
        stmt.accept(this);
      }
      final cond = repeatUntilLoopStmt.untilExpr.accept(this);
      if (cond == false || cond == null) {
        break;
      }
    } catch (e) {
      addError(e.toString());
      break;
    }
  }
  popScope();
  return null;
}