all: fast-path method refactoring
Move all fast-path inputs and outputs into the Input/Output structs.
Collapse all booleans into bitfields.
Change-Id: I79ebfbac9cd1d8ef5ec17c4f955311db007391ca
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/219505
Reviewed-by: Joe Tsai <joetsai@google.com>
diff --git a/internal/impl/isinit.go b/internal/impl/isinit.go
index 63d1fa5..4bd978f 100644
--- a/internal/impl/isinit.go
+++ b/internal/impl/isinit.go
@@ -9,16 +9,17 @@
"google.golang.org/protobuf/internal/errors"
pref "google.golang.org/protobuf/reflect/protoreflect"
+ piface "google.golang.org/protobuf/runtime/protoiface"
)
-func (mi *MessageInfo) isInitialized(m pref.Message) error {
+func (mi *MessageInfo) isInitialized(in piface.IsInitializedInput) (piface.IsInitializedOutput, error) {
var p pointer
- if ms, ok := m.(*messageState); ok {
+ if ms, ok := in.Message.(*messageState); ok {
p = ms.pointer()
} else {
- p = m.(*messageReflectWrapper).pointer()
+ p = in.Message.(*messageReflectWrapper).pointer()
}
- return mi.isInitializedPointer(p)
+ return piface.IsInitializedOutput{}, mi.isInitializedPointer(p)
}
func (mi *MessageInfo) isInitializedPointer(p pointer) error {