Esempio n. 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)),
             extract_names(node.optional_vars),
         )
     self.generic_visit(node)
Esempio n. 2
0
    def visit_any_for(self, node: AnyFor) -> None:
        """
        Collects block nodes from loop definitions.

        Raises:
            BlockAndLocalOverlapViolation

        """
        names = extract_names(node.target)
        self._scope(node, names, is_local=False)
        self._outer_scope(node, names)
        self.generic_visit(node)
Esempio n. 3
0
    def visit_withitem(self, node: ast.withitem) -> None:
        """
        Visits ``with`` and ``async with`` declarations.

        Raises:
            BlockAndLocalOverlapViolation

        """
        if node.optional_vars:
            parent = cast(AnyWith, get_parent(node))
            names = extract_names(node.optional_vars)
            self._scope(parent, names, is_local=False)
            self._outer_scope(parent, names)
        self.generic_visit(node)
Esempio n. 4
0
 def visit_any_for(self, node: AnyFor) -> None:
     """Visit loops."""
     self._add_to_scope(node, extract_names(node.target))
     self.generic_visit(node)