protobuf-go/internal
Joe Tsai 851185dae3 internal/impl: support aberrant enums and messages
Aberrant messages are hand-crafted messages that happen to work because
they use the same struct tags that generated code emits.
This happens to work in v1, but is unspecified behavior and entirely outside
the compatibility promise.

Support for this was added early on in the history of the v2 implementation,
but entirely untested. It was removed in CL/182360 to reduce the
technical debt of the legacy implementation. Unfortunately, sufficient number
of targets do rely on this aberrant support, so it is being added back.

The logic being added is essentially the same thing as the previous logic,
but ported to use internal/filedesc instead of the now deleted
internal/prototype package.

Change-Id: Ib5cab3e90480825b9615db358044ce05a14b05bd
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/184517
Reviewed-by: Damien Neil <dneil@google.com>
2019-07-01 21:18:15 +00:00
..
cmd proto, internal/impl: avoid string->[]byte conversions 2019-06-24 17:41:45 +00:00
descfmt reflect/protoreflect: remove FieldDescriptor.{Oneof,Extendee} methods 2019-06-17 19:43:30 +00:00
descopts internal/filedesc, internal/filetype: initial commit 2019-06-20 02:06:11 +00:00
detrand
encoding proto, internal/impl: avoid string->[]byte conversions 2019-06-24 17:41:45 +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 internal/fieldnum: generate field numbers for the google.protobuf package 2019-03-21 00:57:40 +00:00
filedesc internal/impl: support aberrant enums and messages 2019-07-01 21:18:15 +00:00
filetype reflect/protoregistry: remove Files.Find{Enum,Message,Extension,Service}ByName 2019-06-24 23:47:12 +00:00
flags
impl internal/impl: support aberrant enums and messages 2019-07-01 21:18:15 +00:00
mapsort all: change module to google.golang.org/protobuf 2019-05-14 17:28:29 +00:00
pragma
scalar
set internal/set: remove Int32s, Int64s, and Strings 2019-04-03 22:53:35 +00:00
testprotos all: remove protoreflect.Message.Len 2019-06-25 21:59:46 +00:00
value reflect/protoreflect: add alternative message reflection API 2019-06-17 17:33:24 +00:00