mirror of
https://github.com/protocolbuffers/protobuf-go.git
synced 2024-12-29 12:17:48 +00:00
e1f8d50e17
In order to generate descriptor.proto, the generated code would want to depend on the prototype package to construct the reflection data structures. However, this is a problem since descriptor itself is one of the dependencies for prototype. To break this dependency, we do the following: * Avoid using concrete *descriptorpb.XOptions messages in the public API, and instead just use protoreflect.ProtoMessage. We do lose some type safety here as a result. * Use protobuf reflection to interpret the Options message. * Split out NewFileFromDescriptorProto into a separate protodesc package since constructing protobuf reflection from the descriptor proto obviously depends on the descriptor protos themselves. As part of this CL, we check in a pre-generated version of descriptor and plugin that supports protobuf reflection natively and switchover all usages of those protos to the new definitions. These files were generated by protoc-gen-go from CL/150074, but hand-modified to remove dependencies on the v1 proto runtime. Change-Id: I81e03c42eeab480b03764e2fcbe1aae0e058fc57 Reviewed-on: https://go-review.googlesource.com/c/152020 Reviewed-by: Damien Neil <dneil@google.com> |
||
---|---|---|
.. | ||
pbdump_test.go | ||
pbdump.go |