1*890232f2SAndroid Build Coastguard Worker// Sample .proto file that we can translate to the corresponding .fbs. 2*890232f2SAndroid Build Coastguard Worker 3*890232f2SAndroid Build Coastguard Workeroption some_option = is_ignored; 4*890232f2SAndroid Build Coastguard Workerimport "imported.proto"; 5*890232f2SAndroid Build Coastguard Worker 6*890232f2SAndroid Build Coastguard Workerpackage proto.test; 7*890232f2SAndroid Build Coastguard Worker 8*890232f2SAndroid Build Coastguard Worker/// Enum doc comment. 9*890232f2SAndroid Build Coastguard Workerenum ProtoEnum { 10*890232f2SAndroid Build Coastguard Worker option allow_alias = true; 11*890232f2SAndroid Build Coastguard Worker NUL = 0; 12*890232f2SAndroid Build Coastguard Worker FOO = 1; 13*890232f2SAndroid Build Coastguard Worker /// Enum 2nd value doc comment misaligned. 14*890232f2SAndroid Build Coastguard Worker BAR = 5; 15*890232f2SAndroid Build Coastguard Worker // Aliases 16*890232f2SAndroid Build Coastguard Worker FOO_A1 = 1; 17*890232f2SAndroid Build Coastguard Worker BAR_A1 = 5; 18*890232f2SAndroid Build Coastguard Worker FOO_A2 = 1; 19*890232f2SAndroid Build Coastguard Worker} 20*890232f2SAndroid Build Coastguard Worker 21*890232f2SAndroid Build Coastguard Worker/// 2nd table doc comment with 22*890232f2SAndroid Build Coastguard Worker/// many lines. 23*890232f2SAndroid Build Coastguard Workermessage ProtoMessage { 24*890232f2SAndroid Build Coastguard Worker // Ignored non-doc comment. 25*890232f2SAndroid Build Coastguard Worker // A nested message declaration, will be moved to top level in .fbs 26*890232f2SAndroid Build Coastguard Worker message OtherMessage { 27*890232f2SAndroid Build Coastguard Worker optional double a = 26; 28*890232f2SAndroid Build Coastguard Worker /// doc comment for b. 29*890232f2SAndroid Build Coastguard Worker optional float b = 32 [default = 3.14149]; 30*890232f2SAndroid Build Coastguard Worker 31*890232f2SAndroid Build Coastguard Worker // Nested enum that aliases the outer one. 32*890232f2SAndroid Build Coastguard Worker enum ProtoEnum { 33*890232f2SAndroid Build Coastguard Worker NUL = 0; 34*890232f2SAndroid Build Coastguard Worker FOO = 1; 35*890232f2SAndroid Build Coastguard Worker BAR = 2; 36*890232f2SAndroid Build Coastguard Worker BAZ = 3; 37*890232f2SAndroid Build Coastguard Worker } 38*890232f2SAndroid Build Coastguard Worker 39*890232f2SAndroid Build Coastguard Worker optional ProtoEnum foo_bar_baz = 33; 40*890232f2SAndroid Build Coastguard Worker } 41*890232f2SAndroid Build Coastguard Worker optional int32 c = 12 [default = 16]; 42*890232f2SAndroid Build Coastguard Worker optional int64 d = 1 [default = 0]; 43*890232f2SAndroid Build Coastguard Worker optional uint32 p = 1; 44*890232f2SAndroid Build Coastguard Worker optional uint64 e = 2; 45*890232f2SAndroid Build Coastguard Worker /// doc comment for f. 46*890232f2SAndroid Build Coastguard Worker optional sint32 f = 3 [default = -1]; 47*890232f2SAndroid Build Coastguard Worker optional sint64 g = 4; 48*890232f2SAndroid Build Coastguard Worker optional fixed32 h = 5; 49*890232f2SAndroid Build Coastguard Worker optional fixed64 q = 6; 50*890232f2SAndroid Build Coastguard Worker optional sfixed32 i = 7; 51*890232f2SAndroid Build Coastguard Worker optional sfixed64 j = 8; 52*890232f2SAndroid Build Coastguard Worker /// doc comment for k. 53*890232f2SAndroid Build Coastguard Worker optional bool k = 9; 54*890232f2SAndroid Build Coastguard Worker /// doc comment for l on 2 55*890232f2SAndroid Build Coastguard Worker /// lines 56*890232f2SAndroid Build Coastguard Worker required string l = 10; 57*890232f2SAndroid Build Coastguard Worker optional bytes m = 11; 58*890232f2SAndroid Build Coastguard Worker optional OtherMessage n = 12; 59*890232f2SAndroid Build Coastguard Worker repeated string o = 14; 60*890232f2SAndroid Build Coastguard Worker optional ImportedMessage z = 16; 61*890232f2SAndroid Build Coastguard Worker /// doc comment for r. 62*890232f2SAndroid Build Coastguard Worker oneof r { 63*890232f2SAndroid Build Coastguard Worker /// doc comment for s. 64*890232f2SAndroid Build Coastguard Worker ImportedMessage s = 17; 65*890232f2SAndroid Build Coastguard Worker /// doc comment for t on 2 66*890232f2SAndroid Build Coastguard Worker /// lines. 67*890232f2SAndroid Build Coastguard Worker OtherMessage t = 18; 68*890232f2SAndroid Build Coastguard Worker } 69*890232f2SAndroid Build Coastguard Worker optional ProtoEnum outer_enum = 33; 70*890232f2SAndroid Build Coastguard Worker // Tests that `inf` and `+/-inf` can be parsed in proto options. 71*890232f2SAndroid Build Coastguard Worker optional float u = 34 [default = inf]; 72*890232f2SAndroid Build Coastguard Worker optional float v = 35 [default = +inf]; 73*890232f2SAndroid Build Coastguard Worker optional float w = 36 [default = -inf]; 74*890232f2SAndroid Build Coastguard Worker} 75