all: use typed variant of protoreflect.ValueOf
Change-Id: I7479632b57e7c8efade12a2eb2b855e9c321adb1
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/196037
Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/encoding/prototext/decode.go b/encoding/prototext/decode.go
index 2f2a0e9..27d23d3 100644
--- a/encoding/prototext/decode.go
+++ b/encoding/prototext/decode.go
@@ -256,53 +256,53 @@
switch kind := fd.Kind(); kind {
case pref.BoolKind:
if b, ok := input.Bool(); ok {
- return pref.ValueOf(bool(b)), nil
+ return pref.ValueOfBool(bool(b)), nil
}
case pref.Int32Kind, pref.Sint32Kind, pref.Sfixed32Kind:
if n, ok := input.Int(b32); ok {
- return pref.ValueOf(int32(n)), nil
+ return pref.ValueOfInt32(int32(n)), nil
}
case pref.Int64Kind, pref.Sint64Kind, pref.Sfixed64Kind:
if n, ok := input.Int(b64); ok {
- return pref.ValueOf(int64(n)), nil
+ return pref.ValueOfInt64(int64(n)), nil
}
case pref.Uint32Kind, pref.Fixed32Kind:
if n, ok := input.Uint(b32); ok {
- return pref.ValueOf(uint32(n)), nil
+ return pref.ValueOfUint32(uint32(n)), nil
}
case pref.Uint64Kind, pref.Fixed64Kind:
if n, ok := input.Uint(b64); ok {
- return pref.ValueOf(uint64(n)), nil
+ return pref.ValueOfUint64(uint64(n)), nil
}
case pref.FloatKind:
if n, ok := input.Float(b32); ok {
- return pref.ValueOf(float32(n)), nil
+ return pref.ValueOfFloat32(float32(n)), nil
}
case pref.DoubleKind:
if n, ok := input.Float(b64); ok {
- return pref.ValueOf(float64(n)), nil
+ return pref.ValueOfFloat64(float64(n)), nil
}
case pref.StringKind:
if input.Type() == text.String {
s := input.String()
if utf8.ValidString(s) {
- return pref.ValueOf(s), nil
+ return pref.ValueOfString(s), nil
}
return pref.Value{}, errors.InvalidUTF8(string(fd.FullName()))
}
case pref.BytesKind:
if input.Type() == text.String {
- return pref.ValueOf([]byte(input.String())), nil
+ return pref.ValueOfBytes([]byte(input.String())), nil
}
case pref.EnumKind:
// If input is int32, use directly.
if n, ok := input.Int(b32); ok {
- return pref.ValueOf(pref.EnumNumber(n)), nil
+ return pref.ValueOfEnum(pref.EnumNumber(n)), nil
}
if name, ok := input.Name(); ok {
// Lookup EnumNumber based on name.
if enumVal := fd.Enum().Values().ByName(name); enumVal != nil {
- return pref.ValueOf(enumVal.Number()), nil
+ return pref.ValueOfEnum(enumVal.Number()), nil
}
}
default:
@@ -488,8 +488,8 @@
fdType := fds.ByNumber(fieldnum.Any_TypeUrl)
fdValue := fds.ByNumber(fieldnum.Any_Value)
- m.Set(fdType, pref.ValueOf(typeURL))
- m.Set(fdValue, pref.ValueOf(b))
+ m.Set(fdType, pref.ValueOfString(typeURL))
+ m.Set(fdValue, pref.ValueOfBytes(b))
return nil
}