]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-104050: Argument clinic: annotate `post_parsing()` and `cleanup()` (#107225)
authorAlex Waygood <Alex.Waygood@Gmail.com>
Tue, 25 Jul 2023 22:33:03 +0000 (23:33 +0100)
committerGitHub <noreply@github.com>
Tue, 25 Jul 2023 22:33:03 +0000 (23:33 +0100)
Tools/clinic/clinic.py

index c46c6860e45d27e047faa70a9cd675256b6fe1cd..d9e893f1f1d3534e1ce687b86abbeb7df78354ac 100755 (executable)
@@ -3664,10 +3664,12 @@ class str_converter(CConverter):
         if NoneType in accept and self.c_default == "Py_None":
             self.c_default = "NULL"
 
-    def post_parsing(self):
+    def post_parsing(self) -> str:
         if self.encoding:
             name = self.name
             return f"PyMem_FREE({name});\n"
+        else:
+            return ""
 
     def parse_arg(self, argname: str, displayname: str) -> str:
         if self.format_unit == 's':
@@ -3845,8 +3847,10 @@ class Py_UNICODE_converter(CConverter):
                 fail("Py_UNICODE_converter: illegal 'accept' argument " + repr(accept))
         self.c_default = "NULL"
 
-    def cleanup(self):
-        if not self.length:
+    def cleanup(self) -> str:
+        if self.length:
+            return ""
+        else:
             return """\
 PyMem_Free((void *){name});
 """.format(name=self.name)