dead_code.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:fatoptimizer 作者: vstinner 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号