| // Sample .proto file that we can translate to the corresponding .fbs. |
| |
| option some_option = is_ignored; |
| import "imported.proto"; |
| |
| package proto.test; |
| |
| /// Enum doc comment. |
| enum ProtoEnum { |
| option allow_alias = true; |
| NUL = 0; |
| FOO = 1; |
| /// Enum 2nd value doc comment misaligned. |
| BAR = 5; |
| // Aliases |
| FOO_A1 = 1; |
| BAR_A1 = 5; |
| FOO_A2 = 1; |
| } |
| |
| /// 2nd table doc comment with |
| /// many lines. |
| message ProtoMessage { |
| // Ignored non-doc comment. |
| // A nested message declaration, will be moved to top level in .fbs |
| message OtherMessage { |
| optional double a = 26; |
| /// doc comment for b. |
| optional float b = 32 [default = 3.14149]; |
| |
| // Nested enum that aliases the outer one. |
| enum ProtoEnum { |
| NUL = 0; |
| FOO = 1; |
| BAR = 2; |
| BAZ = 3; |
| } |
| |
| optional ProtoEnum foo_bar_baz = 33; |
| } |
| optional int32 c = 12 [default = 16]; |
| optional int64 d = 1 [default = 0]; |
| optional uint32 p = 1; |
| optional uint64 e = 2; |
| /// doc comment for f. |
| optional sint32 f = 3 [default = -1]; |
| optional sint64 g = 4; |
| optional fixed32 h = 5; |
| optional fixed64 q = 6; |
| optional sfixed32 i = 7; |
| optional sfixed64 j = 8; |
| /// doc comment for k. |
| optional bool k = 9; |
| /// doc comment for l on 2 |
| /// lines |
| required string l = 10; |
| optional bytes m = 11; |
| optional OtherMessage n = 12; |
| repeated string o = 14; |
| optional ImportedMessage z = 16; |
| /// doc comment for r. |
| oneof r { |
| /// doc comment for s. |
| ImportedMessage s = 17; |
| /// doc comment for t on 2 |
| /// lines. |
| OtherMessage t = 18; |
| } |
| optional ProtoEnum outer_enum = 33; |
| // Tests that `inf` and `+/-inf` can be parsed in proto options. |
| optional float u = 34 [default = inf]; |
| optional float v = 35 [default = +inf]; |
| optional float w = 36 [default = -inf]; |
| |
| map<string, float> grades = 37; |
| map<string, OtherMessage> other_message_map = 38; |
| } |