aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2019-04-04 13:35:43 -0700
committerDylan Baker <dylan@pnwbakers.com>2019-04-04 15:02:20 -0700
commitc6060d795cfc9084505123bbb4004ccb112f0de3 (patch)
treed5afc447d7bd953f975edeb6302740a0f6f80677
parentd778a371ac3eb0bdb2bfde84d753722b576d5f14 (diff)
downloadmeson-c6060d795cfc9084505123bbb4004ccb112f0de3.zip
meson-c6060d795cfc9084505123bbb4004ccb112f0de3.tar.gz
meson-c6060d795cfc9084505123bbb4004ccb112f0de3.tar.bz2
coredata: remove get_builtin_options
This returns a list out of th keys of a dict. In both cases of use remaining though it's used for checking membership, checking for list membership, lists are O(n) lookup, while dicts are O(1), so removing the abstraction reduces typing and improves performance.
-rw-r--r--mesonbuild/coredata.py7
-rw-r--r--mesonbuild/optinterpreter.py2
2 files changed, 3 insertions, 6 deletions
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index 9002fd9..97094fb 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -508,7 +508,7 @@ class CoreData:
if subproject:
if not k.startswith(subproject + ':'):
continue
- elif k not in get_builtin_options():
+ elif k not in builtin_options:
if ':' in k:
continue
if optinterpreter.is_invalid_name(k):
@@ -654,11 +654,8 @@ def save(obj, build_dir):
os.replace(tempfilename, filename)
return filename
-def get_builtin_options():
- return list(builtin_options.keys())
-
def is_builtin_option(optname):
- return optname in get_builtin_options()
+ return optname in builtin_options
def get_builtin_option_choices(optname):
if is_builtin_option(optname):
diff --git a/mesonbuild/optinterpreter.py b/mesonbuild/optinterpreter.py
index 85f6897..2d60d10 100644
--- a/mesonbuild/optinterpreter.py
+++ b/mesonbuild/optinterpreter.py
@@ -20,7 +20,7 @@ from . import coredata
from . import mesonlib
from . import compilers
-forbidden_option_names = coredata.get_builtin_options()
+forbidden_option_names = set(coredata.builtin_options.keys())
forbidden_prefixes = [lang + '_' for lang in compilers.all_languages] + ['b_', 'backend_']
reserved_prefixes = ['cross_']