def _generate_struct_class_repr(self, data_type):
self.emit('<STR_LIT>')<EOL>with self.indent():<EOL><INDENT>if data_type.all_fields:<EOL><INDENT>constructor_kwargs_fmt = '<STR_LIT:U+002CU+0020>'.join(<EOL>'<STR_LIT>'.format(fmt_var(f.name, True))<EOL>for f in data_type.all_fields)<EOL>self.emit("<STR_LIT>".format(<EOL>class_name_for_data_type(data_type),<EOL>constructor_kwargs_fmt,<EOL>))<EOL>with self.indent():<EOL><INDENT>for f in data_type.all_fields:<EOL><INDENT>self.emit("<STR_LIT>".format(fmt_var(f.name)))<EOL><DEDENT><DEDENT>self.emit("<STR_LIT:)>")<EOL><DEDENT>else:<EOL><INDENT>self.emit("<STR_LIT>" %<EOL>class_name_for_data_type(data_type))<EOL><DEDENT><DEDENT>self.emit()<EOL>
Generates something like:

    def __repr__(self):
        return 'Employee(first_name={!r}, last_name={!r}, age={!r})'.format(
            self._first_name_value,
            self._last_name_value,
            self._age_value,
        )