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)
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)
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)
def visit_any_for(self, node: AnyFor) -> None: """Visit loops.""" self._add_to_scope(node, extract_names(node.target)) self.generic_visit(node)