aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreterbase
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2021-06-17 00:08:20 +0200
committerDaniel Mensinger <daniel@mensinger-ka.de>2021-06-18 23:48:33 +0200
commit8f997efc8bf492adccdf762da1e01cbc5e5450d7 (patch)
tree6dd6f2534e6b640956d28af944b37483a63aa401 /mesonbuild/interpreterbase
parentbad14b23d211df5185ea8820422ae7f0cfd92429 (diff)
downloadmeson-8f997efc8bf492adccdf762da1e01cbc5e5450d7.zip
meson-8f997efc8bf492adccdf762da1e01cbc5e5450d7.tar.gz
meson-8f997efc8bf492adccdf762da1e01cbc5e5450d7.tar.bz2
decorators: Add not_set_warning to KwargInfo
Diffstat (limited to 'mesonbuild/interpreterbase')
-rw-r--r--mesonbuild/interpreterbase/decorators.py8
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])