mirror of
https://github.com/protocolbuffers/protobuf-go.git
synced 2024-12-29 12:17:48 +00:00
d888139e7b
The internal/fileinit package is split apart into two packages: * internal/filedesc constructs descriptors from the raw proto. It is very similar to the previous internal/fileinit package. * internal/filetype wraps descriptors with Go type information Overview: * The internal/fileinit package will be deleted in a future CL. It is kept around since the v1 repo currently depends on it. * The internal/prototype package is deleted. All former usages of it are now using internal/filedesc instead. Most significantly, the reflect/protodesc package was almost entirely re-written. * The internal/impl package drops support for messages that do not have a Descriptor method (pre-2016). This removes a significant amount of technical debt. filedesc.Builder to parse raw descriptors. * The internal/encoding/defval package now handles enum values by name. Change-Id: I3957bcc8588a70470fd6c7de1122216b80615ab7 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/182360 Reviewed-by: Damien Neil <dneil@google.com>
30 lines
1.1 KiB
Go
30 lines
1.1 KiB
Go
// Copyright 2019 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 descopts contains the nil pointers to concrete descriptor options.
|
|
//
|
|
// This package exists as a form of reverse dependency injection so that certain
|
|
// packages (e.g., internal/filedesc and internal/filetype can avoid a direct
|
|
// dependency on the descriptor proto package).
|
|
package descopts
|
|
|
|
import pref "google.golang.org/protobuf/reflect/protoreflect"
|
|
|
|
// These variables are set by the init function in descriptor.pb.go via logic
|
|
// in internal/filetype. In other words, so long as the descriptor proto package
|
|
// is linked in, these variables will be populated.
|
|
//
|
|
// Each variable is populated with a nil pointer to the options struct.
|
|
var (
|
|
File pref.ProtoMessage
|
|
Enum pref.ProtoMessage
|
|
EnumValue pref.ProtoMessage
|
|
Message pref.ProtoMessage
|
|
Field pref.ProtoMessage
|
|
Oneof pref.ProtoMessage
|
|
ExtensionRange pref.ProtoMessage
|
|
Service pref.ProtoMessage
|
|
Method pref.ProtoMessage
|
|
)
|