Go support for Google's protocol buffers
Go to file
Joe Tsai 6f9095c675 internal/value: expose Converter.{MessageType,EnumType}
Rather than having the Converter carry a NewMessage method, have the struct
simply expose the MessageType or EnumType since they carry more information
and are retrieved anyways as part of the functionality of NewConverter.
While changing Converter, export the fields and remove all the methods.
Also, add an IsLegacy boolean, which is useful for the later implementation
of the extension fields.

Add a wrapLegacyEnum function which is used to wrap v1 enums as v2 enums.
We use this functionality in NewLegacyConverter to detrive the EnumType.
Additionally, modify wrapLegacyMessage to return a protoreflect.ProtoMessage
to be consistent with wrapLegacyEnum which must return a protoreflect.ProtoEnum.

Change-Id: Idc8989d07e4895d30de4ebc22c9ffa7357815cad
Reviewed-on: https://go-review.googlesource.com/c/148827
Reviewed-by: Herbie Ong <herbie@google.com>
2018-11-12 22:59:43 +00:00
cmd internal/encoding/tag: centralize logic for protobuf struct tag serialization 2018-11-05 20:12:56 +00:00
internal internal/value: expose Converter.{MessageType,EnumType} 2018-11-12 22:59:43 +00:00
protogen protogen: move comment generation into protogen 2018-10-17 21:03:49 +00:00
reflect reflect/prototype: simplify Go type descriptor constructors 2018-11-10 21:41:49 +00:00
.gitignore cmd/protoc-gen-go-grpc: add gRPC code generator 2018-09-27 19:32:34 +00:00
.travis.yml test.bash: use repo-local cache 2018-09-06 19:58:40 +00:00
AUTHORS AUTHORS, CONTRIBUTORS, LICENSE, PATENTS: initial commit 2018-08-07 22:39:48 +00:00
CONTRIBUTING.md CONTRIBUTING.md: add pre-push hook instructions 2018-08-07 23:58:41 +00:00
CONTRIBUTORS AUTHORS, CONTRIBUTORS, LICENSE, PATENTS: initial commit 2018-08-07 22:39:48 +00:00
go.mod go.mod: rename google.golang.org/proto as github.com/golang/protobuf/v2 2018-09-24 16:11:50 +00:00
go.sum protogen: automatic handling of imports 2018-09-05 23:14:28 +00:00
LICENSE AUTHORS, CONTRIBUTORS, LICENSE, PATENTS: initial commit 2018-08-07 22:39:48 +00:00
PATENTS AUTHORS, CONTRIBUTORS, LICENSE, PATENTS: initial commit 2018-08-07 22:39:48 +00:00
README.md CONTRIBUTING.md: initial commit 2018-08-01 20:39:06 +00:00
regenerate.bash cmd/protoc-gen-go-grpc: add gRPC code generator 2018-09-27 19:32:34 +00:00
test.bash test.bash: do not run golden tests by default 2018-10-16 16:49:18 +00:00

Next Generation Go Protocol Buffers

WARNING: This repository is in active development. There are no guarantees about API stability. Breaking changes will occur until a stable release is made and announced.

This repository is for the development of the next major Go implementation of protocol buffers. This library makes breaking API changes relative to the existing Go protobuf library. Of particular note, this API aims to make protobuf reflection a first-class feature of the API and implements the protobuf ecosystem in terms of reflection.

Design Documents

List of relevant design documents:

Contributing

We appreciate community contributions. See CONTRIBUTING.md.

Reporting Issues

Issues regarding the new API can be filed at github.com/golang/protobuf. Please use a APIv2: prefix in the title to make it clear that the issue is regarding the new API work.