1syntax = "proto2";
2
3package testprotos;
4
5option go_package = "github.com/jhump/protoreflect/internal/testprotos";
6
7/* Comment for AnotherTestMessage */
8message AnotherTestMessage {
9  /* Comment for dne */
10  optional TestMessage.NestedMessage.AnotherNestedMessage.YetAnotherNestedMessage.DeeplyNestedEnum dne = 1;
11
12  /* Comment for map_field1 */
13  map<int32, string> map_field1 = 2;
14
15  /* Comment for map_field2 */
16  map<int64, float> map_field2 = 3;
17
18  /* Comment for map_field3 */
19  map<uint32, bool> map_field3 = 4;
20
21  /* Comment for map_field4 */
22  map<string, AnotherTestMessage> map_field4 = 5;
23
24  /* Comment for RockNRoll */
25  optional group RockNRoll = 6 {
26    /* Comment for beatles */
27    optional string beatles = 1;
28
29    /* Comment for stones */
30    optional string stones = 2;
31
32    /* Comment for doors */
33    optional string doors = 3;
34  }
35
36  /* Comment for atmoo */
37  oneof atmoo {
38    /* Comment for str */
39    string str = 7;
40
41    /* Comment for int */
42    int64 int = 8;
43  }
44
45  /* Comment for WithOptions */
46  optional group WithOptions = 9 [deprecated = true] {
47  }
48
49  extensions 100 to 200;
50}
51
52/* Comment for TestMessage */
53message TestMessage {
54  /* Comment for nm */
55  optional NestedMessage nm = 1;
56
57  /* Comment for anm */
58  optional NestedMessage.AnotherNestedMessage anm = 2;
59
60  /* Comment for yanm */
61  optional NestedMessage.AnotherNestedMessage.YetAnotherNestedMessage yanm = 3;
62
63  /* Comment for ne */
64  repeated NestedEnum ne = 4;
65
66  /* Comment for NestedMessage */
67  message NestedMessage {
68    /* Comment for anm */
69    optional AnotherNestedMessage anm = 1;
70
71    /* Comment for yanm */
72    optional AnotherNestedMessage.YetAnotherNestedMessage yanm = 2;
73
74    /* Comment for AnotherNestedMessage */
75    message AnotherNestedMessage {
76      /* Comment for yanm */
77      repeated YetAnotherNestedMessage yanm = 1;
78
79      /* Comment for YetAnotherNestedMessage */
80      message YetAnotherNestedMessage {
81        /* Comment for foo */
82        optional string foo = 1;
83
84        /* Comment for bar */
85        optional int32 bar = 2;
86
87        /* Comment for baz */
88        optional bytes baz = 3;
89
90        /* Comment for dne */
91        optional DeeplyNestedEnum dne = 4;
92
93        /* Comment for anm */
94        optional AnotherNestedMessage anm = 5;
95
96        /* Comment for nm */
97        optional NestedMessage nm = 6;
98
99        /* Comment for tm */
100        optional TestMessage tm = 7;
101
102        /* Comment for DeeplyNestedEnum */
103        enum DeeplyNestedEnum {
104          /* Comment for VALUE1 */
105          VALUE1 = 1;
106
107          /* Comment for VALUE2 */
108          VALUE2 = 2;
109        }
110      }
111
112      /* Comment for AnotherTestMessage extensions (1) */
113      extend AnotherTestMessage {
114        /* Comment for flags */
115        repeated bool flags = 200 [packed = true];
116      }
117    }
118  }
119
120  /* Comment for NestedEnum */
121  enum NestedEnum {
122    /* Comment for VALUE1 */
123    VALUE1 = 1;
124
125    /* Comment for VALUE2 */
126    VALUE2 = 2;
127  }
128}
129
130/* Comment for AnotherTestMessage extensions (2) */
131extend AnotherTestMessage {
132  /* Comment for xtm */
133  optional TestMessage xtm = 100;
134
135  /* Comment for xs */
136  optional string xs = 101;
137}
138
139/* Comment for AnotherTestMessage extensions (3) */
140extend AnotherTestMessage {
141  /* Comment for xi */
142  optional int32 xi = 102;
143
144  /* Comment for xui */
145  optional uint64 xui = 103;
146}
147