protobuf-go/internal/filedesc
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
..
build_test.go internal/filedesc, internal/filetype: initial commit 2019-06-20 02:06:11 +00:00
build.go reflect/protoregistry: remove Files.Find{Enum,Message,Extension,Service}ByName 2019-06-24 23:47:12 +00:00
desc_init.go reflect/protoreflect: register all desciptors in Files 2019-06-24 22:35:47 +00:00
desc_lazy.go reflect/protoregistry: remove Files.Find{Enum,Message,Extension,Service}ByName 2019-06-24 23:47:12 +00:00
desc_list_gen.go internal/filedesc, internal/filetype: initial commit 2019-06-20 02:06:11 +00:00
desc_list.go internal/filedesc, internal/filetype: initial commit 2019-06-20 02:06:11 +00:00
desc_test.go internal/impl: support aberrant enums and messages 2019-07-01 21:18:15 +00:00
desc.go internal/impl: support aberrant enums and messages 2019-07-01 21:18:15 +00:00
name_pure.go internal/filedesc, internal/filetype: initial commit 2019-06-20 02:06:11 +00:00
name_unsafe.go internal/filedesc, internal/filetype: initial commit 2019-06-20 02:06:11 +00:00
placeholder.go internal/impl: support aberrant enums and messages 2019-07-01 21:18:15 +00:00