diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-06-17 00:08:20 +0200 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-06-18 23:48:33 +0200 |
commit | 8f997efc8bf492adccdf762da1e01cbc5e5450d7 (patch) | |
tree | 6dd6f2534e6b640956d28af944b37483a63aa401 /mesonbuild | |
parent | bad14b23d211df5185ea8820422ae7f0cfd92429 (diff) | |
download | meson-8f997efc8bf492adccdf762da1e01cbc5e5450d7.zip meson-8f997efc8bf492adccdf762da1e01cbc5e5450d7.tar.gz meson-8f997efc8bf492adccdf762da1e01cbc5e5450d7.tar.bz2 |
decorators: Add not_set_warning to KwargInfo
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/interpreterbase/decorators.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/interpreterbase/decorators.py b/mesonbuild/interpreterbase/decorators.py index 1033fea..5fe8653 100644 --- a/mesonbuild/interpreterbase/decorators.py +++ b/mesonbuild/interpreterbase/decorators.py @@ -294,6 +294,8 @@ class KwargInfo(T.Generic[_T]): meson it was deprecated in. :param since_values: a dictionary mapping a value to the version of meson it was added in. + :param not_set_warning: A warning messsage that is logged if the kwarg is not + set by the user. """ def __init__(self, name: str, types: T.Union[T.Type[_T], T.Tuple[T.Type[_T], ...], ContainerTypeInfo], @@ -304,7 +306,8 @@ class KwargInfo(T.Generic[_T]): deprecated: T.Optional[str] = None, deprecated_values: T.Optional[T.Dict[str, str]] = None, validator: T.Optional[T.Callable[[_T], T.Optional[str]]] = None, - convertor: T.Optional[T.Callable[[_T], TYPE_nvar]] = None): + convertor: T.Optional[T.Callable[[_T], TYPE_var]] = None, + not_set_warning: T.Optional[str] = None): self.name = name self.types = types self.required = required @@ -316,6 +319,7 @@ class KwargInfo(T.Generic[_T]): self.deprecated_values = deprecated_values self.validator = validator self.convertor = convertor + self.not_set_warning = not_set_warning def typed_kwargs(name: str, *types: KwargInfo) -> T.Callable[..., T.Any]: @@ -410,6 +414,8 @@ def typed_kwargs(name: str, *types: KwargInfo) -> T.Callable[..., T.Any]: kwargs[info.name] = info.types.container(info.default) else: kwargs[info.name] = info.default + if info.not_set_warning: + mlog.warning(info.not_set_warning) if info.convertor: kwargs[info.name] = info.convertor(kwargs[info.name]) |