• David Reiss's avatar
    [Go] Make enums into real types, add String() (#5235) · 718ddea5
    David Reiss authored
    * [Go] Make enums into real types, add String()
    
    This changes the generated code for enums: instead of type aliases,
    they're now distinct types, allowing for better type-checking. Some
    client code may have to be changed to add casts.
    
    Enum types now have a String() method, so they implement fmt.Stringer.
    
    An EnumValues map is now generated, in addition to the existing
    EnumNames map, to easily map strings to values.
    
    Generated enum files are now gofmt-clean.
    
    Fixes #5207
    
    * use example.ColorGreen explicitly
    
    * use valid enum value in mutation test, add new test for "invalid" enum
    
    * add length check and comment
    718ddea5
go_test.go 54.3 KB