gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

proto.go (1391B)


      1 // Copyright 2018 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 
      5 package proto
      6 
      7 import (
      8 	"google.golang.org/protobuf/internal/errors"
      9 	"google.golang.org/protobuf/reflect/protoreflect"
     10 )
     11 
     12 // Message is the top-level interface that all messages must implement.
     13 // It provides access to a reflective view of a message.
     14 // Any implementation of this interface may be used with all functions in the
     15 // protobuf module that accept a Message, except where otherwise specified.
     16 //
     17 // This is the v2 interface definition for protobuf messages.
     18 // The v1 interface definition is "github.com/golang/protobuf/proto".Message.
     19 //
     20 // To convert a v1 message to a v2 message,
     21 // use "github.com/golang/protobuf/proto".MessageV2.
     22 // To convert a v2 message to a v1 message,
     23 // use "github.com/golang/protobuf/proto".MessageV1.
     24 type Message = protoreflect.ProtoMessage
     25 
     26 // Error matches all errors produced by packages in the protobuf module.
     27 //
     28 // That is, errors.Is(err, Error) reports whether an error is produced
     29 // by this module.
     30 var Error error
     31 
     32 func init() {
     33 	Error = errors.Error
     34 }
     35 
     36 // MessageName returns the full name of m.
     37 // If m is nil, it returns an empty string.
     38 func MessageName(m Message) protoreflect.FullName {
     39 	if m == nil {
     40 		return ""
     41 	}
     42 	return m.ProtoReflect().Descriptor().FullName()
     43 }