From e7f13e818854a2f6b22b3d7e4a98615806c0ee91 Mon Sep 17 00:00:00 2001 From: timestee Date: Mon, 17 Jun 2019 13:54:28 +0800 Subject: [PATCH] add Number method to enum --- protoc-gen-go/generator/generator.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/protoc-gen-go/generator/generator.go b/protoc-gen-go/generator/generator.go index 6f4a902b5b..dd98068cd1 100644 --- a/protoc-gen-go/generator/generator.go +++ b/protoc-gen-go/generator/generator.go @@ -1419,6 +1419,11 @@ func (g *Generator) generateEnum(enum *EnumDescriptor) { g.P("}") g.P() + g.P("func (x ", ccTypeName, ") Number() int32 {") + g.P("return ", "int32(x)") + g.P("}") + g.P() + if !enum.proto3() { g.P("func (x *", ccTypeName, ") UnmarshalJSON(data []byte) error {") g.P("value, err := ", g.Pkg["proto"], ".UnmarshalJSONEnum(", ccTypeName, `_value, data, "`, ccTypeName, `")`)