def visit_if(self, node, parent): """visit an If node by returning a fresh instance of it""" newnode = nodes.If(node.lineno, node.col_offset, parent) newnode.postinit(self.visit(node.test, newnode), [self.visit(child, newnode) for child in node.body], [self.visit(child, newnode) for child in node.orelse]) return newnode
def visit_if(self, node, parent): """visit a If node by returning a fresh instance of it""" newnode = new.If() _lineno_parent(node, newnode, parent) newnode.test = self.visit(node.test, newnode) newnode.body = [self.visit(child, newnode) for child in node.body] newnode.orelse = [self.visit(child, newnode) for child in node.orelse] return newnode
def test_subscript_load_ctx(node): """Test visitor of Subscript node when loaded in an (if) expression.""" load_node = nodes.If() load_node.postinit(nodes.Const(True), [node], []) module, _ = cs._parse_text(load_node) for subscript_node in module.nodes_of_class(nodes.Subscript): list_node = subscript_node.value assert subscript_node.inf_type.getValue() == List[ list_node.elts[0].inf_type.getValue()]
def visit_if(self, node, parent): """visit an If node by returning a fresh instance of it""" newnode = nodes.If(node.lineno, node.col_offset, parent) body = nodes.Block( 'body', [self.visit(child, newnode) for child in node.body], newnode) orelse = nodes.Block( 'orelse', [self.visit(child, newnode) for child in node.orelse], newnode) has_elif_block = ( len(node.orelse) == 1 and type(node.orelse[0]).__name__ == 'If' and node.orelse[0].col_offset == node.orelse[0].test.col_offset) newnode.postinit( self.visit(node.test, newnode), body, orelse, has_elif_block) return newnode