diff options
Diffstat (limited to 'mesonbuild/interpreterbase.py')
-rw-r--r-- | mesonbuild/interpreterbase.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mesonbuild/interpreterbase.py b/mesonbuild/interpreterbase.py index fb87ea2..9753b25 100644 --- a/mesonbuild/interpreterbase.py +++ b/mesonbuild/interpreterbase.py @@ -55,6 +55,19 @@ def stringArgs(f): return f(self, node, args, kwargs) return wrapped +class permittedKwargs: + + def __init__(self, permitted): + self.permitted = permitted + + def __call__(self, f): + def wrapped(s, node, args, kwargs): + for k in kwargs: + if k not in self.permitted: + raise InvalidArguments('Invalid keyword argument %s.' % k) + return f(s, node, args, kwargs) + return wrapped + class InterpreterException(mesonlib.MesonException): pass |