def visit_If(self, node):
new_node = self._visit_if_while(node)
if new_node is not None:
return new_node
if node.orelse and is_empty_body(node.orelse):
self.log_node_removal("Remove dead code (empty else block of if)",
node.orelse)
new_node = copy_node(node)
del new_node.orelse[:]
node = new_node
if is_empty_body(node.body) and not is_empty_body(node.orelse):
self.log_node_removal("Remove dead code (empty if block)",
node.body)
new_node = copy_node(node)
not_test = ast.UnaryOp(op=ast.Not(), operand=node.test)
copy_lineno(node.test, not_test)
new_node = ast.If(test=not_test, body=new_node.orelse, orelse=[])
copy_lineno(node, new_node)
return new_node
return node
评论列表
文章目录