1syntax = "proto2";
2
3// Message1Comment
4message Message1
5{
6    // LeadingMemberComment
7    required int32 member1 = 1;
8    required int32 member2 = 2; // TrailingMemberComment
9}
10
11// Enum1Comment
12enum Enum1
13{
14    // LeadingEnumComment
15    ENUMVAL1 = 1;
16    ENUMVAL2 = 2; // TrailingEnumComment
17}
18
19message Message2
20{
21    required string m2member1 = 1; // m2comment1
22    required string m2member50 = 50; // m2comment50
23    required string m2member4 = 4; // m2comment4
24
25    oneof m2oneof {
26        int32 m2oneof10 = 10; // m2oneof10_comment
27        int32 m2oneof5 = 5; // m2oneof5_comment
28    }
29}
30
31message Message3
32{
33    message SubMessage {
34        required int32 subfield = 1; // subfield_comment
35
36        enum SubEnum
37        {
38            A = 0; /// A_comment
39            B = 1; /// B_comment
40            C = 2; /// C_comment
41        }
42    }
43}
44