diff --git a/lisa/utils.py b/lisa/utils.py index e7427a8f7ce5dafa53eb4f8d9ed479ba087fe55a..119aa700ec086fba94ec89a53f00de6e8c97388d 100644 --- a/lisa/utils.py +++ b/lisa/utils.py @@ -2273,10 +2273,18 @@ def dispatch_kwargs(funcs, kwargs, call=True, allow_overlap=False): """ funcs = list(funcs) + def get_sig(f): + # If this is a method, we need to bind it to something to get rid + # of the "self" parameter. + if isinstance(f, UnboundMethodType): + f = f.__get__(0) + + return inspect.signature(f) + params = { func: { param.name - for param in inspect.signature(func).parameters.values() + for param in get_sig(func).parameters.values() if param.kind not in ( param.VAR_POSITIONAL, param.VAR_KEYWORD,