generateToString method

void generateToString(
  1. BuildContext? ctx,
  2. ClassBuilder clazz
)

Implementation

void generateToString(BuildContext? ctx, ClassBuilder clazz) {
  clazz.methods.add(Method((b) {
    b
      ..name = 'toString'
      ..returns = refer('String')
      ..annotations.add(refer('override'))
      ..body = Block((b) {
        var buf = StringBuffer('\'${ctx!.modelClassName}(');
        var i = 0;
        for (var field in ctx.fields) {
          if (i++ > 0) buf.write(', ');
          buf.write('${field.name}=\$${field.name}');
        }
        buf.write(')\'');
        b.addExpression(CodeExpression(Code(buf.toString())).returned);
      });
  }));
}