def _visit_if_while(self, node):
if not self.config.remove_dead_code:
return
if not isinstance(node.test, ast.Constant):
return
test_true = bool(node.test.value)
if test_true:
if isinstance(node, ast.While):
# while of 'while 1: ...' must not be removed
return
new_nodes = node.body
removed_nodes = node.orelse
reason = "test always true"
else:
new_nodes = node.orelse
removed_nodes = node.body
reason = "test always false"
if not can_remove(removed_nodes):
return
self.log_node_removal("Remove dead code (%s)" % reason,
removed_nodes)
return self._replace_node(node, new_nodes)
评论列表
文章目录