示例#1
0
 def visit_with(self, node, parent):
     newnode = nodes.With(node.lineno, node.col_offset, parent)
     expr = self.visit(node.context_expr, newnode)
     if node.optional_vars is not None:
         optional_vars = self.visit(node.optional_vars, newnode)
     else:
         optional_vars = None
     newnode.postinit([(expr, optional_vars)],
                      [self.visit(child, newnode) for child in node.body])
     return newnode
示例#2
0
 def visit_with(self, node, parent):
     newnode = new.With()
     _lineno_parent(node, newnode, parent)
     expr = self.visit(node.context_expr, newnode)
     self.asscontext = "Ass"
     if node.optional_vars is not None:
         vars = self.visit(node.optional_vars, newnode)
     else:
         vars = None
     self.asscontext = None
     newnode.items = [(expr, vars)]
     newnode.body = [self.visit(child, newnode) for child in node.body]
     return newnode
示例#3
0
    def visit_with(self, node, parent):
        newnode = nodes.With(node.lineno, node.col_offset, parent)
        expr = self.visit(node.context_expr, newnode)
        if node.optional_vars is not None:
            optional_vars = self.visit(node.optional_vars, newnode)
        else:
            optional_vars = None

        type_annotation = self.check_type_comment(node)
        newnode.postinit(
            items=[(expr, optional_vars)],
            body=[self.visit(child, newnode) for child in node.body],
            type_annotation=type_annotation,
        )
        return newnode
示例#4
0
    def visit_with(self, node, parent):
        if 'items' not in node._fields:
            # python < 3.3
            return super(TreeRebuilder3k, self).visit_with(node, parent)

        newnode = new.With()
        _lineno_parent(node, newnode, parent)
        def visit_child(child):
            expr = self.visit(child.context_expr, newnode)
            self.asscontext = 'Ass'
            if child.optional_vars:
                var = self.visit(child.optional_vars, newnode)
            else:
                var = None
            self.asscontext = None
            return expr, var
        newnode.items = [visit_child(child)
                         for child in node.items]
        newnode.body = [self.visit(child, newnode) for child in node.body]
        return newnode