Skip to content

gh-104146: Argument clinic: remove dead code highlighted by the vulture tool #107632

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 4, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 11 additions & 15 deletions Tools/clinic/clinic.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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"
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down