compile.py 文件源码

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

项目:opyum 作者: Amper 项目源码 文件源码
def from_ast(node: ast.AST, old_object, file: str = None):
    """

    :param node:
    :param old_object:
    :return:
    """

    if isinstance(old_object, types.CodeType):
        compiler = ast_to_code
    elif isinstance(old_object, types.ModuleType):
        compiler = ast_to_module
    elif isinstance(old_object, types.FunctionType):
        compiler = ast_to_func
    elif isinstance(old_object, types.MethodType):
        compiler = ast_to_method
    elif isinstance(old_object, str):
        compiler = ast_to_source
    elif isinstance(old_object, type):
        compiler = ast_to_class
    elif isinstance(old_object, ast.AST):
        compiler = ast_to_node
    elif old_object:
        raise TypeError('Unexpected type for node: {}'.format(str(type(node))))
    else:
        raise ValueError('Not specified value')

    result = compiler(node, old_object, file=file)
    return result
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号