Remove unused defaults
This commit is contained in:
@@ -70,7 +70,7 @@ class GraphWalker:
|
||||
|
||||
if not dead_end:
|
||||
|
||||
for opt, _ in point.opt_args:
|
||||
for opt in point.opt_args:
|
||||
subg = cls.generate_callgraph_singletype(injectors,
|
||||
from_types,
|
||||
opt,
|
||||
|
||||
@@ -18,7 +18,7 @@ class ConversionPoint:
|
||||
fn: Callable
|
||||
injects: type
|
||||
requires: tuple[type, ...]
|
||||
opt_args: tuple[tuple[type, object], ...]
|
||||
opt_args: tuple[type, ...]
|
||||
|
||||
def __hash__(self):
|
||||
return hash((self.fn, self.injects, self.requires))
|
||||
@@ -67,15 +67,15 @@ class ConversionPoint:
|
||||
|
||||
orig_argtypes = []
|
||||
for argname, argtype in orig_args:
|
||||
orig_argtypes.append((argtype, argname in defaults.keys(), defaults.get(argname)))
|
||||
orig_argtypes.append((argtype, argname in defaults.keys()))
|
||||
|
||||
default_map: list[tuple[bool, object]] = []
|
||||
for argtype, has_default, default in orig_argtypes:
|
||||
default_map: list[bool] = []
|
||||
for argtype, has_default in orig_argtypes:
|
||||
if isinstance(argtype, types.UnionType) or get_origin(argtype) is Union:
|
||||
u_types = list(get_args(argtype)) + [argtype]
|
||||
else:
|
||||
u_types = [argtype]
|
||||
default_map.append((has_default, default))
|
||||
default_map.append(has_default)
|
||||
argtypes.append(u_types)
|
||||
|
||||
argtype_combinations = all_combinations(argtypes)
|
||||
@@ -83,9 +83,9 @@ class ConversionPoint:
|
||||
for argtype_combination in argtype_combinations:
|
||||
req_args = []
|
||||
opt_args = []
|
||||
for argt, (has_default, default) in zip(argtype_combination, default_map):
|
||||
for argt, has_default in zip(argtype_combination, default_map):
|
||||
if has_default:
|
||||
opt_args.append((argt, default))
|
||||
opt_args.append(argt)
|
||||
else:
|
||||
req_args.append(argt)
|
||||
ret.append(ConversionPoint(func, rettype, tuple(req_args), tuple(opt_args)))
|
||||
|
||||
@@ -36,7 +36,7 @@ class ConversionRenderData:
|
||||
argname = argmap[arg_id][0]
|
||||
fnargs.append((argname, hashname(argtype)))
|
||||
|
||||
for arg_id, (argtype, _) in enumerate(inj.opt_args, len(inj.requires)):
|
||||
for arg_id, argtype in enumerate(inj.opt_args, len(inj.requires)):
|
||||
argname = argmap[arg_id][0]
|
||||
if argtype in provided_types:
|
||||
fnargs.append((argname, hashname(argtype)))
|
||||
|
||||
Reference in New Issue
Block a user