diff options
Diffstat (limited to 'pyflakes/checker.py')
-rw-r--r-- | pyflakes/checker.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/pyflakes/checker.py b/pyflakes/checker.py index 135ad33..6fafe89 100644 --- a/pyflakes/checker.py +++ b/pyflakes/checker.py @@ -275,7 +275,8 @@ def iter_child_nodes(node, omit=None, _fields_order=_FieldsOrder()): yield field elif isinstance(field, list): for item in field: - yield item + if isinstance(item, ast.AST): + yield item def convert_to_value(item): @@ -691,6 +692,8 @@ def getNodeName(node): return node.id if hasattr(node, 'name'): # an ExceptHandler node return node.name + if hasattr(node, 'rest'): # a MatchMapping node + return node.rest TYPING_MODULES = frozenset(('typing', 'typing_extensions')) @@ -2378,3 +2381,12 @@ class Checker(object): left = right self.handleChildren(node) + + MATCH = MATCH_CASE = MATCHCLASS = MATCHOR = MATCHSEQUENCE = handleChildren + MATCHSINGLETON = MATCHVALUE = handleChildren + + def _match_target(self, node): + self.handleNodeStore(node) + self.handleChildren(node) + + MATCHAS = MATCHMAPPING = MATCHSTAR = _match_target |