all: rename IsInitialized as CheckInitialized
An Is prefix implies it returns a boolean.
A Check prefix better suggests that it could return an error.
Change-Id: I6ffcb32099a944c656c07654c294a0980efb2d0e
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/220338
Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/encoding/protojson/decode.go b/encoding/protojson/decode.go
index 4d13d77..71c755c 100644
--- a/encoding/protojson/decode.go
+++ b/encoding/protojson/decode.go
@@ -75,7 +75,7 @@
if o.AllowPartial {
return nil
}
- return proto.IsInitialized(m)
+ return proto.CheckInitialized(m)
}
type decoder struct {
diff --git a/encoding/protojson/encode.go b/encoding/protojson/encode.go
index b8c4aa2..243d158 100644
--- a/encoding/protojson/encode.go
+++ b/encoding/protojson/encode.go
@@ -123,7 +123,7 @@
if o.AllowPartial {
return enc.Bytes(), nil
}
- return enc.Bytes(), proto.IsInitialized(m)
+ return enc.Bytes(), proto.CheckInitialized(m)
}
type encoder struct {
diff --git a/encoding/prototext/decode.go b/encoding/prototext/decode.go
index 9dea257..cde2c20 100644
--- a/encoding/prototext/decode.go
+++ b/encoding/prototext/decode.go
@@ -66,7 +66,7 @@
if o.AllowPartial {
return nil
}
- return proto.IsInitialized(m)
+ return proto.CheckInitialized(m)
}
type decoder struct {
diff --git a/encoding/prototext/encode.go b/encoding/prototext/encode.go
index 43bd50a..7801791 100644
--- a/encoding/prototext/encode.go
+++ b/encoding/prototext/encode.go
@@ -118,7 +118,7 @@
if o.AllowPartial {
return out, nil
}
- return out, proto.IsInitialized(m)
+ return out, proto.CheckInitialized(m)
}
type encoder struct {
diff --git a/internal/fuzz/wirefuzz/fuzz.go b/internal/fuzz/wirefuzz/fuzz.go
index 01463f8..0c08466 100644
--- a/internal/fuzz/wirefuzz/fuzz.go
+++ b/internal/fuzz/wirefuzz/fuzz.go
@@ -39,7 +39,7 @@
default:
panic("unmarshal ok with validation status: " + valid.String())
}
- if proto.IsInitialized(m1) != nil && vinit {
+ if proto.CheckInitialized(m1) != nil && vinit {
panic("validation reports partial message is initialized")
}
data1, err := proto.MarshalOptions{
diff --git a/internal/impl/isinit.go b/internal/impl/checkinit.go
similarity index 92%
rename from internal/impl/isinit.go
rename to internal/impl/checkinit.go
index 4bd978f..b82341e 100644
--- a/internal/impl/isinit.go
+++ b/internal/impl/checkinit.go
@@ -12,17 +12,17 @@
piface "google.golang.org/protobuf/runtime/protoiface"
)
-func (mi *MessageInfo) isInitialized(in piface.IsInitializedInput) (piface.IsInitializedOutput, error) {
+func (mi *MessageInfo) checkInitialized(in piface.CheckInitializedInput) (piface.CheckInitializedOutput, error) {
var p pointer
if ms, ok := in.Message.(*messageState); ok {
p = ms.pointer()
} else {
p = in.Message.(*messageReflectWrapper).pointer()
}
- return piface.IsInitializedOutput{}, mi.isInitializedPointer(p)
+ return piface.CheckInitializedOutput{}, mi.checkInitializedPointer(p)
}
-func (mi *MessageInfo) isInitializedPointer(p pointer) error {
+func (mi *MessageInfo) checkInitializedPointer(p pointer) error {
mi.init()
if !mi.needsInitCheck {
return nil
diff --git a/internal/impl/codec_field.go b/internal/impl/codec_field.go
index bc998d3..6204e65 100644
--- a/internal/impl/codec_field.go
+++ b/internal/impl/codec_field.go
@@ -167,7 +167,7 @@
if !ok {
return nil
}
- return proto.IsInitialized(m)
+ return proto.CheckInitialized(m)
},
merge: func(dst, src pointer, f *coderFieldInfo, opts mergeOptions) {
sm, ok := src.WeakFields().get(f.num)
@@ -219,7 +219,7 @@
},
isInit: func(p pointer, f *coderFieldInfo) error {
m := asMessage(p.AsValueOf(ft).Elem())
- return proto.IsInitialized(m)
+ return proto.CheckInitialized(m)
},
merge: mergeMessage,
}
@@ -257,7 +257,7 @@
}
func isInitMessageInfo(p pointer, f *coderFieldInfo) error {
- return f.mi.isInitializedPointer(p.Elem())
+ return f.mi.checkInitializedPointer(p.Elem())
}
func sizeMessage(m proto.Message, tagsize int, _ marshalOptions) int {
@@ -307,7 +307,7 @@
func isInitMessageValue(v pref.Value) error {
m := v.Message().Interface()
- return proto.IsInitialized(m)
+ return proto.CheckInitialized(m)
}
var coderMessageValue = valueCoderFuncs{
@@ -374,7 +374,7 @@
},
isInit: func(p pointer, f *coderFieldInfo) error {
m := asMessage(p.AsValueOf(ft).Elem())
- return proto.IsInitialized(m)
+ return proto.CheckInitialized(m)
},
merge: mergeMessage,
}
@@ -509,7 +509,7 @@
func isInitMessageSliceInfo(p pointer, f *coderFieldInfo) error {
s := p.PointerSlice()
for _, v := range s {
- if err := f.mi.isInitializedPointer(v); err != nil {
+ if err := f.mi.checkInitializedPointer(v); err != nil {
return err
}
}
@@ -567,7 +567,7 @@
s := p.PointerSlice()
for _, v := range s {
m := asMessage(v.AsValueOf(goType.Elem()))
- if err := proto.IsInitialized(m); err != nil {
+ if err := proto.CheckInitialized(m); err != nil {
return err
}
}
@@ -629,7 +629,7 @@
list := listv.List()
for i, llen := 0, list.Len(); i < llen; i++ {
m := list.Get(i).Message().Interface()
- if err := proto.IsInitialized(m); err != nil {
+ if err := proto.CheckInitialized(m); err != nil {
return err
}
}
diff --git a/internal/impl/codec_map.go b/internal/impl/codec_map.go
index dfeb944..dd5f8c7 100644
--- a/internal/impl/codec_map.go
+++ b/internal/impl/codec_map.go
@@ -320,7 +320,7 @@
iter := mapRange(mapv)
for iter.Next() {
val := pointerOfValue(iter.Value())
- if err := mi.isInitializedPointer(val); err != nil {
+ if err := mi.checkInitializedPointer(val); err != nil {
return err
}
}
diff --git a/internal/impl/codec_message.go b/internal/impl/codec_message.go
index 08f4d5a..a86468a 100644
--- a/internal/impl/codec_message.go
+++ b/internal/impl/codec_message.go
@@ -148,8 +148,8 @@
mi.methods.Flags |= piface.SupportUnmarshalDiscardUnknown
mi.methods.Unmarshal = mi.unmarshal
}
- if mi.methods.IsInitialized == nil {
- mi.methods.IsInitialized = mi.isInitialized
+ if mi.methods.CheckInitialized == nil {
+ mi.methods.CheckInitialized = mi.checkInitialized
}
if mi.methods.Merge == nil {
mi.methods.Merge = mi.merge
diff --git a/proto/isinit.go b/proto/checkinit.go
similarity index 61%
rename from proto/isinit.go
rename to proto/checkinit.go
index c6cde59..ca2124d 100644
--- a/proto/isinit.go
+++ b/proto/checkinit.go
@@ -10,23 +10,28 @@
"google.golang.org/protobuf/runtime/protoiface"
)
-// IsInitialized returns an error if any required fields in m are not set.
+// Deprecated: Use CheckInitialized instead.
func IsInitialized(m Message) error {
- return isInitialized(m.ProtoReflect())
+ return CheckInitialized(m)
}
-// IsInitialized returns an error if any required fields in m are not set.
-func isInitialized(m protoreflect.Message) error {
- if methods := protoMethods(m); methods != nil && methods.IsInitialized != nil {
- _, err := methods.IsInitialized(protoiface.IsInitializedInput{
+// CheckInitialized returns an error if any required fields in m are not set.
+func CheckInitialized(m Message) error {
+ return checkInitialized(m.ProtoReflect())
+}
+
+// CheckInitialized returns an error if any required fields in m are not set.
+func checkInitialized(m protoreflect.Message) error {
+ if methods := protoMethods(m); methods != nil && methods.CheckInitialized != nil {
+ _, err := methods.CheckInitialized(protoiface.CheckInitializedInput{
Message: m,
})
return err
}
- return isInitializedSlow(m)
+ return checkInitializedSlow(m)
}
-func isInitializedSlow(m protoreflect.Message) error {
+func checkInitializedSlow(m protoreflect.Message) error {
md := m.Descriptor()
fds := md.Fields()
for i, nums := 0, md.RequiredNumbers(); i < nums.Len(); i++ {
@@ -43,21 +48,21 @@
return true
}
for i, list := 0, v.List(); i < list.Len() && err == nil; i++ {
- err = isInitialized(list.Get(i).Message())
+ err = checkInitialized(list.Get(i).Message())
}
case fd.IsMap():
if fd.MapValue().Message() == nil {
return true
}
v.Map().Range(func(key protoreflect.MapKey, v protoreflect.Value) bool {
- err = isInitialized(v.Message())
+ err = checkInitialized(v.Message())
return err == nil
})
default:
if fd.Message() == nil {
return true
}
- err = isInitialized(v.Message())
+ err = checkInitialized(v.Message())
}
return err == nil
})
diff --git a/proto/isinit_test.go b/proto/checkinit_test.go
similarity index 90%
rename from proto/isinit_test.go
rename to proto/checkinit_test.go
index 8d8b1b6..29c9a9a 100644
--- a/proto/isinit_test.go
+++ b/proto/checkinit_test.go
@@ -17,7 +17,7 @@
weakpb "google.golang.org/protobuf/internal/testprotos/test/weak1"
)
-func TestIsInitializedErrors(t *testing.T) {
+func TestCheckInitializedErrors(t *testing.T) {
type test struct {
m proto.Message
want string
@@ -76,13 +76,13 @@
t.SkipNow()
}
- err := proto.IsInitialized(tt.m)
+ err := proto.CheckInitialized(tt.m)
got := "<nil>"
if err != nil {
got = fmt.Sprintf("%q", err)
}
if !strings.Contains(got, tt.want) {
- t.Errorf("IsInitialized(m):\n got: %v\nwant contains: %v\nMessage:\n%v", got, tt.want, prototext.Format(tt.m))
+ t.Errorf("CheckInitialized(m):\n got: %v\nwant contains: %v\nMessage:\n%v", got, tt.want, prototext.Format(tt.m))
}
})
}
diff --git a/proto/decode.go b/proto/decode.go
index 14afa29..30fd529 100644
--- a/proto/decode.go
+++ b/proto/decode.go
@@ -95,7 +95,7 @@
if allowPartial || (out.Flags&protoiface.UnmarshalInitialized != 0) {
return out, nil
}
- return out, isInitialized(m)
+ return out, checkInitialized(m)
}
func (o UnmarshalOptions) unmarshalMessage(b []byte, m protoreflect.Message) error {
diff --git a/proto/doc.go b/proto/doc.go
index e1d13d7..c52d8c4 100644
--- a/proto/doc.go
+++ b/proto/doc.go
@@ -43,7 +43,7 @@
//
// • Reset clears the content of a message.
//
-// • IsInitialized reports whether all required fields in a message are set.
+// • CheckInitialized reports whether all required fields in a message are set.
//
//
// Optional scalar constructors
diff --git a/proto/encode.go b/proto/encode.go
index 950556f..2a8e895 100644
--- a/proto/encode.go
+++ b/proto/encode.go
@@ -136,7 +136,7 @@
if allowPartial {
return out, nil
}
- return out, isInitialized(m)
+ return out, checkInitialized(m)
}
func (o MarshalOptions) marshalMessage(b []byte, m protoreflect.Message) ([]byte, error) {
diff --git a/proto/methods_test.go b/proto/methods_test.go
index e231e29..6809f04 100644
--- a/proto/methods_test.go
+++ b/proto/methods_test.go
@@ -131,7 +131,7 @@
}
}
-func TestDecodeFastIsInitialized(t *testing.T) {
+func TestDecodeFastCheckInitialized(t *testing.T) {
for _, test := range testValidMessages {
if !test.checkFastInit {
continue
diff --git a/reflect/protoreflect/methods.go b/reflect/protoreflect/methods.go
index 57fc014..6be5d16 100644
--- a/reflect/protoreflect/methods.go
+++ b/reflect/protoreflect/methods.go
@@ -17,12 +17,12 @@
type (
methods = struct {
pragma.NoUnkeyedLiterals
- Flags supportFlags
- Size func(sizeInput) sizeOutput
- Marshal func(marshalInput) (marshalOutput, error)
- Unmarshal func(unmarshalInput) (unmarshalOutput, error)
- Merge func(mergeInput) mergeOutput
- IsInitialized func(isInitializedInput) (isInitializedOutput, error)
+ Flags supportFlags
+ Size func(sizeInput) sizeOutput
+ Marshal func(marshalInput) (marshalOutput, error)
+ Unmarshal func(unmarshalInput) (unmarshalOutput, error)
+ Merge func(mergeInput) mergeOutput
+ CheckInitialized func(checkInitializedInput) (checkInitializedOutput, error)
}
supportFlags = uint64
sizeInput = struct {
@@ -67,11 +67,11 @@
pragma.NoUnkeyedLiterals
Flags uint8
}
- isInitializedInput = struct {
+ checkInitializedInput = struct {
pragma.NoUnkeyedLiterals
Message Message
}
- isInitializedOutput = struct {
+ checkInitializedOutput = struct {
pragma.NoUnkeyedLiterals
}
)
diff --git a/runtime/protoiface/methods.go b/runtime/protoiface/methods.go
index 1a0baa7..aeaf80a 100644
--- a/runtime/protoiface/methods.go
+++ b/runtime/protoiface/methods.go
@@ -37,8 +37,8 @@
// Merge merges the contents of a source message into a destination message.
Merge func(MergeInput) MergeOutput
- // IsInitialized returns an error if any required fields in the message are not set.
- IsInitialized func(IsInitializedInput) (IsInitializedOutput, error)
+ // CheckInitialized returns an error if any required fields in the message are not set.
+ CheckInitialized func(CheckInitializedInput) (CheckInitializedOutput, error)
}
// SupportFlags indicate support for optional features.
@@ -154,14 +154,14 @@
MergeComplete MergeOutputFlags = 1 << iota
)
-// IsInitializedInput is input to the IsInitialized method.
-type IsInitializedInput = struct {
+// CheckInitializedInput is input to the CheckInitialized method.
+type CheckInitializedInput = struct {
pragma.NoUnkeyedLiterals
Message protoreflect.Message
}
-// IsInitializedOutput is output from the IsInitialized method.
-type IsInitializedOutput = struct {
+// CheckInitializedOutput is output from the CheckInitialized method.
+type CheckInitializedOutput = struct {
pragma.NoUnkeyedLiterals
}