def _warn_argname(msg, func, slf, clsm, cls=None, warn_tp=pytypes.exceptions.TypeWarning):
if not pytypes.warn_argnames:
return
if cls is None:
if slf or clsm:
try:
cls_name = get_class_that_defined_method(func).__name__
except:
cls_name = '<unknown class>'
else:
cls_name = None
else:
cls_name = cls.__name__
tb = traceback.extract_stack()
off = _calc_traceback_list_offset(tb)
if cls_name is None:
_msg = '%s: %s.%s'%(msg, func.__module__, func.__name__)
else:
_msg = '%s: %s.%s.%s'%(msg, func.__module__, cls_name, func.__name__)
warn_explicit(_msg, warn_tp, tb[off][0], tb[off][1])
评论列表
文章目录