Пример #1
0
 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
Пример #2
0
 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
Пример #3
0
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()]
Пример #4
0
 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