all: remove use of deprecated NewMessage
Replace NewMessage calls with NewField, NewElement, or NewValue.
Change-Id: I6d2bb4f11f0eb2ba7a52308b1addb111137ad4b9
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/193266
Reviewed-by: Joe Tsai <joetsai@google.com>
diff --git a/encoding/bench_test.go b/encoding/bench_test.go
index 3b64aab..d5ae728 100644
--- a/encoding/bench_test.go
+++ b/encoding/bench_test.go
@@ -61,9 +61,9 @@
func setScalarField(m pref.Message, fd pref.FieldDescriptor, level int) {
switch fd.Kind() {
case pref.MessageKind, pref.GroupKind:
- m2 := m.NewMessage(fd)
- fillMessage(m2, level+1)
- m.Set(fd, pref.ValueOf(m2))
+ val := m.NewField(fd)
+ fillMessage(val.Message(), level+1)
+ m.Set(fd, val)
default:
m.Set(fd, scalarField(fd.Kind()))
}
@@ -109,9 +109,9 @@
switch fd.Kind() {
case pref.MessageKind, pref.GroupKind:
for i := 0; i < 10; i++ {
- m := list.NewMessage()
- fillMessage(m, level+1)
- list.Append(pref.ValueOf(m))
+ val := list.NewElement()
+ fillMessage(val.Message(), level+1)
+ list.Append(val)
}
default:
for i := 0; i < 100; i++ {
@@ -128,9 +128,9 @@
pkey := scalarField(keyDesc.Kind())
switch kind := valDesc.Kind(); kind {
case pref.MessageKind, pref.GroupKind:
- m := mmap.NewMessage()
- fillMessage(m, level+1)
- mmap.Set(pkey.MapKey(), pref.ValueOf(m))
+ val := mmap.NewValue()
+ fillMessage(val.Message(), level+1)
+ mmap.Set(pkey.MapKey(), val)
default:
mmap.Set(pkey.MapKey(), scalarField(kind))
}
diff --git a/encoding/protojson/decode.go b/encoding/protojson/decode.go
index 3e1deed..e8552f0 100644
--- a/encoding/protojson/decode.go
+++ b/encoding/protojson/decode.go
@@ -276,9 +276,8 @@
var err error
switch fd.Kind() {
case pref.MessageKind, pref.GroupKind:
- m2 := m.NewMessage(fd)
- err = o.unmarshalMessage(m2, false)
- val = pref.ValueOf(m2)
+ val = m.NewField(fd)
+ err = o.unmarshalMessage(val.Message(), false)
default:
val, err = o.unmarshalScalar(fd)
}
@@ -528,8 +527,8 @@
switch fd.Kind() {
case pref.MessageKind, pref.GroupKind:
for {
- m := list.NewMessage()
- err := o.unmarshalMessage(m, false)
+ val := list.NewElement()
+ err := o.unmarshalMessage(val.Message(), false)
if err != nil {
if e, ok := err.(unexpectedJSONError); ok {
if e.value.Type() == json.EndArray {
@@ -539,7 +538,7 @@
}
return err
}
- list.Append(pref.ValueOf(m))
+ list.Append(val)
}
default:
for {
@@ -575,11 +574,11 @@
switch fd.MapValue().Kind() {
case pref.MessageKind, pref.GroupKind:
unmarshalMapValue = func() (pref.Value, error) {
- m := mmap.NewMessage()
- if err := o.unmarshalMessage(m, false); err != nil {
+ val := mmap.NewValue()
+ if err := o.unmarshalMessage(val.Message(), false); err != nil {
return pref.Value{}, err
}
- return pref.ValueOf(m), nil
+ return val, nil
}
default:
unmarshalMapValue = func() (pref.Value, error) {
diff --git a/encoding/protojson/well_known_types.go b/encoding/protojson/well_known_types.go
index 77833d8..98094b5 100644
--- a/encoding/protojson/well_known_types.go
+++ b/encoding/protojson/well_known_types.go
@@ -587,19 +587,19 @@
case json.StartObject:
fd := m.Descriptor().Fields().ByNumber(fieldnum.Value_StructValue)
- m2 := m.NewMessage(fd)
- if err := o.unmarshalStruct(m2); err != nil {
+ val := m.NewField(fd)
+ if err := o.unmarshalStruct(val.Message()); err != nil {
return err
}
- m.Set(fd, pref.ValueOf(m2))
+ m.Set(fd, val)
case json.StartArray:
fd := m.Descriptor().Fields().ByNumber(fieldnum.Value_ListValue)
- m2 := m.NewMessage(fd)
- if err := o.unmarshalListValue(m2); err != nil {
+ val := m.NewField(fd)
+ if err := o.unmarshalListValue(val.Message()); err != nil {
return err
}
- m.Set(fd, pref.ValueOf(m2))
+ m.Set(fd, val)
default:
jval, err := o.decoder.Read()
diff --git a/encoding/prototext/decode.go b/encoding/prototext/decode.go
index 79e1eaf..1bf25c2 100644
--- a/encoding/prototext/decode.go
+++ b/encoding/prototext/decode.go
@@ -209,11 +209,10 @@
if input.Type() != text.Message {
return errors.New("%v contains invalid message/group value: %v", fd.FullName(), input)
}
- m2 := m.NewMessage(fd)
- if err := o.unmarshalMessage(input.Message(), m2); err != nil {
+ val = m.NewField(fd)
+ if err := o.unmarshalMessage(input.Message(), val.Message()); err != nil {
return err
}
- val = pref.ValueOf(m2)
default:
var err error
val, err = unmarshalScalar(input, fd)
@@ -299,11 +298,11 @@
if input.Type() != text.Message {
return errors.New("%v contains invalid message/group value: %v", fd.FullName(), input)
}
- m := list.NewMessage()
- if err := o.unmarshalMessage(input.Message(), m); err != nil {
+ val := list.NewElement()
+ if err := o.unmarshalMessage(input.Message(), val.Message()); err != nil {
return err
}
- list.Append(pref.ValueOf(m))
+ list.Append(val)
}
default:
for _, input := range inputList {
@@ -402,11 +401,11 @@
if input.Type() != 0 {
value = input.Message()
}
- m := mmap.NewMessage()
- if err := o.unmarshalMessage(value, m); err != nil {
+ val := mmap.NewValue()
+ if err := o.unmarshalMessage(value, val.Message()); err != nil {
return err
}
- mmap.Set(pkey, pref.ValueOf(m))
+ mmap.Set(pkey, val)
return nil
}
diff --git a/internal/cmd/generate-types/proto.go b/internal/cmd/generate-types/proto.go
index 1cd0ed7..17a8244 100644
--- a/internal/cmd/generate-types/proto.go
+++ b/internal/cmd/generate-types/proto.go
@@ -330,11 +330,11 @@
}
{{end -}}
{{if or (eq .Name "Message") (eq .Name "Group") -}}
- m := list.NewMessage()
- if err := o.unmarshalMessage(v, m); err != nil {
+ m := list.NewElement()
+ if err := o.unmarshalMessage(v, m.Message()); err != nil {
return 0, err
}
- list.Append(protoreflect.ValueOf(m))
+ list.Append(m)
{{- else -}}
list.Append({{.ToValue}})
{{- end}}
diff --git a/internal/impl/message_reflect_test.go b/internal/impl/message_reflect_test.go
index de73ff9..a836c89 100644
--- a/internal/impl/message_reflect_test.go
+++ b/internal/impl/message_reflect_test.go
@@ -1326,9 +1326,9 @@
v.Append(e)
}
case appendMessageList:
- m := v.NewMessage()
- v.Append(V(m))
- testMessage(t, p, m, messageOps(op))
+ e := v.NewElement()
+ v.Append(e)
+ testMessage(t, p, e.Message(), messageOps(op))
case truncList:
v.Truncate(int(op))
default:
@@ -1380,7 +1380,7 @@
for k, tt := range op {
mk := V(k).MapKey()
if !m.Has(mk) {
- m.Set(mk, V(m.NewMessage()))
+ m.Set(mk, m.NewValue())
}
testMessage(t, p, m.Get(mk).Message(), tt)
}
diff --git a/proto/decode.go b/proto/decode.go
index e5ecb3b..8974139 100644
--- a/proto/decode.go
+++ b/proto/decode.go
@@ -154,7 +154,7 @@
)
switch valField.Kind() {
case protoreflect.GroupKind, protoreflect.MessageKind:
- val = protoreflect.ValueOf(mapv.NewMessage())
+ val = mapv.NewValue()
}
// Map entries are represented as a two-element message with fields
// containing the key and value.
diff --git a/proto/decode_gen.go b/proto/decode_gen.go
index ce53dcd..61d5f8a 100644
--- a/proto/decode_gen.go
+++ b/proto/decode_gen.go
@@ -574,11 +574,11 @@
if n < 0 {
return 0, wire.ParseError(n)
}
- m := list.NewMessage()
- if err := o.unmarshalMessage(v, m); err != nil {
+ m := list.NewElement()
+ if err := o.unmarshalMessage(v, m.Message()); err != nil {
return 0, err
}
- list.Append(protoreflect.ValueOf(m))
+ list.Append(m)
return n, nil
case protoreflect.GroupKind:
if wtyp != wire.StartGroupType {
@@ -588,11 +588,11 @@
if n < 0 {
return 0, wire.ParseError(n)
}
- m := list.NewMessage()
- if err := o.unmarshalMessage(v, m); err != nil {
+ m := list.NewElement()
+ if err := o.unmarshalMessage(v, m.Message()); err != nil {
return 0, err
}
- list.Append(protoreflect.ValueOf(m))
+ list.Append(m)
return n, nil
default:
return 0, errUnknown
diff --git a/proto/merge.go b/proto/merge.go
index 7cea77d..8c31b3c 100644
--- a/proto/merge.go
+++ b/proto/merge.go
@@ -46,9 +46,9 @@
for i := 0; i < src.Len(); i++ {
switch v := src.Get(i); {
case fd.Message() != nil:
- m := dst.NewMessage()
- mergeMessage(m, v.Message())
- dst.Append(protoreflect.ValueOf(m))
+ dstv := dst.NewElement()
+ mergeMessage(dstv.Message(), v.Message())
+ dst.Append(dstv)
case fd.Kind() == protoreflect.BytesKind:
dst.Append(cloneBytes(v))
default:
@@ -61,9 +61,9 @@
src.Range(func(k protoreflect.MapKey, v protoreflect.Value) bool {
switch {
case fd.Message() != nil:
- m := dst.NewMessage()
- mergeMessage(m, v.Message())
- dst.Set(k, protoreflect.ValueOf(m)) // may replace existing entry
+ dstv := dst.NewValue()
+ mergeMessage(dstv.Message(), v.Message())
+ dst.Set(k, dstv) // may replace existing entry
case fd.Kind() == protoreflect.BytesKind:
dst.Set(k, cloneBytes(v))
default: