aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreterbase.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-06-22 15:30:47 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2017-06-26 21:10:27 +0300
commit46e61971ce4d83bdea5363a57ae0820857d5843a (patch)
treecb34012d7cfc829812a933cd83ec70d04ac21673 /mesonbuild/interpreterbase.py
parentce9cd33f27e8605c2d7fc77c3c2f086b6ac530ae (diff)
downloadmeson-46e61971ce4d83bdea5363a57ae0820857d5843a.zip
meson-46e61971ce4d83bdea5363a57ae0820857d5843a.tar.gz
meson-46e61971ce4d83bdea5363a57ae0820857d5843a.tar.bz2
Decorator to check for permitted kwargs.
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