diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-06-22 15:30:47 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2017-06-26 21:10:27 +0300 |
commit | 46e61971ce4d83bdea5363a57ae0820857d5843a (patch) | |
tree | cb34012d7cfc829812a933cd83ec70d04ac21673 /mesonbuild/interpreter.py | |
parent | ce9cd33f27e8605c2d7fc77c3c2f086b6ac530ae (diff) | |
download | meson-46e61971ce4d83bdea5363a57ae0820857d5843a.zip meson-46e61971ce4d83bdea5363a57ae0820857d5843a.tar.gz meson-46e61971ce4d83bdea5363a57ae0820857d5843a.tar.bz2 |
Decorator to check for permitted kwargs.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 7f279c1..0103883 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -26,7 +26,7 @@ from .mesonlib import FileMode, Popen_safe, get_meson_script from .dependencies import ExternalProgram from .dependencies import InternalDependency, Dependency, DependencyException from .interpreterbase import InterpreterBase -from .interpreterbase import check_stringlist, noPosargs, noKwargs, stringArgs +from .interpreterbase import check_stringlist, noPosargs, noKwargs, stringArgs, permittedKwargs from .interpreterbase import InterpreterException, InvalidArguments, InvalidCode from .interpreterbase import InterpreterObject, MutableInterpreterObject from .modules import ModuleReturnValue @@ -1214,6 +1214,11 @@ class MesonMain(InterpreterObject): return args[1] raise InterpreterException('Unknown cross property: %s.' % propname) + +permitted_kwargs = {'project': set(['version', 'meson_version', 'default_options', 'license', 'subproject_dir']), + } + + class Interpreter(InterpreterBase): def __init__(self, build, backend, subproject='', subdir='', subproject_dir='subprojects', @@ -1632,6 +1637,7 @@ class Interpreter(InterpreterBase): self.environment.cmd_line_options.projectoptions = newoptions @stringArgs + @permittedKwargs(permitted_kwargs['project']) def func_project(self, node, args, kwargs): if len(args) < 1: raise InvalidArguments('Not enough arguments to project(). Needs at least the project name.') |