emit method

  1. @override
StringSink emit(
  1. Switch value, [
  2. StringSink? output
])
override

Emits element as valid Dart code into output.

Implementation

@override
StringSink emit(
  Switch value, [
  StringSink? output,
]) {
  output ??= StringBuffer();

  output.write('switch (');

  ElementEmitter(context).emit(value.condition, output);

  output.write(') { ');

  for (final v in value.cases) {
    SwitchCaseEmitter(context).emit(v, output);

    output.writeln('\n');
  }

  if (value.default_ != null) {
    output.write('default: ');

    ElementEmitter(context).emit(value.default_!, output);
  }

  output.write(' }');

  return output;
}