protobuf-go/cmd/protoc-gen-go/testdata/proto3/fields.proto
Damien Neil 0bd5a38474 cmd/protoc-gen-go: add support for map fields
Generate the proper map[key]value type for map fields.
Include the protobuf_key and protobuf_val field tags.
Do not generate the map entry structs.

Fix an initialization order bug in protogen: While proto files cannot
contain circular dependencies, a single file can contain dependency
cycles. First create types for all the descriptors in a file, then add
in references (currently just field->message and field->enum) in a
second pass.

Change-Id: Ifedfa657d8dbb00413ba493adee1119b19c1b773
Reviewed-on: https://go-review.googlesource.com/135355
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2018-09-13 22:20:09 +00:00

38 lines
1.1 KiB
Protocol Buffer

// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
syntax = "proto3";
package goproto.protoc.proto3;
option go_package = "google.golang.org/proto/cmd/protoc-gen-go/testdata/proto3";
message FieldTestMessage {
string optional_bool = 1;
Enum optional_enum = 2;
int32 optional_int32 = 3;
sint32 optional_sint32 = 4;
uint32 optional_uint32 = 5;
int64 optional_int64 = 6;
sint64 optional_sint64 = 7;
uint64 optional_uint64 = 8;
sfixed32 optional_sfixed32 = 9;
fixed32 optional_fixed32 = 10;
float optional_float = 11;
sfixed64 optional_sfixed64 = 12;
fixed64 optional_fixed64 = 13;
double optional_double = 14;
string optional_string = 15;
bytes optional_bytes = 16;
Message optional_Message = 17;
map<int32, int64> map_int32_int64 = 500;
map<string,Message> map_string_message = 501;
map<fixed64,Enum> map_fixed64_enum = 502;
enum Enum { ZERO = 0; }
message Message {}
}