[Python-checkins] gh-104146: Argument clinic: remove dead code highlighted by the `vulture` tool (#107632)
AlexWaygood
webhook-mailer at python.org
Fri Aug 4 10:56:54 EDT 2023
https://github.com/python/cpython/commit/407d7fda94268d70b92e2e685ca9891ec3641e78
commit: 407d7fda94268d70b92e2e685ca9891ec3641e78
branch: main
author: Alex Waygood <Alex.Waygood at Gmail.com>
committer: AlexWaygood <Alex.Waygood at Gmail.com>
date: 2023-08-04T14:56:50Z
summary:
gh-104146: Argument clinic: remove dead code highlighted by the `vulture` tool (#107632)
files:
M Tools/clinic/clinic.py
diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py
index 6c5a2c7c857c5..6eb2c550e696f 100755
--- a/Tools/clinic/clinic.py
+++ b/Tools/clinic/clinic.py
@@ -1684,27 +1684,30 @@ class Block:
found on the start line of the block between the square
brackets.
- signatures is either list or None. If it's a list,
- it may only contain clinic.Module, clinic.Class, and
+ signatures is a list.
+ It may only contain clinic.Module, clinic.Class, and
clinic.Function objects. At the moment it should
contain at most one of each.
output is either str or None. If str, it's the output
from this block, with embedded '\n' characters.
- indent is either str or None. It's the leading whitespace
+ indent is a str. It's the leading whitespace
that was found on every line of input. (If body_prefix is
not empty, this is the indent *after* removing the
body_prefix.)
- preindent is either str or None. It's the whitespace that
+ "indent" is different from the concept of "preindent"
+ (which is not stored as state on Block objects).
+ "preindent" is the whitespace that
was found in front of every line of input *before* the
"body_prefix" (see the Language object). If body_prefix
is empty, preindent must always be empty too.
- To illustrate indent and preindent: Assume that '_'
- represents whitespace. If the block processed was in a
- Python file, and looked like this:
+ To illustrate the difference between "indent" and "preindent":
+
+ Assume that '_' represents whitespace.
+ If the block processed was in a Python file, and looked like this:
____#/*[python]
____#__for a in range(20):
____#____print(a)
@@ -1717,7 +1720,6 @@ class Block:
signatures: list[Module | Class | Function] = dc.field(default_factory=list)
output: Any = None # TODO: Very dynamic; probably untypeable in its current form?
indent: str = ''
- preindent: str = ''
def __repr__(self) -> str:
dsl_name = self.dsl_name or "text"
@@ -2049,12 +2051,8 @@ def dump(self) -> str:
return self.buffers.dump()
-# maps strings to Language objects.
-# "languages" maps the name of the language ("C", "Python").
-# "extensions" maps the file extension ("c", "py").
+# "extensions" maps the file extension ("c", "py") to Language classes.
LangDict = dict[str, Callable[[str], Language]]
-
-languages = { 'C': CLanguage, 'Python': PythonLanguage }
extensions: LangDict = { name: CLanguage for name in "c cc cpp cxx h hh hpp hxx".split() }
extensions['py'] = PythonLanguage
@@ -4427,7 +4425,6 @@ class DSLParser:
positional_only: bool
group: int
parameter_state: ParamState
- seen_positional_with_default: bool
indent: IndentStack
kind: FunctionKind
coexist: bool
@@ -4458,7 +4455,6 @@ def reset(self) -> None:
self.positional_only = False
self.group = 0
self.parameter_state: ParamState = ParamState.START
- self.seen_positional_with_default = False
self.indent = IndentStack()
self.kind = CALLABLE
self.coexist = False
More information about the Python-checkins
mailing list