Add equality methods to *cls* with *attrs*.
(cls, attrs=None)
| 1800 | |
| 1801 | |
| 1802 | def _add_eq(cls, attrs=None): |
| 1803 | """ |
| 1804 | Add equality methods to *cls* with *attrs*. |
| 1805 | """ |
| 1806 | if attrs is None: |
| 1807 | attrs = cls.__attrs_attrs__ |
| 1808 | |
| 1809 | script, globs = _make_eq_script(attrs) |
| 1810 | _compile_and_eval( |
| 1811 | script, globs, filename=_generate_unique_filename(cls, "__eq__") |
| 1812 | ) |
| 1813 | cls.__eq__ = globs["__eq__"] |
| 1814 | cls.__ne__ = __ne__ |
| 1815 | |
| 1816 | return cls |
| 1817 | |
| 1818 | |
| 1819 | def _make_repr_script(attrs, ns) -> tuple[str, dict]: |
no test coverage detected