protobuf-go/internal
Joe Tsai b2107fbd8d reflect/protodesc: robustify dependency resolution implementation
Overview of changes:
* Add an option that specifies whether to replace unresolvable references
with a placeholder instead of producing an error. Since the prior behavior
produced placeholders (not always), we default to that behavior for now,
but will enable strict resolving in a future CL.
* The option is not yet exported because there is concern about what the
public API should look like. This will be exposed in a future CL.
* Unlike before, we now permit placeholders for unresolvable enum values.
* We implement relative name resolution logic.
* We handle the case where the type is unknown, but type_name is specified.
In such a case, we populate both FieldDescriptor.{Enum,Message} and leave
the FieldDescriptor.Kind with the zero value. If the type_name happened
to resolve, we use that to determine the type.
* If a placeholder is used to represent a relative name,
the FullName reports an invalid full name with a "*." prefix.

Change-Id: Ifa8c750423c488fb9324eec4d033a2f251505fda
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/184317
Reviewed-by: Damien Neil <dneil@google.com>
2019-07-03 19:17:36 +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 reflect/protodesc: robustify dependency resolution implementation 2019-07-03 19:17:36 +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 all: remove dependency on proto v1 2019-07-03 04:59:17 +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: fix race in aberrant message logic 2019-07-02 18:39:06 +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