def _get_cell_type(a=None): """the type of a closure cell doesn't seem to be importable, so just create one """ def inner(): return a return type(py3compat.get_closure(inner)[0])
def __init__(self, f): self._check_type(f) self.code = f.__code__ if f.__defaults__: self.defaults = [ can(fd) for fd in f.__defaults__ ] else: self.defaults = None closure = py3compat.get_closure(f) if closure: self.closure = tuple( can(cell) for cell in closure ) else: self.closure = None self.module = f.__module__ or '__main__' self.__name__ = f.__name__ self.buffers = []
def get_object(self, g=None): cell_contents = uncan(self.cell_contents, g) def inner(): return cell_contents return py3compat.get_closure(inner)[0]