aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/optinterpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2021-01-04 23:42:50 +0000
committerGitHub <noreply@github.com>2021-01-04 23:42:50 +0000
commitd47a5c81a9af992eca42d857477f2bb5821712b6 (patch)
tree9c9ff772c696661a1582dc81c86273e8d975a13f /mesonbuild/optinterpreter.py
parent6b515c432109cf7ab488da37cddeb1752e91fa5c (diff)
parentf14bf8b2ed052f68857ed3eaec08a326d335a3a4 (diff)
downloadmeson-d47a5c81a9af992eca42d857477f2bb5821712b6.zip
meson-d47a5c81a9af992eca42d857477f2bb5821712b6.tar.gz
meson-d47a5c81a9af992eca42d857477f2bb5821712b6.tar.bz2
Merge pull request #8080 from dcbaker/submit/option-key-type
Use an object for option keys
Diffstat (limited to 'mesonbuild/optinterpreter.py')
-rw-r--r--mesonbuild/optinterpreter.py7
1 files changed, 3 insertions, 4 deletions
diff --git a/mesonbuild/optinterpreter.py b/mesonbuild/optinterpreter.py
index 0b18f7e..dc8c3ce 100644
--- a/mesonbuild/optinterpreter.py
+++ b/mesonbuild/optinterpreter.py
@@ -137,7 +137,7 @@ option_types = {'string': string_parser,
class OptionInterpreter:
def __init__(self, subproject: str) -> None:
- self.options: T.Dict[str, coredata.UserOption] = {}
+ self.options: 'coredata.KeyedOptionDictType' = {}
self.subproject = subproject
def process(self, option_file: str) -> None:
@@ -227,8 +227,7 @@ class OptionInterpreter:
raise OptionException('Option names can only contain letters, numbers or dashes.')
if is_invalid_name(opt_name):
raise OptionException('Option name %s is reserved.' % opt_name)
- if self.subproject != '':
- opt_name = self.subproject + ':' + opt_name
+ key = mesonlib.OptionKey(opt_name, self.subproject)
if 'yield' in kwargs:
FeatureNew.single_use('option yield', '0.45.0', self.subproject)
@@ -248,4 +247,4 @@ class OptionInterpreter:
opt = option_types[opt_type](opt_name, description, kwargs)
if opt.description == '':
opt.description = opt_name
- self.options[opt_name] = opt
+ self.options[key] = opt