blob: ca14b09c34198a6fe908c7d296128529822db68a [file] [log] [blame]
amit.ghosh258d14c2020-10-02 15:13:38 +02001// 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}