diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2020-12-02 10:48:35 -0800 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2021-01-04 12:15:41 -0800 |
commit | bdca05e2e66abbd872c17b8226641a2b8d018112 (patch) | |
tree | 05abd2b2aa6382e608bf9e665c34b58c309ecdee /mesonbuild/mesonlib.py | |
parent | 615686fd6dc39c517952c0f9f5fb208e913d8887 (diff) | |
download | meson-bdca05e2e66abbd872c17b8226641a2b8d018112.zip meson-bdca05e2e66abbd872c17b8226641a2b8d018112.tar.gz meson-bdca05e2e66abbd872c17b8226641a2b8d018112.tar.bz2 |
Add choices to OptionProxy
they're probably not strictly needed, but it makes mypy happy.
Diffstat (limited to 'mesonbuild/mesonlib.py')
-rw-r--r-- | mesonbuild/mesonlib.py | 5 |
1 files changed, 3 insertions, 2 deletions
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) |