From 982973f303e3d0431d9b79f89cdf2c8f1ee67bc0 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Thu, 1 Jul 2021 10:19:10 -0700 Subject: interpreter: use typed_pos_args for alias_target --- mesonbuild/interpreter/interpreter.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index baf2e9d..41cea44 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -1778,17 +1778,11 @@ This will become a hard error in the future.''' % kwargs['input'], location=self return tg @FeatureNew('alias_target', '0.52.0') + @typed_pos_args('alias_target', str, varargs=build.Target, min_varargs=1) @noKwargs - def func_alias_target(self, node, args, kwargs): - if len(args) < 2: - raise InvalidCode('alias_target takes at least 2 arguments.') - name = args[0] - if not isinstance(name, str): - raise InterpreterException('First argument must be a string.') - deps = listify(args[1:]) - for d in deps: - if not isinstance(d, (build.BuildTarget, build.CustomTarget)): - raise InterpreterException('Depends items must be build targets.') + def func_alias_target(self, node: mparser.BaseNode, args: T.Tuple[str, T.List[build.Target]], + kwargs: 'TYPE_kwargs') -> build.AliasTarget: + name, deps = args tg = build.AliasTarget(name, deps, self.subdir, self.subproject) self.add_target(name, tg) return tg -- cgit v1.1