def __init__(self, func): super().__init__() self.inst = func self.name = func.__name__ self.lineno = inspect.getsourcelines(func)[1] code = utils.clip_head(inspect.getsource(func)) self.analyze_args(func) self.ast = gast.ast_to_gast(ast.parse(code)).body[0]
def __init__(self, classinfo): super().__init__() members = inspect.getmembers(classinfo) init_func = [m[1] for m in members if m[0] == '__init__'] assert(len(init_func) == 1) func = init_func[0] self.inst = func self.name = func.__name__ self.lineno = inspect.getsourcelines(func)[1] self.classinfo = classinfo code = utils.clip_head(inspect.getsource(func)) self.analyze_args(func) self.ast = gast.ast_to_gast(ast.parse(code)).body[0]