예제 #1
0
 def visit_withitem(self, node: ast.withitem) -> None:
     """Visits ``with`` and ``async with`` declarations."""
     if node.optional_vars:
         self._add_to_scope(
             cast(AnyWith, get_parent(node)),
             defs.extract_names(node.optional_vars),
         )
     self.generic_visit(node)
예제 #2
0
 def visit_withitem(self, node: ast.withitem) -> None:
     """Visits ``with`` and ``async with`` declarations."""
     if node.optional_vars:
         parent = cast(AnyWith, get_parent(node))
         names = defs.extract_names(node.optional_vars)
         self._scope(parent, names, is_local=False)
         self._outer_scope(parent, names)
     self.generic_visit(node)
예제 #3
0
    def visit_any_for(self, node: AnyFor) -> None:
        """
        Collects block nodes from loop definitions.

        Raises:
            BlockAndLocalOverlapViolation

        """
        names = defs.extract_names(node.target)
        self._scope(node, names, is_local=False)
        self._outer_scope(node, names)
        self.generic_visit(node)
예제 #4
0
 def visit_any_for(self, node: AnyFor) -> None:
     """Visit loops."""
     self._add_to_scope(node, defs.extract_names(node.target))
     self.generic_visit(node)