Support name and number accessors on enum values #120
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, Protobuf enum values have a
String()
method defined, which provides a human-readable representation of the value withstr(...)
in Starlark, including the value's name and number (index). However, there is no interface to retrieve only the name and number of an enum value for use in Skycfg programs.This PR proposes augmenting the enum value type with two attributes,
name
andnumber
, which expose the enum value descriptor's name and number, respectively.This enables a definition like:
to be used in Skycfg like:
I added unit tests to cover the new logic (as well as some additional tests to cover existing logic for the
str(...)
representation of values).