utils.py 文件源码

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

项目:matchpy 作者: HPAC 项目源码 文件源码
def generic_visit(self, node):
        if self.last_node is not None and hasattr(node, 'col_offset'):
            enode = ast.Expression(self.last_node)
            lambda_code = compile(enode, '<unused>', 'eval')
            lines = self.lines[self.last_node.lineno-1:node.lineno]
            lines[-1] = lines[-1][:node.col_offset]
            lines[0] = lines[0][self.last_node.col_offset:]
            lambda_body_text = ' '.join(l.rstrip(' \t\\').strip() for l in lines)
            while lambda_body_text:
                try:
                    code = compile(lambda_body_text, '<unused>', 'eval')
                    if len(code.co_code) == len(lambda_code.co_code):
                        break
                except SyntaxError:
                    pass
                lambda_body_text = lambda_body_text[:-1]
            self.lambdas.append((lambda_code, lambda_body_text.strip()))
            self.last_node = None
        super().generic_visit(node)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号