8000 gh-104683: Argument Clinic: Make most arguments to `Class` and `Funct… · python/cpython@14d074e · GitHub
[go: up one dir, main page]

Skip to content

Commit 14d074e

Browse files
authored
gh-104683: Argument Clinic: Make most arguments to Class and Function required (#107289)
1 parent c362678 commit 14d074e

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

Tools/clinic/clinic.py

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1325,7 +1325,6 @@ def parser_body(
13251325
cpp_endif = "#endif /* " + conditional + " */"
13261326

13271327
assert clinic is not None
1328-
assert f.full_name is not None
13291328
if methoddef_define and f.full_name not in clinic.ifndef_symbols:
13301329
clinic.ifndef_symbols.add(f.full_name)
13311330
methoddef_ifndef = normalize_snippet("""
@@ -1541,11 +1540,8 @@ def render_function(
15411540
'{impl_parameters}' in templates['parser_prototype']):
15421541
data.declarations.pop(0)
15431542

1544-
template_dict = {}
1545-
1546-
assert isinstance(f.full_name, str)
15471543
full_name = f.full_name
1548-
template_dict['full_name'] = full_name
1544+
template_dict = {'full_name': full_name}
15491545

15501546
if new_or_init:
15511547
assert isinstance(f.cls, Class)
@@ -2398,10 +2394,10 @@ def __repr__(self) -> str:
23982394
@dc.dataclass(repr=False)
23992395
class Class:
24002396
name: str
2401-
module: Module | None = None
2402-
cls: Class | None = None
2403-
typedef: str | None = None
2404-
type_object: str | None = None
2397+
module: Module
2398+
cls: Class | None
2399+
typedef: str
2400+
type_object: str
24052401

24062402
def __post_init__(self) -> None:
24072403
self.parent = self.cls or self.module
@@ -2527,14 +2523,14 @@ class Function:
25272523
_: dc.KW_ONLY
25282524
name: str
25292525
module: Module
2530-
cls: Class | None = None
2531-
c_basename: str | None = None
2532-
full_name: str | None = None
2526+
cls: Class | None
2527+
c_basename: str | None
2528+
full_name: str
25332529
return_converter: CReturnConverter
2530+
kind: FunctionKind
2531+
coexist: bool
25342532
return_annotation: object = inspect.Signature.empty
25352533
docstring: str = ''
2536-
kind: FunctionKind = CALLABLE
2537-
coexist: bool = False
25382534
# docstring_only means "don't generate a machine-readable
25392535
# signature, just a normal docstring". it's True for
25402536
# functions with optional groups because we can't represent
@@ -5325,7 +5321,6 @@ def state_function_docstring(self, line: str | None) -> None:
53255321
def format_docstring(self) -> str:
53265322
f = self.function
53275323
assert f is not None
5328-
assert f.full_name is not None
53295324

53305325
new_or_init = f.kind.new_or_init
53315326
if new_or_init and not f.docstring:

0 commit comments

Comments
 (0)
0