Пример #1
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

        if f.__kwdefaults__:
            self.kwdefaults = can_dict(f.__kwdefaults__)
        else:
            self.kwdefaults = None

        if f.__annotations__:
            self.annotations = can_dict(f.__annotations__)
        else:
            self.annotations = 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 = []
Пример #2
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]
Пример #3
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])
Пример #4
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])
Пример #5
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 = []
Пример #6
0
    def __init__(self, f):
        # type: (object) -> object
        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 = []
Пример #7
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]