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/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) {