source: code/trunk/vendor/google.golang.org/protobuf/proto/proto.go@ 822

Last change on this file since 822 was 822, checked in by yakumo.izuru, 22 months ago

Prefer immortal.run over runit and rc.d, use vendored modules
for convenience.

Signed-off-by: Izuru Yakumo <yakumo.izuru@…>

File size: 1.4 KB
Line 
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
5package proto
6
7import (
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.
24type 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.
30var Error error
31
32func 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.
38func MessageName(m Message) protoreflect.FullName {
39 if m == nil {
40 return ""
41 }
42 return m.ProtoReflect().Descriptor().FullName()
43}
Note: See TracBrowser for help on using the repository browser.