diff options
author | Claudiu Popa <pcmanticore@gmail.com> | 2019-09-23 09:33:00 +0200 |
---|---|---|
committer | Claudiu Popa <pcmanticore@gmail.com> | 2019-09-23 09:33:00 +0200 |
commit | 454c9bab1b40217b6844bede8017de4fcd310978 (patch) | |
tree | 95f0b3f4b86ec7cd6320fb6f46e4b5abf21ee091 | |
parent | b49c2817d19636ef8c9ad6e1f2894e7a62c16a76 (diff) | |
download | pylint-git-454c9bab1b40217b6844bede8017de4fcd310978.tar.gz |
Squash VariablesChecker3k into the general checker class
-rw-r--r-- | pylint/checkers/variables.py | 43 |
1 files changed, 17 insertions, 26 deletions
diff --git a/pylint/checkers/variables.py b/pylint/checkers/variables.py index a9b8d4f2b..86fc47e82 100644 --- a/pylint/checkers/variables.py +++ b/pylint/checkers/variables.py @@ -719,6 +719,8 @@ class VariablesChecker(BaseChecker): """leave module: check globals """ assert len(self._to_consume) == 1 + + self._check_metaclasses(node) not_consumed = self._to_consume.pop().to_consume # attempt to check for __all__ if defined if "__all__" in node.locals: @@ -833,6 +835,8 @@ class VariablesChecker(BaseChecker): def leave_functiondef(self, node): """leave function: check function's locals are consumed""" + self._check_metaclasses(node) + if node.type_comment_returns: self._store_type_annotation_node(node.type_comment_returns) if node.type_comment_args: @@ -1181,6 +1185,18 @@ class VariablesChecker(BaseChecker): except astroid.InferenceError: return + # listcomp have now also their scope + def visit_listcomp(self, node): + """visit dictcomp: update consumption analysis variable + """ + self._to_consume.append(NamesConsumer(node, "comprehension")) + + def leave_listcomp(self, _): + """leave dictcomp: update consumption analysis variable + """ + # do not check for not used locals here + self._to_consume.pop() + def leave_assign(self, node): self._store_type_annotation_names(node) @@ -1890,31 +1906,6 @@ class VariablesChecker(BaseChecker): self.add_message("unused-import", args=msg, node=stmt) del self._to_consume - -class VariablesChecker3k(VariablesChecker): - """Modified variables checker for 3k""" - - # listcomp have now also their scope - - def visit_listcomp(self, node): - """visit dictcomp: update consumption analysis variable - """ - self._to_consume.append(NamesConsumer(node, "comprehension")) - - def leave_listcomp(self, _): - """leave dictcomp: update consumption analysis variable - """ - # do not check for not used locals here - self._to_consume.pop() - - def leave_functiondef(self, node): - self._check_metaclasses(node) - super(VariablesChecker3k, self).leave_functiondef(node) - - def leave_module(self, node): - self._check_metaclasses(node) - super(VariablesChecker3k, self).leave_module(node) - def _check_metaclasses(self, node): """ Update consumption analysis for metaclasses. """ consumed = [] # [(scope_locals, consumed_key)] @@ -1973,4 +1964,4 @@ class VariablesChecker3k(VariablesChecker): def register(linter): """required method to auto register this checker""" - linter.register_checker(VariablesChecker3k(linter)) + linter.register_checker(VariablesChecker(linter)) |