proto_methods.go 527 B

1234567891011121314151617181920
  1. // Copyright 2019 The Go Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. // The protoreflect build tag disables use of fast-path methods.
  5. // +build !protoreflect
  6. package proto
  7. import (
  8. "google.golang.org/protobuf/reflect/protoreflect"
  9. "google.golang.org/protobuf/runtime/protoiface"
  10. )
  11. func protoMethods(m protoreflect.Message) *protoiface.Methods {
  12. if x, ok := m.(protoiface.Methoder); ok {
  13. return x.ProtoMethods()
  14. }
  15. return nil
  16. }