FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

gh-104050: Argument clinic: misc improvements to type annotation coverage by AlexWaygood · Pull Request #107206 · python/cpython · GitHub

Repository navigation

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension .py  (1) All 1 file type selected
Viewed files
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Unified
Split
Hide whitespace
Diff view
Unified
Split
Hide whitespace
24 changes: 15 additions & 9 deletions Tools/clinic/clinic.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -2640,7 +2640,7 @@ class LandMine:
# try to access any
__message__: str

def __getattribute__(self, name: str):
def __getattribute__(self, name: str) -> Any:
if name in ('__repr__', '__message__'):
return super().__getattribute__(name)
# raise RuntimeError(repr(name))
Expand Down Expand Up @@ -3896,7 +3896,7 @@ def converter_init(self, *, accept: TypeSet = {buffer}) -> None:

self.format_unit = format_unit

def cleanup(self):
def cleanup(self) -> str:
name = self.name
return "".join(["if (", name, ".obj) {\n PyBuffer_Release(&", name, ");\n}\n"])

Expand Down Expand Up @@ -4115,7 +4115,7 @@ def __init__(
self,
*,
py_default: str | None = None,
**kwargs
**kwargs: Any
) -> None:
self.py_default = py_default
try:
Expand Down Expand Up @@ -4493,7 +4493,7 @@ def directive_destination(
self,
name: str,
command: str,
*args
*args: str
) -> None:
match command:
case "new":
Expand Down Expand Up @@ -4847,12 +4847,13 @@ def state_parameters_start(self, line: str | None) -> None:
return self.next(self.state_parameter, line)


def to_required(self):
def to_required(self) -> None:
"""
Transition to the "required" parameter state.
"""
if self.parameter_state is not ParamState.REQUIRED:
self.parameter_state = ParamState.REQUIRED
assert self.function is not None
for p in self.function.parameters.values():
p.group = -p.group

Expand Down Expand Up @@ -5000,7 +5001,7 @@ def parse_parameter(self, line: str) -> None:
# of disallowed ast nodes.
class DetectBadNodes(ast.NodeVisitor):
bad = False
def bad_node(self, node):
def bad_node(self, node: ast.AST) -> None:
self.bad = True

# inline function call
Expand Down Expand Up @@ -5248,7 +5249,9 @@ def state_parameter_docstring_start(self, line: str | None) -> None:
# every line of the docstring must start with at least F spaces,
# where F > P.
# these F spaces will be stripped.
def state_parameter_docstring(self, line):
def state_parameter_docstring(self, line: str | None) -> None:
assert line is not None

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

We need to get rid of these at some point.


stripped = line.strip()
if stripped.startswith('#'):
return
Expand All @@ -5263,7 +5266,7 @@ def state_parameter_docstring(self, line):
assert self.indent.depth == 1
return self.next(self.state_function_docstring, line)

assert self.function.parameters
assert self.function and self.function.parameters
last_parameter = next(reversed(list(self.function.parameters.values())))

new_docstring = last_parameter.docstring
Expand All @@ -5276,7 +5279,10 @@ def state_parameter_docstring(self, line):
last_parameter.docstring = new_docstring

# the final stanza of the DSL is the docstring.
def state_function_docstring(self, line):
def state_function_docstring(self, line: str | None) -> None:
assert self.function is not None
assert line is not None

if self.group:
fail("Function " + self.function.name + " has a ] without a matching [.")

Expand Down

Back | FazBrowse Home | New Git URL