def __init__(self, inst, parent): self.__name__ = "%s" % inst.__name__ self.log = SimLog("cocotb.coroutine.%s" % self.__name__, id(self)) self._coro = inst self._finished = False self._callbacks = [] self._join = _Join(self) self._parent = parent self.__doc__ = parent._func.__doc__ self.module = parent._func.__module__ self.funcname = parent._func.__name__ self.retval = None if not hasattr(self._coro, "send"): self.log.error("%s isn't a value coroutine! Did you use the yield keyword?" % self.__name__) raise CoroutineComplete(callback=self._finished_cb)
def __init__(self, inst, parent): if hasattr(inst, "__name__"): self.__name__ = "%s" % inst.__name__ self.log = SimLog("cocotb.coroutine.%s" % self.__name__, id(self)) else: self.log = SimLog("cocotb.coroutine.fail") self._coro = inst self._finished = False self._callbacks = [] self._join = _Join(self) self._parent = parent self.__doc__ = parent._func.__doc__ self.module = parent._func.__module__ self.funcname = parent._func.__name__ self.retval = None if not hasattr(self._coro, "send"): self.log.error("%s isn't a value coroutine! Did you use the yield keyword?" % self.funcname) raise CoroutineComplete(callback=self._finished_cb)