Skip to content

Commit

Permalink
gh-104050: Add basic typing to CConverter in clinic.py (#104538)
Browse files Browse the repository at this point in the history
  • Loading branch information
erlend-aasland committed May 16, 2023
1 parent cca90b6 commit 505e295
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions Tools/clinic/clinic.py
Original file line number Diff line number Diff line change
Expand Up @@ -2669,15 +2669,15 @@ class CConverter(metaclass=CConverterAutoRegister):
# keep in sync with self_converter.__init__!
def __init__(self,
# Positional args:
name,
py_name,
name: str,
py_name: str,
function,
default=unspecified,
*, # Keyword only args:
c_default=None,
py_default=None,
annotation=unspecified,
unused=False,
c_default: str | None = None,
py_default: str | None = None,
annotation: str | Unspecified = unspecified,
unused: bool = False,
**kwargs
):
self.name = ensure_legal_c_identifier(name)
Expand Down Expand Up @@ -2713,10 +2713,10 @@ def __init__(self,
def converter_init(self):
pass

def is_optional(self):
def is_optional(self) -> bool:
return (self.default is not unspecified)

def _render_self(self, parameter, data):
def _render_self(self, parameter: str, data: CRenderData) -> None:
self.parameter = parameter
name = self.parser_name

Expand Down Expand Up @@ -2776,7 +2776,7 @@ def _render_non_self(self, parameter, data):
if cleanup:
data.cleanup.append('/* Cleanup for ' + name + ' */\n' + cleanup.rstrip() + "\n")

def render(self, parameter, data):
def render(self, parameter: str, data: CRenderData) -> None:
"""
parameter is a clinic.Parameter instance.
data is a CRenderData instance.
Expand Down Expand Up @@ -2852,31 +2852,31 @@ def declaration(self, *, in_parser=False):
declaration.append(';')
return "".join(declaration)

def initialize(self):
def initialize(self) -> str:
"""
The C statements required to set up this variable before parsing.
Returns a string containing this code indented at column 0.
If no initialization is necessary, returns an empty string.
"""
return ""

def modify(self):
def modify(self) -> str:
"""
The C statements required to modify this variable after parsing.
Returns a string containing this code indented at column 0.
If no modification is necessary, returns an empty string.
"""
return ""

def post_parsing(self):
def post_parsing(self) -> str:
"""
The C statements required to do some operations after the end of parsing but before cleaning up.
Return a string containing this code indented at column 0.
If no operation is necessary, return an empty string.
"""
return ""

def cleanup(self):
def cleanup(self) -> str:
"""
The C statements required to clean up after this variable.
Returns a string containing this code indented at column 0.
Expand Down Expand Up @@ -2929,7 +2929,7 @@ def parse_arg(self, argname, displayname):
""".format(argname=argname, paramname=self.parser_name, cast=cast)
return None

def set_template_dict(self, template_dict):
def set_template_dict(self, template_dict: dict[str, str]):
pass

@property
Expand Down

0 comments on commit 505e295

Please sign in to comment.