From bdca05e2e66abbd872c17b8226641a2b8d018112 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Wed, 2 Dec 2020 10:48:35 -0800 Subject: Add choices to OptionProxy they're probably not strictly needed, but it makes mypy happy. --- mesonbuild/mesonlib.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'mesonbuild/mesonlib.py') diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py index f73778e..805e679 100644 --- a/mesonbuild/mesonlib.py +++ b/mesonbuild/mesonlib.py @@ -1738,8 +1738,9 @@ def run_once(func: T.Callable[..., _T]) -> T.Callable[..., _T]: class OptionProxy(T.Generic[_T]): - def __init__(self, value: _T): + def __init__(self, value: _T, choices: T.Optional[T.List[str]] = None): self.value = value + self.choices = choices class OptionOverrideProxy(collections.abc.MutableMapping): @@ -1761,7 +1762,7 @@ class OptionOverrideProxy(collections.abc.MutableMapping): if key in self.options: opt = self.options[key] if key in self.overrides: - return OptionProxy(opt.validate_value(self.overrides[key])) + return OptionProxy(opt.validate_value(self.overrides[key]), getattr(opt, 'choices', None)) return opt raise KeyError('Option not found', key) -- cgit v1.1