interpreterobjects: use typed_pos_args for dependency.as_system_method

This commit is contained in:
Dylan Baker 2021-12-06 14:13:18 -08:00 committed by Eli Schwartz
parent 7537ec3299
commit 6ad772cb37
1 changed files with 3 additions and 11 deletions

View File

@ -508,17 +508,9 @@ class DependencyHolder(ObjectHolder[Dependency]):
@FeatureNew('dependency.as_system', '0.52.0') @FeatureNew('dependency.as_system', '0.52.0')
@noKwargs @noKwargs
def as_system_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> Dependency: @typed_pos_args('dependency.as_system', optargs=[str])
args = listify(args) def as_system_method(self, args: T.Tuple[T.Optional[str]], kwargs: TYPE_kwargs) -> Dependency:
new_is_system = 'system' return self.held_object.generate_system_dependency(args[0] or 'system')
if len(args) > 1:
raise InterpreterException('as_system takes only one optional value')
if len(args) == 1:
if not isinstance(args[0], str):
raise InterpreterException('as_system takes exactly one string parameter')
new_is_system = args[0]
new_dep = self.held_object.generate_system_dependency(new_is_system)
return new_dep
@FeatureNew('dependency.as_link_whole', '0.56.0') @FeatureNew('dependency.as_link_whole', '0.56.0')
@noKwargs @noKwargs