aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/interpreter.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2021-07-01 10:19:10 -0700
committerDylan Baker <dylan@pnwbakers.com>2021-07-07 11:21:04 -0700
commit982973f303e3d0431d9b79f89cdf2c8f1ee67bc0 (patch)
treebfe89c5baafccd7bb02723c5278e1dafbaf73a49 /mesonbuild/interpreter/interpreter.py
parent09d7da19c18d788e48cb46dbf10d791dabdf7eb9 (diff)
downloadmeson-982973f303e3d0431d9b79f89cdf2c8f1ee67bc0.zip
meson-982973f303e3d0431d9b79f89cdf2c8f1ee67bc0.tar.gz
meson-982973f303e3d0431d9b79f89cdf2c8f1ee67bc0.tar.bz2
interpreter: use typed_pos_args for alias_target
Diffstat (limited to 'mesonbuild/interpreter/interpreter.py')
-rw-r--r--mesonbuild/interpreter/interpreter.py14
1 files 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