emit method

  1. @override
StringSink emit(
  1. Loop element, [
  2. StringSink? output
])
override

Emits element as valid Dart code into output.

Implementation

@override
StringSink emit(
  Loop element, [
  StringSink? output,
]) {
  output ??= StringBuffer();

  switch (element.kind) {
    case LoopKind.for_:
    case LoopKind.while_:
      condition(element, output);
      body(element, output);
      break;

    case LoopKind.doWhile:
      output.write('do');

      body(element, output);
      condition(element, output);

      output.write(';');
      break;
  }

  return output;
}