| // vim: noexpandtab |
| |
| syntax = "proto3"; |
| |
| package descutil; |
| |
| import "google/protobuf/descriptor.proto"; |
| |
| option go_package = "go.chromium.org/luci/common/proto/google/descutil;descutil"; |
| |
| message SuperExt { |
| string a = 1; |
| string b = 2; |
| } |
| |
| extend google.protobuf.FieldOptions { |
| string ext = 50001; |
| |
| SuperExt super_ext = 50002; |
| } |
| |
| extend google.protobuf.MessageOptions { |
| string msgExt = 50001; |
| |
| SuperExt super_msg_ext = 50002; |
| } |
| |
| // Enum comment. |
| // next line. |
| enum E1 { |
| // V0 |
| // next line. |
| V0 = 0; |
| // V1 |
| // next line. |
| V1 = 1; |
| } |
| |
| // M1 |
| // next line. |
| message M1 { |
| // f1 |
| // next line. |
| string f1 = 1 [ |
| json_name = "foof", |
| (ext) = "narf", |
| (super_ext) = { |
| a: "a" |
| b: "b" |
| } |
| ]; |
| repeated int64 meep = 2 [ |
| packed = false, |
| jstype = JS_NUMBER |
| ]; |
| bool regular_snake_case = 3; |
| bool only_json_name = 4 [json_name = "cool"]; |
| } |
| |
| // M2 |
| // next line. |
| message M2 { |
| option deprecated = true; |
| option (msgExt) = "yep"; |
| option (super_msg_ext) = { |
| a: "cool" |
| b: "beans" |
| }; |
| // f1 |
| // next line. |
| repeated M1 f1 = 1; |
| // f2 |
| // next line. |
| E1 f2 = 2; |
| } |
| |
| // M3 |
| message M3 { |
| // O1 |
| oneof O1 { |
| // f1 |
| int32 f1 = 1; |
| // f2 |
| int32 f2 = 2; |
| } |
| // O2 |
| oneof O2 { |
| // f3 |
| int32 f3 = 3; |
| // f4 |
| int32 f4 = 4; |
| } |
| // f5 |
| string f5 = 5; |
| // f6 |
| int32 f6 = 6; |
| } |
| |
| |
| // S1 |
| service S1 { |
| // R1 |
| rpc R1(M1) returns (M2) {}; |
| } |
| |
| // S2 |
| service S2 { |
| // R1 |
| rpc R1(M1) returns (M2) {}; |
| // R2 |
| rpc R2(M1) returns (M2) {}; |
| } |
| |
| message NestedMessageParent { |
| message NestedMessage { |
| int32 f1 = 1; |
| int32 f2 = 2; |
| } |
| enum NestedEnum { |
| V0 = 0; |
| V1 = 1; |
| } |
| } |
| |
| message ReservedRangeContainer { |
| reserved "hello"; |
| reserved "world"; |
| reserved 1; |
| reserved 2; |
| } |