diff options
author | Wenchao Xia <wenchaoqemu@gmail.com> | 2014-03-04 18:44:36 -0800 |
---|---|---|
committer | Luiz Capitulino <lcapitulino@redhat.com> | 2014-03-11 09:07:42 -0400 |
commit | b0b58195e4a3039b6a473124dc27ed707db50240 (patch) | |
tree | 062c3d5249606860f0779a2720cdea69c0f8ac13 /scripts/qapi.py | |
parent | 6299659f54420955419c4995283f7dd770367939 (diff) |
qapi script: use same function to generate enum string
Prior to this patch, qapi-visit.py used custom code to generate enum
names used for handling a qapi union. Fix it to instead reuse common
code, with identical generated results, and allowing future updates to
generation to only need to touch one place.
Signed-off-by: Wenchao Xia <wenchaoqemu@gmail.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Diffstat (limited to 'scripts/qapi.py')
-rw-r--r-- | scripts/qapi.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/scripts/qapi.py b/scripts/qapi.py index 0de9fe2cc5..eebc8a7061 100644 --- a/scripts/qapi.py +++ b/scripts/qapi.py @@ -468,12 +468,17 @@ def guardend(name): ''', name=guardname(name)) -def generate_enum_name(name): - if name.isupper(): - return c_fun(name, False) +def _generate_enum_value_string(value): + if value.isupper(): + return c_fun(value, False) new_name = '' - for c in c_fun(name, False): + for c in c_fun(value, False): if c.isupper(): new_name += '_' new_name += c return new_name.lstrip('_').upper() + +def generate_enum_full_value(enum_name, enum_value): + abbrev_string = de_camel_case(enum_name).upper() + value_string = _generate_enum_value_string(enum_value) + return "%s_%s" % (abbrev_string, value_string) |