diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2021-12-06 15:02:18 -0800 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2022-01-18 17:53:29 -0500 |
commit | 7641bfd0cee6daf320b98f7d1bf37e5b0c109a10 (patch) | |
tree | 22c67fd1395bc7467425fa7831c8fb3e93420761 /mesonbuild/interpreter/interpreterobjects.py | |
parent | f7cbe89a1381daa3b347ba91cd7f43e0c761829e (diff) | |
download | meson-7641bfd0cee6daf320b98f7d1bf37e5b0c109a10.zip meson-7641bfd0cee6daf320b98f7d1bf37e5b0c109a10.tar.gz meson-7641bfd0cee6daf320b98f7d1bf37e5b0c109a10.tar.bz2 |
interpreterobjects: use typed_* with configuration_data.merge_from
Diffstat (limited to 'mesonbuild/interpreter/interpreterobjects.py')
-rw-r--r-- | mesonbuild/interpreter/interpreterobjects.py | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py index b275050..9b8c1b2 100644 --- a/mesonbuild/interpreter/interpreterobjects.py +++ b/mesonbuild/interpreter/interpreterobjects.py @@ -393,15 +393,13 @@ class ConfigurationDataObject(MutableInterpreterObject, MesonInterpreterObject): def keys(self) -> T.List[str]: return list(self.conf_data.values.keys()) + @typed_pos_args('configuration_data.merge_from', object) # yay for recursive type validation! + @noKwargs def merge_from_method(self, args: T.List[TYPE_var], kwargs: TYPE_kwargs) -> None: - if len(args) != 1: - raise InterpreterException('Merge_from takes one positional argument.') - from_object_holder = args[0] - if not isinstance(from_object_holder, ConfigurationDataObject): + from_object = args[0] + if not isinstance(from_object, ConfigurationDataObject): raise InterpreterException('Merge_from argument must be a configuration data object.') - from_object = from_object_holder.conf_data - for k, v in from_object.values.items(): - self.conf_data.values[k] = v + self.conf_data.values.update(from_object.conf_data.values) _PARTIAL_DEP_KWARGS = [ |