Skip to content

Commit a285f8e

Browse files
nickdrozdjacobtylerwalls
authored andcommitted
Add Consumption type alias
1 parent 94f2801 commit a285f8e

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

pylint/checkers/variables.py

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141
from pylint.lint import PyLinter
4242
from pylint.typing import MessageDefinitionTuple
4343

44+
Consumption = dict[str, list[nodes.NodeNG]]
45+
4446

4547
SPECIAL_OBJ = re.compile("^_{2}[a-z]+_{2}$")
4648
FUTURE = "__future__"
@@ -261,7 +263,7 @@ def _infer_name_module(node: nodes.Import, name: str) -> Generator[InferenceResu
261263

262264

263265
def _fix_dot_imports(
264-
not_consumed: dict[str, list[nodes.NodeNG]]
266+
not_consumed: Consumption,
265267
) -> list[tuple[str, _base_nodes.ImportNode]]:
266268
"""Try to fix imports with multiple dots, by returning a dictionary
267269
with the import names expanded.
@@ -533,9 +535,9 @@ def _has_locals_call_after_node(stmt: nodes.NodeNG, scope: nodes.FunctionDef) ->
533535
class ScopeConsumer(NamedTuple):
534536
"""Store nodes and their consumption states."""
535537

536-
to_consume: dict[str, list[nodes.NodeNG]]
537-
consumed: dict[str, list[nodes.NodeNG]]
538-
consumed_uncertain: defaultdict[str, list[nodes.NodeNG]]
538+
to_consume: Consumption
539+
consumed: Consumption
540+
consumed_uncertain: Consumption
539541
scope_type: str
540542

541543

@@ -573,15 +575,15 @@ def __iter__(self) -> Iterator[Any]:
573575
return iter(self._atomic)
574576

575577
@property
576-
def to_consume(self) -> dict[str, list[nodes.NodeNG]]:
578+
def to_consume(self) -> Consumption:
577579
return self._atomic.to_consume
578580

579581
@property
580-
def consumed(self) -> dict[str, list[nodes.NodeNG]]:
582+
def consumed(self) -> Consumption:
581583
return self._atomic.consumed
582584

583585
@property
584-
def consumed_uncertain(self) -> defaultdict[str, list[nodes.NodeNG]]:
586+
def consumed_uncertain(self) -> Consumption:
585587
"""Retrieves nodes filtered out by get_next_to_consume() that may not
586588
have executed.
587589
@@ -3171,7 +3173,7 @@ def _check_module_attrs(
31713173
def _check_all(
31723174
self,
31733175
node: nodes.Module,
3174-
not_consumed: dict[str, list[nodes.NodeNG]],
3176+
not_consumed: Consumption,
31753177
) -> None:
31763178
try:
31773179
assigned = next(node.igetattr("__all__"))
@@ -3226,7 +3228,7 @@ def _check_all(
32263228
# when the file will be checked
32273229
pass
32283230

3229-
def _check_globals(self, not_consumed: dict[str, nodes.NodeNG]) -> None:
3231+
def _check_globals(self, not_consumed: Consumption) -> None:
32303232
if self._allow_global_unused_variables:
32313233
return
32323234
for name, node_lst in not_consumed.items():
@@ -3236,7 +3238,7 @@ def _check_globals(self, not_consumed: dict[str, nodes.NodeNG]) -> None:
32363238
self.add_message("unused-variable", args=(name,), node=node)
32373239

32383240
# pylint: disable = too-many-branches
3239-
def _check_imports(self, not_consumed: dict[str, list[nodes.NodeNG]]) -> None:
3241+
def _check_imports(self, not_consumed: Consumption) -> None:
32403242
local_names = _fix_dot_imports(not_consumed)
32413243
checked = set()
32423244
unused_wildcard_imports: defaultdict[
@@ -3328,7 +3330,7 @@ def _check_imports(self, not_consumed: dict[str, list[nodes.NodeNG]]) -> None:
33283330

33293331
def _check_metaclasses(self, node: nodes.Module | nodes.FunctionDef) -> None:
33303332
"""Update consumption analysis for metaclasses."""
3331-
consumed: list[tuple[dict[str, list[nodes.NodeNG]], str]] = []
3333+
consumed: list[tuple[Consumption, str]] = []
33323334

33333335
for child_node in node.get_children():
33343336
if isinstance(child_node, nodes.ClassDef):
@@ -3343,12 +3345,12 @@ def _check_classdef_metaclasses(
33433345
self,
33443346
klass: nodes.ClassDef,
33453347
parent_node: nodes.Module | nodes.FunctionDef,
3346-
) -> list[tuple[dict[str, list[nodes.NodeNG]], str]]:
3348+
) -> list[tuple[Consumption, str]]:
33473349
if not klass._metaclass:
33483350
# Skip if this class doesn't use explicitly a metaclass, but inherits it from ancestors
33493351
return []
33503352

3351-
consumed: list[tuple[dict[str, list[nodes.NodeNG]], str]] = []
3353+
consumed: list[tuple[Consumption, str]] = []
33523354
metaclass = klass.metaclass()
33533355
name = ""
33543356
if isinstance(klass._metaclass, nodes.Name):

0 commit comments

Comments
 (0)