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