Beispiel #1
0
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])
Beispiel #2
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 = []
Beispiel #3
0
 def get_object(self, g=None):
     cell_contents = uncan(self.cell_contents, g)
     def inner():
         return cell_contents
     return py3compat.get_closure(inner)[0]