coredata: pull get_builtin_option_choices into BuiltinOption

We can remove some guards here since we know the object will have
certain attributes.
pull/4931/head
Dylan Baker 6 years ago
parent 1e5496d1ba
commit 5aa2219f50
  1. 21
      mesonbuild/coredata.py

@ -654,18 +654,6 @@ def save(obj, build_dir):
os.replace(tempfilename, filename)
return filename
def get_builtin_option_choices(optname):
if optname in builtin_options:
b = builtin_options[optname]
if b.opt_type is UserBooleanOption:
return [True, False]
elif b.opt_type is UserFeatureOption:
return UserFeatureOption.static_choices
else:
return b.choices
else:
raise RuntimeError('Tried to get the supported values for an unknown builtin option \'%s\'.' % optname)
def get_builtin_option_default(optname, prefix=''):
if optname in builtin_options:
o = builtin_options[optname]
@ -693,7 +681,7 @@ def add_builtin_argument(p, name):
kwargs = {}
c = get_builtin_option_choices(name)
c = builtin.argparse_choices()
b = builtin.argparse_action()
h = builtin.description
if not b:
@ -770,6 +758,13 @@ class BuiltinOption(Generic[_U]):
return 'store_true'
return None
def argparse_choices(self) -> Any:
if self.opt_type is UserBooleanOption:
return [True, False]
elif self.opt_type is UserFeatureOption:
return UserFeatureOption.static_choices
return self.choices
builtin_options = {
'buildtype': BuiltinOption(UserComboOption, 'Build type to use', 'debug',

Loading…
Cancel
Save