protobuf-go/internal
Damien Neil 232ea15589 reflect/prototype: hoist semantic options into builders
Add fields to the Message and Field builder structs which hold the value
of MessageOptions.map_entry, FieldOptions.packed, and FieldOptions.weak
options. Remove all access to the contents of options messages from the
prototype package.

Change IsPacked to always return false for unpackable field types,
which is consistent with the equivalent C++ API.

This change helps avoid dependency cycles between prototype and the
options messages. (Previously this was resolved by accessing options
with reflection, but just breaking the dependency from prototype to the
options message is cleaner and simpler.)

Change-Id: I756aefe2e04cfa8fea31eaaaa0b5a99d4ac9e851
Reviewed-on: https://go-review.googlesource.com/c/153517
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2018-12-11 20:25:45 +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/prototype: hoist semantic options into builders 2018-12-11 20:25:45 +00:00
errors internal/errors: initial commit 2018-08-02 18:28:47 +00:00
flags internal/flags: add package to control specialized functionality 2018-08-03 22:59:53 +00:00
impl reflect/prototype: hoist semantic options into builders 2018-12-11 20:25:45 +00:00
legacy reflect/prototype: hoist semantic options into builders 2018-12-11 20:25:45 +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 HasJSONName, ReservedRanges, and ReservedNames 2018-12-07 20:10:15 +00:00
value reflect/protoreflect: replace Mutable with NewMessage 2018-12-10 21:17:16 +00:00