From 9395dd77a57d8dbca2d4c57ad621e13dfaf034b5 Mon Sep 17 00:00:00 2001 From: "Erlend E. Aasland" Date: Sat, 20 May 2023 11:35:09 +0200 Subject: [PATCH 1/3] gh-104146: Purge dead code from Argument Clinic The following local variables were assigned but never used: - line 551: result - line 1341: groups - line 1431: default_return_converter - line 1529: ignore_self - line 1809: input_checksum - line 4224: new' --- Tools/clinic/clinic.py | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index 3d4961e6e7d7dd..df203b7348b626 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -548,8 +548,6 @@ def permute_optional_groups(left, required, right): If required is empty, left must also be empty. """ required = tuple(required) - result = [] - if not required: if left: raise ValueError("required is empty but left is not") @@ -1338,7 +1336,6 @@ def render_option_group_parsing(self, f, template_dict): if isinstance(parameters[0].converter, self_converter): del parameters[0] - groups = [] group = None left = [] right = [] @@ -1428,8 +1425,6 @@ def render_function(self, clinic, f): first_optional = len(selfless) positional = selfless and selfless[-1].is_positional_only() new_or_init = f.kind in (METHOD_NEW, METHOD_INIT) - default_return_converter = (not f.return_converter or - f.return_converter.type == 'PyObject *') has_option_groups = False # offset i by -1 because first_optional needs to ignore self @@ -1526,7 +1521,6 @@ def render_function(self, clinic, f): template_dict['return_value'] = data.return_value # used by unpack tuple code generator - ignore_self = -1 if isinstance(converters[0], self_converter) else 0 unpack_min = first_optional unpack_max = len(selfless) template_dict['unpack_min'] = str(unpack_min) @@ -1803,10 +1797,8 @@ def is_stop_line(line): if self.verify: if 'input' in d: checksum = d['output'] - input_checksum = d['input'] else: checksum = d['checksum'] - input_checksum = None computed = compute_checksum(output, len(checksum)) if checksum != computed: @@ -4245,8 +4237,7 @@ def directive_version(self, required): fail("Insufficient Clinic version!\n Version: " + version + "\n Required: " + required) def directive_module(self, name): - fields = name.split('.') - new = fields.pop() + fields = name.split('.')[1:] module, cls = self.clinic._module_and_class(fields) if cls: fail("Can't nest a module inside a class!") From 09c8df47c3dffed62433ea90921b48a321e57af4 Mon Sep 17 00:00:00 2001 From: "Erlend E. Aasland" Date: Sat, 20 May 2023 11:50:45 +0200 Subject: [PATCH 2/3] Use pop, but discard value --- Tools/clinic/clinic.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index df203b7348b626..209e036970d9a2 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -4237,7 +4237,8 @@ def directive_version(self, required): fail("Insufficient Clinic version!\n Version: " + version + "\n Required: " + required) def directive_module(self, name): - fields = name.split('.')[1:] + fields = name.split('.') + _ = fields.pop() module, cls = self.clinic._module_and_class(fields) if cls: fail("Can't nest a module inside a class!") From 396f0dffd33055dfd240ea6a5ab7af6a0924481b Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Sat, 20 May 2023 11:27:59 +0100 Subject: [PATCH 3/3] use slices --- Tools/clinic/clinic.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index 209e036970d9a2..1afcaf9bcf4c99 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -4237,8 +4237,7 @@ def directive_version(self, required): fail("Insufficient Clinic version!\n Version: " + version + "\n Required: " + required) def directive_module(self, name): - fields = name.split('.') - _ = fields.pop() + fields = name.split('.')[:-1] module, cls = self.clinic._module_and_class(fields) if cls: fail("Can't nest a module inside a class!")