def __typecheck__(self, func, to_check): if not isinstance(to_check, self.__cls): raise _TC_TypeError(to_check, self) for i, item in enumerate(to_check): try: check_type(self._type, func, item) except _TC_Exception, e: raise _TC_IterationError(i, item, e)
def __typecheck__(self, func, to_check): if not isinstance(to_check, self.__cls): raise _TC_TypeError(to_check, self) for i, item in enumerate(to_check): try: check_type(self._type, func, item) except _TC_Exception as e: raise _TC_IterationError(i, item, e)
def __typecheck__(self, func, to_check): if not isinstance(to_check, set): raise _TC_TypeError(to_check, self.type) if len(self._types) == 0 and len(to_check) > 0: raise _TC_LengthError(len(to_check), 0) for obj in to_check: error = False for type in self._types: try: check_type(type, func, obj) except _TC_Exception: error = True continue else: error = False break if error: raise _TC_KeyError(obj, _TC_TypeError(obj, self._type))