From a5414ea9f56ef8ac4494f1bb826a33465023cab9 Mon Sep 17 00:00:00 2001 From: Oleh Prypin Date: Mon, 16 Mar 2026 06:47:17 -0700 Subject: [PATCH] Allow overriding the name in `make_replace_method`. PiperOrigin-RevId: 884410296 --- pytype/overlays/classgen.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pytype/overlays/classgen.py b/pytype/overlays/classgen.py index 0107b70d1..800ee557a 100644 --- a/pytype/overlays/classgen.py +++ b/pytype/overlays/classgen.py @@ -302,7 +302,9 @@ def get_class_locals(cls_name: str, allow_methods: bool, ordering, ctx): return out -def make_replace_method(ctx, node, cls, *, kwargs_name="kwargs"): +def make_replace_method( + ctx, node, cls, *, name="replace", kwargs_name="kwargs" +): """Create a replace() method for a dataclass.""" # This is used by several packages that extend dataclass. # The signature is @@ -311,7 +313,7 @@ def make_replace_method(ctx, node, cls, *, kwargs_name="kwargs"): return overlay_utils.make_method( ctx=ctx, node=node, - name="replace", + name=name, return_type=typevar, self_param=overlay_utils.Param("self", typevar), kwargs=overlay_utils.Param(kwargs_name),