def visit_ifexp(self, node, parent): """visit a IfExp node by returning a fresh instance of it""" newnode = nodes.IfExp(node.lineno, node.col_offset, parent) newnode.postinit(self.visit(node.test, newnode), self.visit(node.body, newnode), self.visit(node.orelse, newnode)) return newnode
def visit_ifexp(self, node, parent): """visit a IfExp node by returning a fresh instance of it""" newnode = new.IfExp() _lineno_parent(node, newnode, parent) newnode.test = self.visit(node.test, newnode) newnode.body = self.visit(node.body, newnode) newnode.orelse = self.visit(node.orelse, newnode) return newnode
def ifexp_node(draw, test=const_node(hs.booleans()), expr=const_node(), orelse=const_node()): # TODO: Add an option for whether expr and orelse strategies produce the same type. test = draw(test) expr = draw(expr) node = nodes.IfExp() node.postinit(test, expr, expr) return node