Files
flatbuffers/tests/MyGame/Example/AnyAmbiguousAliases.go
David Reiss 718ddea558 [Go] Make enums into real types, add String() (#5235)
* [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
2019-05-17 12:41:39 -07:00

36 lines
920 B
Go

// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package Example
import "strconv"
type AnyAmbiguousAliases byte
const (
AnyAmbiguousAliasesNONE AnyAmbiguousAliases = 0
AnyAmbiguousAliasesM1 AnyAmbiguousAliases = 1
AnyAmbiguousAliasesM2 AnyAmbiguousAliases = 2
AnyAmbiguousAliasesM3 AnyAmbiguousAliases = 3
)
var EnumNamesAnyAmbiguousAliases = map[AnyAmbiguousAliases]string{
AnyAmbiguousAliasesNONE: "NONE",
AnyAmbiguousAliasesM1: "M1",
AnyAmbiguousAliasesM2: "M2",
AnyAmbiguousAliasesM3: "M3",
}
var EnumValuesAnyAmbiguousAliases = map[string]AnyAmbiguousAliases{
"NONE": AnyAmbiguousAliasesNONE,
"M1": AnyAmbiguousAliasesM1,
"M2": AnyAmbiguousAliasesM2,
"M3": AnyAmbiguousAliasesM3,
}
func (v AnyAmbiguousAliases) String() string {
if s, ok := EnumNamesAnyAmbiguousAliases[v]; ok {
return s
}
return "AnyAmbiguousAliases(" + strconv.FormatInt(int64(v), 10) + ")"
}