protobuf-go/internal
Joe Tsai 381f04c102 reflect/protoreflect: add MessageDescriptor.ExtensionRangeOptions
Considerable thought was given to whether a seperate ExtensionRanges interface
should be made that encapsulates FieldNumbers with an Options method.
However, I decided against this design for the following reasons:
* Extension ranges share syntax with reserved numbers and fields.
Why is extension ranges so special that it can have options, while the other
two currently do not? How do we know that those other two won't grow options
in the future? If they do, then those APIs can be expanded in the same way as
how extension range options is being expanded here today.
* Extension range options stand out like a sore thumb compared to the other
eight options. The other options correspond with a named declaration and have
a full protobuf name that they are associated with. Extension range options
is the only options that is not correlated with a full name.
* Extension range options are an extremely rarely used feature and
it seems unfortunate complicating the common case with additional structure.

Change-Id: Ib284a0b798c57dc264febe304692eee5b9c8e91b
Reviewed-on: https://go-review.googlesource.com/c/153018
Reviewed-by: Damien Neil <dneil@google.com>
2018-12-07 19:42:29 +00:00
..
cmd internal/typefmt: move descriptor formatting logic to typefmt 2018-12-05 22:14:52 +00:00
detrand internal/detrand: support disabling detrand 2018-11-29 07:49:45 +00:00
encoding reflect/protodesc: split descriptor related functionality from prototype 2018-12-05 00:38:30 +00:00
errors
flags
impl reflect/protodesc: split descriptor related functionality from prototype 2018-12-05 00:38:30 +00:00
legacy internal/typefmt: move descriptor formatting logic to typefmt 2018-12-05 22:14:52 +00:00
pragma internal/pragma: package to statically enforce certain properties 2018-08-06 21:47:01 +00:00
protogen/goldentest cmd/protoc-gen-go: generate descriptor and plugin with reflection 2018-12-06 17:47:27 +00:00
scalar internal/scalar: add scalar package for primitive wrappers 2018-11-28 07:06:11 +00:00
set internal/set: add set package for set data structures 2018-08-09 21:46:35 +00:00
testprotos/legacy internal/impl: fix legacy logic to know about the new XXX_OneofWrappers method 2018-11-29 08:04:36 +00:00
typefmt reflect/protoreflect: add MessageDescriptor.ExtensionRangeOptions 2018-12-07 19:42:29 +00:00
value internal/impl: allow reflection on typed nil pointers 2018-12-03 19:36:32 +00:00