256
|
1 |
// Copyright 2019 The Go Authors. All rights reserved. |
|
2 |
// Use of this source code is governed by a BSD-style |
|
3 |
// license that can be found in the LICENSE file. |
|
4 |
|
|
5 |
package impl |
|
6 |
|
|
7 |
import ( |
|
8 |
"reflect" |
|
9 |
|
260
|
10 |
"google.golang.org/protobuf/reflect/protoreflect" |
256
|
11 |
) |
|
12 |
|
|
13 |
type EnumInfo struct { |
|
14 |
GoReflectType reflect.Type // int32 kind |
260
|
15 |
Desc protoreflect.EnumDescriptor |
256
|
16 |
} |
|
17 |
|
260
|
18 |
func (t *EnumInfo) New(n protoreflect.EnumNumber) protoreflect.Enum { |
|
19 |
return reflect.ValueOf(n).Convert(t.GoReflectType).Interface().(protoreflect.Enum) |
256
|
20 |
} |
260
|
21 |
func (t *EnumInfo) Descriptor() protoreflect.EnumDescriptor { return t.Desc } |