protobuf-go/internal
Damien Neil 92f76189a3 all: refactor extensions, add proto.GetExtension etc.
Change protoiface.ExtensionDescV1 to implement protoreflect.ExtensionType.

ExtensionDescV1's Name field conflicts with the Descriptor Name method,
so change the protoreflect.{Message,Enum,Extension}Type types to no
longer implement the corresponding Descriptor interface. This also leads
to a clearer distinction between the two types.

Introduce a protoreflect.ExtensionTypeDescriptor type which bridges
between ExtensionType and ExtensionDescriptor.

Add extension accessor functions to the proto package:
proto.{Has,Clear,Get,Set}Extension. These functions take a
protoreflect.ExtensionType parameter, which allows writing the
same function call using either the old or new API:

  proto.GetExtension(message, somepb.E_ExtensionFoo)

Fixes golang/protobuf#908

Change-Id: Ibc65d12a46666297849114fd3aefbc4a597d9f08
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/189199
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2019-08-08 18:20:51 +00:00
..
cmd runtime/protoimpl, cmd/protoc-gen-go: support release versioning 2019-08-07 22:59:30 +00:00
descfmt reflect/protoreflect: add FileDescriptor.SourceLocations 2019-07-13 00:15:59 +00:00
descopts internal/filedesc, internal/filetype: initial commit 2019-06-20 02:06:11 +00:00
detrand
encoding all: refactor extensions, add proto.GetExtension etc. 2019-08-08 18:20:51 +00:00
errors all: remove non-fatal UTF-8 validation errors (and non-fatal in general) 2019-06-20 20:55:13 +00:00
fieldnum
filedesc internal/filedesc, internal/filetype: rename {Desc,Type}Builder as Builder 2019-08-05 23:43:37 +00:00
filetype all: refactor extensions, add proto.GetExtension etc. 2019-08-08 18:20:51 +00:00
flags
impl all: refactor extensions, add proto.GetExtension etc. 2019-08-08 18:20:51 +00:00
mapsort all: refactor Converter 2019-08-05 22:33:14 +00:00
pragma
set internal/set: remove Int32s, Int64s, and Strings 2019-04-03 22:53:35 +00:00
strs all: support enforce_utf8 override 2019-07-15 19:53:05 +00:00
testprotos runtime/protoimpl, cmd/protoc-gen-go: support release versioning 2019-08-07 22:59:30 +00:00