summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudiu Popa <pcmanticore@gmail.com>2019-09-23 09:33:00 +0200
committerClaudiu Popa <pcmanticore@gmail.com>2019-09-23 09:33:00 +0200
commit454c9bab1b40217b6844bede8017de4fcd310978 (patch)
tree95f0b3f4b86ec7cd6320fb6f46e4b5abf21ee091
parentb49c2817d19636ef8c9ad6e1f2894e7a62c16a76 (diff)
downloadpylint-git-454c9bab1b40217b6844bede8017de4fcd310978.tar.gz
Squash VariablesChecker3k into the general checker class
-rw-r--r--pylint/checkers/variables.py43
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))