mirror of
https://github.com/protocolbuffers/protobuf-go.git
synced 2025-01-01 11:58:21 +00:00
4fddebafc0
As a goal, v2 should not depend on v1. As another step towards that end, we move all the types that used to be in the v1 protoapi package over to v2. For now, we place MessageV1, ExtensionRangeV1, and ExtensionDescV1 in runtime/protoiface since these are types that generated messages will probably have to reference forever. An alternative location could be reflect/protoreflect, but it seems unfortunate to have to dirty the namespace of that package with these types. We move ExtensionFieldV1, ExtensionFieldsV1, and ExtensionFieldsOf to internal/impl, since these are related to the implementation of a generated message. Since moving these types from v1 to v2 implies that the v1 protoapi package is useless, we update all usages of v1 protoapi in the v2 repository to point to the relevant v2 type or functionality. CL/168538 is the corresponding change to alter v1. There will be a temporary build failure as it is not possible to submit CL/168519 and CL/168538 atomically. Change-Id: Ide4025c1b6af5b7f0696f4b65b988b4d10a50f0b Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168519 Reviewed-by: Herbie Ong <herbie@google.com>
47 lines
1.6 KiB
Go
47 lines
1.6 KiB
Go
// Copyright 2018 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Package protoimpl contains the default implementation for messages
|
|
// generated by protoc-gen-go.
|
|
//
|
|
// WARNING: This package should only ever be imported by generated messages.
|
|
// The compatibility agreement covers nothing except for functionality needed
|
|
// to keep existing generated messages operational. Breakages that occur due
|
|
// to unauthorized usages of this package are not the author's responsibility.
|
|
package protoimpl
|
|
|
|
import (
|
|
"github.com/golang/protobuf/v2/internal/fileinit"
|
|
"github.com/golang/protobuf/v2/internal/impl"
|
|
)
|
|
|
|
// Version is the current minor version of the package.
|
|
// This is incremented every time the API of this package expands.
|
|
const Version = 0 // v2.{Version}.x
|
|
|
|
var X impl.Export
|
|
|
|
type (
|
|
// EnforceVersion is used by code generated by protoc-gen-go
|
|
// to statically enforce a minimum version of this package.
|
|
// A compilation failure implies that this package is too old and
|
|
// needs to be updated to a more recent version.
|
|
//
|
|
// This package can be upgraded by running:
|
|
// go get -u github.com/golang/protobuf/v2/...
|
|
//
|
|
// Example usage by generated code:
|
|
// const _ = protoimpl.EnforceVersion(protoimpl.Version - genVersion)
|
|
//
|
|
// If genVersion is lower than Version, then this results in a negative
|
|
// integer overflow failure when evaluating the uint constant.
|
|
EnforceVersion uint
|
|
|
|
MessageType = impl.MessageType
|
|
FileBuilder = fileinit.FileBuilder
|
|
|
|
ExtensionFieldV1 = impl.ExtensionFieldV1
|
|
ExtensionFieldsV1 = impl.ExtensionFieldsV1
|
|
)
|