visitForIterLoopStmt method

  1. @override
String visitForIterLoopStmt(
  1. ForIterLoopStmt forIterLoopStmt
)
override

Implementation

@override
String visitForIterLoopStmt(ForIterLoopStmt forIterLoopStmt) {
  final head = forIterLoopStmt.vars.map((e) => createID(e.lexeme)).join(',');
  final tail = forIterLoopStmt.exprs.map((e) => e.accept(this)).join(',');
  late final String body;
  wrapScope(current, block: () {
    body = forIterLoopStmt.body.map((e) => e.accept(this)).join(_sep);
  });
  return 'for $head in $tail do$_sep$body${_sep}end';
}