visitSwitchExpression method

  1. @override
StringSink visitSwitchExpression(
  1. SwitchExpression expression, [
  2. StringSink? output
])
inherited

Implementation

@override
StringSink visitSwitchExpression(
  SwitchExpression expression, [
  StringSink? output,
]) {
  output ??= StringBuffer();
  output.write('switch (');
  expression.value.accept(this, output);
  output.writeln(') {');

  for (final c in expression.cases) {
    c.pattern.accept(this, output);
    if (c.guard != null) {
      output.write(' when ');
      c.guard!.accept(this, output);
    }
    output.write(' => ');
    c.body.accept(this, output);
    output.writeln(',');
  }

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