aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreterbase.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/interpreterbase.py')
-rw-r--r--mesonbuild/interpreterbase.py13
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