tree 644be321bde7b5cc048dc9772402c31c33c6680a
parent 3360b7d83946f6b67d7ac0c47416fdd6876b7e6a
author Joe Tsai <joetsai@digital-static.net> 1552683511 -0700
committer Joe Tsai <thebrokentoaster@gmail.com> 1552693366 +0000

proto: simplify StructProperties

StructProperties were the old approach of pseudo-providing reflection
like functionality for Go protobufs. However, the API is fundamentally
too closely tied to Go structs to be easily extensible to the new
protobuf reflection API. In preparation for that migration work,
we simplify the implementation of StructProperties.

Changes made:
* Export Properties.{Proto3,Oneof} as these are sensible
pieces of information relevant to the proto type system.
* Delete StructProperties.{decoderTags,order} and Properties.{stype,sprop,mtype}
as nothing uses these anymore.
* Move the functionality of StructProperties.{reqCount,decoderOrigNames}
to be under text_parser.go, which is the only user of those fields.
* Avoid depending on the interface for XXX_Oneof, but use pure reflection.
This breaks the dependency on the Buffer type.
* Move unrelated declarations to lib.go such as:
protoMessageType, marshalerType, oneofFuncsIface, oneofWrappersIface

This set of changes make it such that all usages of StructProperties
within the proto package itself is on the public API of StructProperties
rather than some internal property.

It also makes it such that properties.go builds on its own with no
dependencies on any other source file inthe proto package.

Change-Id: I96414ce65116846c50e5509b5c9c9c9a65d3b6dc
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/167772
Reviewed-by: Herbie Ong <herbie@google.com>
