1 /**
2 * Autogenerated by Thrift for src/module.thrift
3 *
4 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5 * @generated @nocommit
6 */
7 #include <thrift/lib/cpp2/gen/module_metadata_cpp.h>
8 #include "thrift/compiler/test/fixtures/mcpp2-compare/gen-cpp2/module_metadata.h"
9
10 namespace apache {
11 namespace thrift {
12 namespace detail {
13 namespace md {
14 using ThriftMetadata = ::apache::thrift::metadata::ThriftMetadata;
15 using ThriftPrimitiveType = ::apache::thrift::metadata::ThriftPrimitiveType;
16 using ThriftType = ::apache::thrift::metadata::ThriftType;
17 using ThriftService = ::apache::thrift::metadata::ThriftService;
18 using ThriftServiceContext = ::apache::thrift::metadata::ThriftServiceContext;
19 using ThriftFunctionGenerator = void (*)(ThriftMetadata&, ThriftService&);
20
gen(ThriftMetadata & metadata)21 void EnumMetadata<::some::valid::ns::MyEnumA>::gen(ThriftMetadata& metadata) {
22 auto res = metadata.enums_ref()->emplace("module.MyEnumA", ::apache::thrift::metadata::ThriftEnum{});
23 if (!res.second) {
24 return;
25 }
26 ::apache::thrift::metadata::ThriftEnum& enum_metadata = res.first->second;
27 enum_metadata.name_ref() = "module.MyEnumA";
28 using EnumTraits = TEnumTraits<::some::valid::ns::MyEnumA>;
29 for (std::size_t i = 0; i < EnumTraits::size; ++i) {
30 enum_metadata.elements_ref()->emplace(static_cast<int32_t>(EnumTraits::values[i]), EnumTraits::names[i].str());
31 }
32 }
gen(ThriftMetadata & metadata)33 void EnumMetadata<::some::valid::ns::AnnotatedEnum>::gen(ThriftMetadata& metadata) {
34 auto res = metadata.enums_ref()->emplace("module.AnnotatedEnum", ::apache::thrift::metadata::ThriftEnum{});
35 if (!res.second) {
36 return;
37 }
38 ::apache::thrift::metadata::ThriftEnum& enum_metadata = res.first->second;
39 enum_metadata.name_ref() = "module.AnnotatedEnum";
40 using EnumTraits = TEnumTraits<::some::valid::ns::AnnotatedEnum>;
41 for (std::size_t i = 0; i < EnumTraits::size; ++i) {
42 enum_metadata.elements_ref()->emplace(static_cast<int32_t>(EnumTraits::values[i]), EnumTraits::names[i].str());
43 }
44 }
gen(ThriftMetadata & metadata)45 void EnumMetadata<::some::valid::ns::AnnotatedEnum2>::gen(ThriftMetadata& metadata) {
46 auto res = metadata.enums_ref()->emplace("module.AnnotatedEnum2", ::apache::thrift::metadata::ThriftEnum{});
47 if (!res.second) {
48 return;
49 }
50 ::apache::thrift::metadata::ThriftEnum& enum_metadata = res.first->second;
51 enum_metadata.name_ref() = "module.AnnotatedEnum2";
52 using EnumTraits = TEnumTraits<::some::valid::ns::AnnotatedEnum2>;
53 for (std::size_t i = 0; i < EnumTraits::size; ++i) {
54 enum_metadata.elements_ref()->emplace(static_cast<int32_t>(EnumTraits::values[i]), EnumTraits::names[i].str());
55 }
56 }
gen(ThriftMetadata & metadata)57 void EnumMetadata<::some::valid::ns::MyEnumB>::gen(ThriftMetadata& metadata) {
58 auto res = metadata.enums_ref()->emplace("module.MyEnumB", ::apache::thrift::metadata::ThriftEnum{});
59 if (!res.second) {
60 return;
61 }
62 ::apache::thrift::metadata::ThriftEnum& enum_metadata = res.first->second;
63 enum_metadata.name_ref() = "module.MyEnumB";
64 using EnumTraits = TEnumTraits<::some::valid::ns::MyEnumB>;
65 for (std::size_t i = 0; i < EnumTraits::size; ++i) {
66 enum_metadata.elements_ref()->emplace(static_cast<int32_t>(EnumTraits::values[i]), EnumTraits::names[i].str());
67 }
68 }
69
70 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)71 StructMetadata<::some::valid::ns::Empty>::gen(ThriftMetadata& metadata) {
72 auto res = metadata.structs_ref()->emplace("module.Empty", ::apache::thrift::metadata::ThriftStruct{});
73 if (!res.second) {
74 return res.first->second;
75 }
76 ::apache::thrift::metadata::ThriftStruct& module_Empty = res.first->second;
77 module_Empty.name_ref() = "module.Empty";
78 module_Empty.is_union_ref() = false;
79 return res.first->second;
80 }
81 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)82 StructMetadata<::some::valid::ns::ASimpleStruct>::gen(ThriftMetadata& metadata) {
83 auto res = metadata.structs_ref()->emplace("module.ASimpleStruct", ::apache::thrift::metadata::ThriftStruct{});
84 if (!res.second) {
85 return res.first->second;
86 }
87 ::apache::thrift::metadata::ThriftStruct& module_ASimpleStruct = res.first->second;
88 module_ASimpleStruct.name_ref() = "module.ASimpleStruct";
89 module_ASimpleStruct.is_union_ref() = false;
90 static const EncodedThriftField
91 module_ASimpleStruct_fields[] = {
92 {1, "boolField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
93 };
94 for (const auto& f : module_ASimpleStruct_fields) {
95 ::apache::thrift::metadata::ThriftField field;
96 field.id_ref() = f.id;
97 field.name_ref() = f.name;
98 field.is_optional_ref() = f.is_optional;
99 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
100 field.structured_annotations_ref() = f.structured_annotations;
101 module_ASimpleStruct.fields_ref()->push_back(std::move(field));
102 }
103 return res.first->second;
104 }
105 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)106 StructMetadata<::some::valid::ns::ASimpleStructNoexcept>::gen(ThriftMetadata& metadata) {
107 auto res = metadata.structs_ref()->emplace("module.ASimpleStructNoexcept", ::apache::thrift::metadata::ThriftStruct{});
108 if (!res.second) {
109 return res.first->second;
110 }
111 ::apache::thrift::metadata::ThriftStruct& module_ASimpleStructNoexcept = res.first->second;
112 module_ASimpleStructNoexcept.name_ref() = "module.ASimpleStructNoexcept";
113 module_ASimpleStructNoexcept.is_union_ref() = false;
114 static const EncodedThriftField
115 module_ASimpleStructNoexcept_fields[] = {
116 {1, "boolField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
117 };
118 for (const auto& f : module_ASimpleStructNoexcept_fields) {
119 ::apache::thrift::metadata::ThriftField field;
120 field.id_ref() = f.id;
121 field.name_ref() = f.name;
122 field.is_optional_ref() = f.is_optional;
123 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
124 field.structured_annotations_ref() = f.structured_annotations;
125 module_ASimpleStructNoexcept.fields_ref()->push_back(std::move(field));
126 }
127 return res.first->second;
128 }
129 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)130 StructMetadata<::some::valid::ns::MyStruct>::gen(ThriftMetadata& metadata) {
131 auto res = metadata.structs_ref()->emplace("module.MyStruct", ::apache::thrift::metadata::ThriftStruct{});
132 if (!res.second) {
133 return res.first->second;
134 }
135 ::apache::thrift::metadata::ThriftStruct& module_MyStruct = res.first->second;
136 module_MyStruct.name_ref() = "module.MyStruct";
137 module_MyStruct.is_union_ref() = false;
138 static const EncodedThriftField
139 module_MyStruct_fields[] = {
140 {1, "MyBoolField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE), std::vector<ThriftConstStruct>{}},
141 {2, "MyIntField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
142 {3, "MyStringField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
143 {4, "MyStringField2", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
144 {5, "MyBinaryField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}},
145 {6, "MyBinaryField2", true, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}},
146 {7, "MyBinaryField3", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}},
147 {8, "MyBinaryListField4", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE)), std::vector<ThriftConstStruct>{}},
148 {9, "MyMapEnumAndInt", false, std::make_unique<Map>(std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA"), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
149 {10, "MyCustomField", false, std::make_unique<Typedef>("module.CustomProtocolType", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
150 {11, "MyOptCustomField", true, std::make_unique<Typedef>("module.CustomProtocolType", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
151 };
152 for (const auto& f : module_MyStruct_fields) {
153 ::apache::thrift::metadata::ThriftField field;
154 field.id_ref() = f.id;
155 field.name_ref() = f.name;
156 field.is_optional_ref() = f.is_optional;
157 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
158 field.structured_annotations_ref() = f.structured_annotations;
159 module_MyStruct.fields_ref()->push_back(std::move(field));
160 }
161 return res.first->second;
162 }
163 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)164 StructMetadata<::some::valid::ns::SimpleUnion>::gen(ThriftMetadata& metadata) {
165 auto res = metadata.structs_ref()->emplace("module.SimpleUnion", ::apache::thrift::metadata::ThriftStruct{});
166 if (!res.second) {
167 return res.first->second;
168 }
169 ::apache::thrift::metadata::ThriftStruct& module_SimpleUnion = res.first->second;
170 module_SimpleUnion.name_ref() = "module.SimpleUnion";
171 module_SimpleUnion.is_union_ref() = true;
172 static const EncodedThriftField
173 module_SimpleUnion_fields[] = {
174 {7, "intValue", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
175 {2, "stringValue", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
176 };
177 for (const auto& f : module_SimpleUnion_fields) {
178 ::apache::thrift::metadata::ThriftField field;
179 field.id_ref() = f.id;
180 field.name_ref() = f.name;
181 field.is_optional_ref() = f.is_optional;
182 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
183 field.structured_annotations_ref() = f.structured_annotations;
184 module_SimpleUnion.fields_ref()->push_back(std::move(field));
185 }
186 return res.first->second;
187 }
188 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)189 StructMetadata<::some::valid::ns::ComplexUnion>::gen(ThriftMetadata& metadata) {
190 auto res = metadata.structs_ref()->emplace("module.ComplexUnion", ::apache::thrift::metadata::ThriftStruct{});
191 if (!res.second) {
192 return res.first->second;
193 }
194 ::apache::thrift::metadata::ThriftStruct& module_ComplexUnion = res.first->second;
195 module_ComplexUnion.name_ref() = "module.ComplexUnion";
196 module_ComplexUnion.is_union_ref() = true;
197 static const EncodedThriftField
198 module_ComplexUnion_fields[] = {
199 {1, "intValue", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
200 {201, "opt_intValue", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
201 {3, "stringValue", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
202 {203, "opt_stringValue", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
203 {4, "intValue2", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I16_TYPE), std::vector<ThriftConstStruct>{}},
204 {6, "intValue3", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
205 {7, "doubelValue", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector<ThriftConstStruct>{}},
206 {8, "boolValue", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE), std::vector<ThriftConstStruct>{}},
207 {9, "union_list", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
208 {10, "union_set", false, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE)), std::vector<ThriftConstStruct>{}},
209 {11, "union_map", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
210 {211, "opt_union_map", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
211 {12, "enum_field", false, std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA"), std::vector<ThriftConstStruct>{}},
212 {13, "enum_container", false, std::make_unique<List>(std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA")), std::vector<ThriftConstStruct>{}},
213 {14, "a_struct", false, std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{}},
214 {15, "a_set_struct", false, std::make_unique<Set>(std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct")), std::vector<ThriftConstStruct>{}},
215 {16, "a_union", false, std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion"), std::vector<ThriftConstStruct>{}},
216 {216, "opt_a_union", false, std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion"), std::vector<ThriftConstStruct>{}},
217 {17, "a_union_list", false, std::make_unique<List>(std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion")), std::vector<ThriftConstStruct>{}},
218 {18, "a_union_typedef", false, std::make_unique<Typedef>("module.unionTypeDef", std::make_unique<Set>(std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion")), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
219 {19, "a_union_typedef_list", false, std::make_unique<List>(std::make_unique<Typedef>("module.unionTypeDef", std::make_unique<Set>(std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion")), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
220 {20, "MyBinaryField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}},
221 {21, "MyBinaryField2", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}},
222 {23, "MyBinaryListField4", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE)), std::vector<ThriftConstStruct>{}},
223 {24, "ref_field", false, std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{}},
224 {25, "ref_field2", false, std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{}},
225 {26, "excp_field", false, std::make_unique<Typedef>("module.AnException", std::make_unique<Struct< ::some::valid::ns::AnException>>("module.AnException"), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
226 {27, "MyCustomField", false, std::make_unique<Typedef>("module.CustomProtocolType", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
227 };
228 for (const auto& f : module_ComplexUnion_fields) {
229 ::apache::thrift::metadata::ThriftField field;
230 field.id_ref() = f.id;
231 field.name_ref() = f.name;
232 field.is_optional_ref() = f.is_optional;
233 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
234 field.structured_annotations_ref() = f.structured_annotations;
235 module_ComplexUnion.fields_ref()->push_back(std::move(field));
236 }
237 return res.first->second;
238 }
239 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)240 StructMetadata<::some::valid::ns::AnException>::gen(ThriftMetadata& metadata) {
241 auto res = metadata.structs_ref()->emplace("module.AnException", ::apache::thrift::metadata::ThriftStruct{});
242 if (!res.second) {
243 return res.first->second;
244 }
245 ::apache::thrift::metadata::ThriftStruct& module_AnException = res.first->second;
246 module_AnException.name_ref() = "module.AnException";
247 module_AnException.is_union_ref() = false;
248 static const EncodedThriftField
249 module_AnException_fields[] = {
250 {1, "code", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
251 {101, "req_code", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
252 {2, "message2", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
253 {102, "req_message", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
254 {3, "exception_list", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
255 {4, "exception_set", false, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE)), std::vector<ThriftConstStruct>{}},
256 {5, "exception_map", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
257 {105, "req_exception_map", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
258 {6, "enum_field", false, std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA"), std::vector<ThriftConstStruct>{}},
259 {7, "enum_container", false, std::make_unique<List>(std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA")), std::vector<ThriftConstStruct>{}},
260 {8, "a_struct", false, std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{}},
261 {9, "a_set_struct", false, std::make_unique<Set>(std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct")), std::vector<ThriftConstStruct>{}},
262 {10, "a_union_list", false, std::make_unique<List>(std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion")), std::vector<ThriftConstStruct>{}},
263 {11, "union_typedef", false, std::make_unique<Typedef>("module.unionTypeDef", std::make_unique<Set>(std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion")), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
264 {19, "a_union_typedef_list", false, std::make_unique<List>(std::make_unique<Typedef>("module.unionTypeDef", std::make_unique<Set>(std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion")), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
265 {20, "MyCustomField", false, std::make_unique<Typedef>("module.CustomProtocolType", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
266 {21, "MyOptCustomField", true, std::make_unique<Typedef>("module.CustomProtocolType", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
267 };
268 for (const auto& f : module_AnException_fields) {
269 ::apache::thrift::metadata::ThriftField field;
270 field.id_ref() = f.id;
271 field.name_ref() = f.name;
272 field.is_optional_ref() = f.is_optional;
273 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
274 field.structured_annotations_ref() = f.structured_annotations;
275 module_AnException.fields_ref()->push_back(std::move(field));
276 }
277 return res.first->second;
278 }
279 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)280 StructMetadata<::some::valid::ns::AnotherException>::gen(ThriftMetadata& metadata) {
281 auto res = metadata.structs_ref()->emplace("module.AnotherException", ::apache::thrift::metadata::ThriftStruct{});
282 if (!res.second) {
283 return res.first->second;
284 }
285 ::apache::thrift::metadata::ThriftStruct& module_AnotherException = res.first->second;
286 module_AnotherException.name_ref() = "module.AnotherException";
287 module_AnotherException.is_union_ref() = false;
288 static const EncodedThriftField
289 module_AnotherException_fields[] = {
290 {1, "code", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
291 {101, "req_code", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
292 {2, "message", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
293 };
294 for (const auto& f : module_AnotherException_fields) {
295 ::apache::thrift::metadata::ThriftField field;
296 field.id_ref() = f.id;
297 field.name_ref() = f.name;
298 field.is_optional_ref() = f.is_optional;
299 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
300 field.structured_annotations_ref() = f.structured_annotations;
301 module_AnotherException.fields_ref()->push_back(std::move(field));
302 }
303 return res.first->second;
304 }
305 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)306 StructMetadata<::some::valid::ns::containerStruct>::gen(ThriftMetadata& metadata) {
307 auto res = metadata.structs_ref()->emplace("module.containerStruct", ::apache::thrift::metadata::ThriftStruct{});
308 if (!res.second) {
309 return res.first->second;
310 }
311 ::apache::thrift::metadata::ThriftStruct& module_containerStruct = res.first->second;
312 module_containerStruct.name_ref() = "module.containerStruct";
313 module_containerStruct.is_union_ref() = false;
314 static const EncodedThriftField
315 module_containerStruct_fields[] = {
316 {1, "fieldA", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE), std::vector<ThriftConstStruct>{}},
317 {101, "req_fieldA", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE), std::vector<ThriftConstStruct>{}},
318 {201, "opt_fieldA", true, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE), std::vector<ThriftConstStruct>{}},
319 {2, "fieldB", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE)), std::vector<ThriftConstStruct>{}},
320 {102, "req_fieldB", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE)), std::vector<ThriftConstStruct>{}},
321 {202, "opt_fieldB", true, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE)), std::vector<ThriftConstStruct>{}},
322 {3, "fieldC", false, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
323 {103, "req_fieldC", false, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
324 {203, "opt_fieldC", true, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
325 {4, "fieldD", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
326 {5, "fieldE", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
327 {105, "req_fieldE", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
328 {205, "opt_fieldE", true, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
329 {6, "fieldF", false, std::make_unique<List>(std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE))), std::vector<ThriftConstStruct>{}},
330 {7, "fieldG", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)))), std::vector<ThriftConstStruct>{}},
331 {8, "fieldH", false, std::make_unique<List>(std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE))), std::vector<ThriftConstStruct>{}},
332 {9, "fieldI", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE), std::vector<ThriftConstStruct>{}},
333 {10, "fieldJ", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE))), std::vector<ThriftConstStruct>{}},
334 {11, "fieldK", false, std::make_unique<List>(std::make_unique<List>(std::make_unique<List>(std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE))))), std::vector<ThriftConstStruct>{}},
335 {12, "fieldL", false, std::make_unique<Set>(std::make_unique<Set>(std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE)))), std::vector<ThriftConstStruct>{}},
336 {13, "fieldM", false, std::make_unique<Map>(std::make_unique<Set>(std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE))), std::make_unique<Map>(std::make_unique<List>(std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE))), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE))), std::vector<ThriftConstStruct>{}},
337 {14, "fieldN", false, std::make_unique<Typedef>("module.simpleTypeDef", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
338 {15, "fieldO", false, std::make_unique<Typedef>("module.complexStructTypeDef", std::make_unique<List>(std::make_unique<Map>(std::make_unique<Struct< ::some::valid::ns::Empty>>("module.Empty"), std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"))), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
339 {16, "fieldP", false, std::make_unique<List>(std::make_unique<Typedef>("module.mostComplexTypeDef", std::make_unique<List>(std::make_unique<Typedef>("module.complexStructTypeDef", std::make_unique<List>(std::make_unique<Map>(std::make_unique<Struct< ::some::valid::ns::Empty>>("module.Empty"), std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"))), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
340 {17, "fieldQ", false, std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA"), std::vector<ThriftConstStruct>{}},
341 {18, "fieldR", false, std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA"), std::vector<ThriftConstStruct>{}},
342 {118, "req_fieldR", false, std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA"), std::vector<ThriftConstStruct>{}},
343 {218, "opt_fieldR", true, std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA"), std::vector<ThriftConstStruct>{}},
344 {19, "fieldS", false, std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA"), std::vector<ThriftConstStruct>{}},
345 {21, "fieldT", false, std::make_unique<List>(std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA")), std::vector<ThriftConstStruct>{}},
346 {22, "fieldU", false, std::make_unique<List>(std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA")), std::vector<ThriftConstStruct>{}},
347 {23, "fieldV", false, std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{}},
348 {123, "req_fieldV", false, std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{}},
349 {223, "opt_fieldV", true, std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{}},
350 {24, "fieldW", false, std::make_unique<Set>(std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct")), std::vector<ThriftConstStruct>{}},
351 {25, "fieldX", false, std::make_unique<Union< ::some::valid::ns::ComplexUnion>>("module.ComplexUnion"), std::vector<ThriftConstStruct>{}},
352 {125, "req_fieldX", false, std::make_unique<Union< ::some::valid::ns::ComplexUnion>>("module.ComplexUnion"), std::vector<ThriftConstStruct>{}},
353 {225, "opt_fieldX", true, std::make_unique<Union< ::some::valid::ns::ComplexUnion>>("module.ComplexUnion"), std::vector<ThriftConstStruct>{}},
354 {26, "fieldY", false, std::make_unique<List>(std::make_unique<Union< ::some::valid::ns::ComplexUnion>>("module.ComplexUnion")), std::vector<ThriftConstStruct>{}},
355 {27, "fieldZ", false, std::make_unique<Typedef>("module.unionTypeDef", std::make_unique<Set>(std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion")), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
356 {28, "fieldAA", false, std::make_unique<List>(std::make_unique<Typedef>("module.unionTypeDef", std::make_unique<Set>(std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion")), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
357 {29, "fieldAB", false, std::make_unique<Map>(std::make_unique<Typedef>("module.IndirectionB", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector<ThriftConstStruct>{}), std::make_unique<Typedef>("module.IndirectionC", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
358 {30, "fieldAC", false, std::make_unique<Typedef>("module.MyEnumB", std::make_unique<Enum< ::some::valid::ns::MyEnumB>>("module.MyEnumB"), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
359 {31, "fieldAD", false, std::make_unique<Enum< ::a::different::ns::AnEnum>>("includes.AnEnum"), std::vector<ThriftConstStruct>{}},
360 {32, "fieldAE", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
361 {33, "fieldSD", false, std::make_unique<Typedef>("module.IndirectionD", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
362 };
363 for (const auto& f : module_containerStruct_fields) {
364 ::apache::thrift::metadata::ThriftField field;
365 field.id_ref() = f.id;
366 field.name_ref() = f.name;
367 field.is_optional_ref() = f.is_optional;
368 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
369 field.structured_annotations_ref() = f.structured_annotations;
370 module_containerStruct.fields_ref()->push_back(std::move(field));
371 }
372 return res.first->second;
373 }
374 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)375 StructMetadata<::some::valid::ns::MyIncludedStruct>::gen(ThriftMetadata& metadata) {
376 auto res = metadata.structs_ref()->emplace("module.MyIncludedStruct", ::apache::thrift::metadata::ThriftStruct{});
377 if (!res.second) {
378 return res.first->second;
379 }
380 ::apache::thrift::metadata::ThriftStruct& module_MyIncludedStruct = res.first->second;
381 module_MyIncludedStruct.name_ref() = "module.MyIncludedStruct";
382 module_MyIncludedStruct.is_union_ref() = false;
383 static const EncodedThriftField
384 module_MyIncludedStruct_fields[] = {
385 {1, "MyIncludedInt", false, std::make_unique<Typedef>("includes.IncludedInt64", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
386 {2, "MyIncludedStruct", false, std::make_unique<Typedef>("module.AStruct", std::make_unique<Struct< ::a::different::ns::AStruct>>("includes.AStruct"), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
387 {3, "ARefField", false, std::make_unique<Typedef>("module.AStruct", std::make_unique<Struct< ::a::different::ns::AStruct>>("includes.AStruct"), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
388 {4, "ARequiredField", false, std::make_unique<Typedef>("module.AStruct", std::make_unique<Struct< ::a::different::ns::AStruct>>("includes.AStruct"), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
389 };
390 for (const auto& f : module_MyIncludedStruct_fields) {
391 ::apache::thrift::metadata::ThriftField field;
392 field.id_ref() = f.id;
393 field.name_ref() = f.name;
394 field.is_optional_ref() = f.is_optional;
395 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
396 field.structured_annotations_ref() = f.structured_annotations;
397 module_MyIncludedStruct.fields_ref()->push_back(std::move(field));
398 }
399 return res.first->second;
400 }
401 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)402 StructMetadata<::some::valid::ns::AnnotatedStruct>::gen(ThriftMetadata& metadata) {
403 auto res = metadata.structs_ref()->emplace("module.AnnotatedStruct", ::apache::thrift::metadata::ThriftStruct{});
404 if (!res.second) {
405 return res.first->second;
406 }
407 ::apache::thrift::metadata::ThriftStruct& module_AnnotatedStruct = res.first->second;
408 module_AnnotatedStruct.name_ref() = "module.AnnotatedStruct";
409 module_AnnotatedStruct.is_union_ref() = false;
410 static const EncodedThriftField
411 module_AnnotatedStruct_fields[] = {
412 {1, "no_annotation", false, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
413 {2, "cpp_unique_ref", false, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
414 {3, "cpp2_unique_ref", false, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
415 {4, "container_with_ref", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE))), std::vector<ThriftConstStruct>{}},
416 {5, "req_cpp_unique_ref", false, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
417 {6, "req_cpp2_unique_ref", false, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
418 {7, "req_container_with_ref", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
419 {8, "opt_cpp_unique_ref", true, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
420 {9, "opt_cpp2_unique_ref", true, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
421 {10, "opt_container_with_ref", true, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
422 {11, "ref_type_unique", false, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
423 {12, "ref_type_shared", false, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
424 {13, "ref_type_const", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE))), std::vector<ThriftConstStruct>{}},
425 {14, "req_ref_type_shared", false, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
426 {15, "req_ref_type_const", false, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
427 {16, "req_ref_type_unique", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
428 {17, "opt_ref_type_const", true, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
429 {18, "opt_ref_type_unique", true, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
430 {19, "opt_ref_type_shared", true, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
431 {20, "base_type", false, std::make_unique<Typedef>("module.CppFakeI32", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
432 {21, "list_type", false, std::make_unique<Typedef>("module.FollySmallVectorI64", std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE)), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
433 {22, "set_type", false, std::make_unique<Typedef>("module.SortedVectorSetString", std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
434 {23, "map_type", false, std::make_unique<Typedef>("module.FakeMap", std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE)), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
435 {24, "map_struct_type", false, std::make_unique<Typedef>("module.UnorderedMapStruct", std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct")), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
436 {25, "iobuf_type", false, std::make_unique<Typedef>("module.IOBuf", std::make_unique<Typedef>("module.IOBuf", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
437 {26, "iobuf_ptr", false, std::make_unique<Typedef>("module.IOBufPtr", std::make_unique<Typedef>("module.IOBufPtr", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
438 {27, "list_i32_template", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
439 {28, "list_string_template", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
440 {29, "set_template", false, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
441 {30, "map_template", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
442 {31, "typedef_list_template", false, std::make_unique<Typedef>("module.std_list", std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
443 {32, "typedef_deque_template", false, std::make_unique<Typedef>("module.std_deque", std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
444 {33, "typedef_set_template", false, std::make_unique<Typedef>("module.folly_set", std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
445 {34, "typedef_map_template", false, std::make_unique<Typedef>("module.folly_map", std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
446 {35, "indirection_a", false, std::make_unique<Typedef>("module.IndirectionA", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
447 {36, "indirection_b", false, std::make_unique<List>(std::make_unique<Typedef>("module.IndirectionB", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
448 {37, "indirection_c", false, std::make_unique<Set>(std::make_unique<Typedef>("module.IndirectionC", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
449 {38, "iobuf_type_val", false, std::make_unique<Typedef>("module.IOBuf", std::make_unique<Typedef>("module.IOBuf", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
450 {39, "iobuf_ptr_val", false, std::make_unique<Typedef>("module.IOBufPtr", std::make_unique<Typedef>("module.IOBufPtr", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
451 {40, "struct_struct", false, std::make_unique<Struct< ::some::valid::ns::containerStruct>>("module.containerStruct"), std::vector<ThriftConstStruct>{}},
452 };
453 for (const auto& f : module_AnnotatedStruct_fields) {
454 ::apache::thrift::metadata::ThriftField field;
455 field.id_ref() = f.id;
456 field.name_ref() = f.name;
457 field.is_optional_ref() = f.is_optional;
458 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
459 field.structured_annotations_ref() = f.structured_annotations;
460 module_AnnotatedStruct.fields_ref()->push_back(std::move(field));
461 }
462 return res.first->second;
463 }
464 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)465 StructMetadata<::some::valid::ns::ComplexContainerStruct>::gen(ThriftMetadata& metadata) {
466 auto res = metadata.structs_ref()->emplace("module.ComplexContainerStruct", ::apache::thrift::metadata::ThriftStruct{});
467 if (!res.second) {
468 return res.first->second;
469 }
470 ::apache::thrift::metadata::ThriftStruct& module_ComplexContainerStruct = res.first->second;
471 module_ComplexContainerStruct.name_ref() = "module.ComplexContainerStruct";
472 module_ComplexContainerStruct.is_union_ref() = false;
473 static const EncodedThriftField
474 module_ComplexContainerStruct_fields[] = {
475 {1, "map_of_iobufs", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Typedef>("module.IOBuf", std::make_unique<Typedef>("module.IOBuf", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
476 {2, "map_of_iobuf_ptrs", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Typedef>("module.IOBufPtr", std::make_unique<Typedef>("module.IOBufPtr", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
477 };
478 for (const auto& f : module_ComplexContainerStruct_fields) {
479 ::apache::thrift::metadata::ThriftField field;
480 field.id_ref() = f.id;
481 field.name_ref() = f.name;
482 field.is_optional_ref() = f.is_optional;
483 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
484 field.structured_annotations_ref() = f.structured_annotations;
485 module_ComplexContainerStruct.fields_ref()->push_back(std::move(field));
486 }
487 return res.first->second;
488 }
489 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)490 StructMetadata<::some::valid::ns::FloatStruct>::gen(ThriftMetadata& metadata) {
491 auto res = metadata.structs_ref()->emplace("module.FloatStruct", ::apache::thrift::metadata::ThriftStruct{});
492 if (!res.second) {
493 return res.first->second;
494 }
495 ::apache::thrift::metadata::ThriftStruct& module_FloatStruct = res.first->second;
496 module_FloatStruct.name_ref() = "module.FloatStruct";
497 module_FloatStruct.is_union_ref() = false;
498 static const EncodedThriftField
499 module_FloatStruct_fields[] = {
500 {1, "floatField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_FLOAT_TYPE), std::vector<ThriftConstStruct>{}},
501 {2, "doubleField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector<ThriftConstStruct>{}},
502 };
503 for (const auto& f : module_FloatStruct_fields) {
504 ::apache::thrift::metadata::ThriftField field;
505 field.id_ref() = f.id;
506 field.name_ref() = f.name;
507 field.is_optional_ref() = f.is_optional;
508 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
509 field.structured_annotations_ref() = f.structured_annotations;
510 module_FloatStruct.fields_ref()->push_back(std::move(field));
511 }
512 return res.first->second;
513 }
514 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)515 StructMetadata<::some::valid::ns::FloatUnion>::gen(ThriftMetadata& metadata) {
516 auto res = metadata.structs_ref()->emplace("module.FloatUnion", ::apache::thrift::metadata::ThriftStruct{});
517 if (!res.second) {
518 return res.first->second;
519 }
520 ::apache::thrift::metadata::ThriftStruct& module_FloatUnion = res.first->second;
521 module_FloatUnion.name_ref() = "module.FloatUnion";
522 module_FloatUnion.is_union_ref() = true;
523 static const EncodedThriftField
524 module_FloatUnion_fields[] = {
525 {1, "floatSide", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_FLOAT_TYPE), std::vector<ThriftConstStruct>{}},
526 {2, "doubleSide", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector<ThriftConstStruct>{}},
527 };
528 for (const auto& f : module_FloatUnion_fields) {
529 ::apache::thrift::metadata::ThriftField field;
530 field.id_ref() = f.id;
531 field.name_ref() = f.name;
532 field.is_optional_ref() = f.is_optional;
533 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
534 field.structured_annotations_ref() = f.structured_annotations;
535 module_FloatUnion.fields_ref()->push_back(std::move(field));
536 }
537 return res.first->second;
538 }
539 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)540 StructMetadata<::some::valid::ns::AllRequiredNoExceptMoveCtrStruct>::gen(ThriftMetadata& metadata) {
541 auto res = metadata.structs_ref()->emplace("module.AllRequiredNoExceptMoveCtrStruct", ::apache::thrift::metadata::ThriftStruct{});
542 if (!res.second) {
543 return res.first->second;
544 }
545 ::apache::thrift::metadata::ThriftStruct& module_AllRequiredNoExceptMoveCtrStruct = res.first->second;
546 module_AllRequiredNoExceptMoveCtrStruct.name_ref() = "module.AllRequiredNoExceptMoveCtrStruct";
547 module_AllRequiredNoExceptMoveCtrStruct.is_union_ref() = false;
548 static const EncodedThriftField
549 module_AllRequiredNoExceptMoveCtrStruct_fields[] = {
550 {1, "intField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
551 };
552 for (const auto& f : module_AllRequiredNoExceptMoveCtrStruct_fields) {
553 ::apache::thrift::metadata::ThriftField field;
554 field.id_ref() = f.id;
555 field.name_ref() = f.name;
556 field.is_optional_ref() = f.is_optional;
557 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
558 field.structured_annotations_ref() = f.structured_annotations;
559 module_AllRequiredNoExceptMoveCtrStruct.fields_ref()->push_back(std::move(field));
560 }
561 return res.first->second;
562 }
563
gen(ThriftMetadata & metadata)564 void ExceptionMetadata<::some::valid::ns::AnException>::gen(ThriftMetadata& metadata) {
565 auto res = metadata.exceptions_ref()->emplace("module.AnException", ::apache::thrift::metadata::ThriftException{});
566 if (!res.second) {
567 return;
568 }
569 ::apache::thrift::metadata::ThriftException& module_AnException = res.first->second;
570 module_AnException.name_ref() = "module.AnException";
571 static const EncodedThriftField
572 module_AnException_fields[] = {
573 {1, "code", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
574 {101, "req_code", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
575 {2, "message2", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
576 {102, "req_message", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
577 {3, "exception_list", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
578 {4, "exception_set", false, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE)), std::vector<ThriftConstStruct>{}},
579 {5, "exception_map", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
580 {105, "req_exception_map", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
581 {6, "enum_field", false, std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA"), std::vector<ThriftConstStruct>{}},
582 {7, "enum_container", false, std::make_unique<List>(std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA")), std::vector<ThriftConstStruct>{}},
583 {8, "a_struct", false, std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{}},
584 {9, "a_set_struct", false, std::make_unique<Set>(std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct")), std::vector<ThriftConstStruct>{}},
585 {10, "a_union_list", false, std::make_unique<List>(std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion")), std::vector<ThriftConstStruct>{}},
586 {11, "union_typedef", false, std::make_unique<Typedef>("module.unionTypeDef", std::make_unique<Set>(std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion")), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
587 {19, "a_union_typedef_list", false, std::make_unique<List>(std::make_unique<Typedef>("module.unionTypeDef", std::make_unique<Set>(std::make_unique<Union< ::some::valid::ns::SimpleUnion>>("module.SimpleUnion")), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
588 {20, "MyCustomField", false, std::make_unique<Typedef>("module.CustomProtocolType", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
589 {21, "MyOptCustomField", true, std::make_unique<Typedef>("module.CustomProtocolType", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
590 };
591 for (const auto& f : module_AnException_fields) {
592 ::apache::thrift::metadata::ThriftField field;
593 field.id_ref() = f.id;
594 field.name_ref() = f.name;
595 field.is_optional_ref() = f.is_optional;
596 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
597 module_AnException.fields_ref()->push_back(std::move(field));
598 }
599 }
gen(ThriftMetadata & metadata)600 void ExceptionMetadata<::some::valid::ns::AnotherException>::gen(ThriftMetadata& metadata) {
601 auto res = metadata.exceptions_ref()->emplace("module.AnotherException", ::apache::thrift::metadata::ThriftException{});
602 if (!res.second) {
603 return;
604 }
605 ::apache::thrift::metadata::ThriftException& module_AnotherException = res.first->second;
606 module_AnotherException.name_ref() = "module.AnotherException";
607 static const EncodedThriftField
608 module_AnotherException_fields[] = {
609 {1, "code", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
610 {101, "req_code", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
611 {2, "message", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
612 };
613 for (const auto& f : module_AnotherException_fields) {
614 ::apache::thrift::metadata::ThriftField field;
615 field.id_ref() = f.id;
616 field.name_ref() = f.name;
617 field.is_optional_ref() = f.is_optional;
618 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
619 module_AnotherException.fields_ref()->push_back(std::move(field));
620 }
621 }
622
gen(::apache::thrift::metadata::ThriftServiceMetadataResponse & response)623 void ServiceMetadata<::some::valid::ns::EmptyServiceSvIf>::gen(::apache::thrift::metadata::ThriftServiceMetadataResponse& response) {
624 const ::apache::thrift::metadata::ThriftServiceContextRef* self = genRecurse(*response.metadata_ref(), *response.services_ref());
625 DCHECK(self != nullptr);
626 // TODO(praihan): Remove ThriftServiceContext from response. But in the meantime, we need to fill the field with the result of looking up in ThriftMetadata.
627 ::apache::thrift::metadata::ThriftServiceContext context;
628 context.module_ref() = *self->module_ref();
629 context.service_info_ref() = response.metadata_ref()->services_ref()->at(*self->service_name_ref());
630 response.context_ref() = std::move(context);
631 }
632
genRecurse(ThriftMetadata & metadata,std::vector<ThriftServiceContextRef> & services)633 const ThriftServiceContextRef* ServiceMetadata<::some::valid::ns::EmptyServiceSvIf>::genRecurse(ThriftMetadata& metadata, std::vector<ThriftServiceContextRef>& services) {
634 (void) metadata;
635 ::apache::thrift::metadata::ThriftService module_EmptyService;
636 module_EmptyService.name_ref() = "module.EmptyService";
637 // We need to keep the index around because a reference or iterator could be invalidated.
638 auto selfIndex = services.size();
639 services.emplace_back();
640 ThriftServiceContextRef& context = services[selfIndex];
641 metadata.services_ref()->emplace("module.EmptyService", std::move(module_EmptyService));
642 context.service_name_ref() = "module.EmptyService";
643 ::apache::thrift::metadata::ThriftModuleContext module;
644 module.name_ref() = "module";
645 context.module_ref() = std::move(module);
646 return &context;
647 }
gen_noReturn(ThriftMetadata & metadata,ThriftService & service)648 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_noReturn(ThriftMetadata& metadata, ThriftService& service) {
649 ::apache::thrift::metadata::ThriftFunction func;
650 (void)metadata;
651 func.name_ref() = "noReturn";
652 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_VOID_TYPE);
653 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
654 func.is_oneway_ref() = false;
655 service.functions_ref()->push_back(std::move(func));
656 }
gen_boolReturn(ThriftMetadata & metadata,ThriftService & service)657 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_boolReturn(ThriftMetadata& metadata, ThriftService& service) {
658 ::apache::thrift::metadata::ThriftFunction func;
659 (void)metadata;
660 func.name_ref() = "boolReturn";
661 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE);
662 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
663 func.is_oneway_ref() = false;
664 service.functions_ref()->push_back(std::move(func));
665 }
gen_i16Return(ThriftMetadata & metadata,ThriftService & service)666 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_i16Return(ThriftMetadata& metadata, ThriftService& service) {
667 ::apache::thrift::metadata::ThriftFunction func;
668 (void)metadata;
669 func.name_ref() = "i16Return";
670 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I16_TYPE);
671 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
672 func.is_oneway_ref() = false;
673 service.functions_ref()->push_back(std::move(func));
674 }
gen_i32Return(ThriftMetadata & metadata,ThriftService & service)675 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_i32Return(ThriftMetadata& metadata, ThriftService& service) {
676 ::apache::thrift::metadata::ThriftFunction func;
677 (void)metadata;
678 func.name_ref() = "i32Return";
679 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE);
680 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
681 func.is_oneway_ref() = false;
682 service.functions_ref()->push_back(std::move(func));
683 }
gen_i64Return(ThriftMetadata & metadata,ThriftService & service)684 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_i64Return(ThriftMetadata& metadata, ThriftService& service) {
685 ::apache::thrift::metadata::ThriftFunction func;
686 (void)metadata;
687 func.name_ref() = "i64Return";
688 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE);
689 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
690 func.is_oneway_ref() = false;
691 service.functions_ref()->push_back(std::move(func));
692 }
gen_floatReturn(ThriftMetadata & metadata,ThriftService & service)693 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_floatReturn(ThriftMetadata& metadata, ThriftService& service) {
694 ::apache::thrift::metadata::ThriftFunction func;
695 (void)metadata;
696 func.name_ref() = "floatReturn";
697 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_FLOAT_TYPE);
698 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
699 func.is_oneway_ref() = false;
700 service.functions_ref()->push_back(std::move(func));
701 }
gen_doubleReturn(ThriftMetadata & metadata,ThriftService & service)702 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_doubleReturn(ThriftMetadata& metadata, ThriftService& service) {
703 ::apache::thrift::metadata::ThriftFunction func;
704 (void)metadata;
705 func.name_ref() = "doubleReturn";
706 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE);
707 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
708 func.is_oneway_ref() = false;
709 service.functions_ref()->push_back(std::move(func));
710 }
gen_stringReturn(ThriftMetadata & metadata,ThriftService & service)711 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_stringReturn(ThriftMetadata& metadata, ThriftService& service) {
712 ::apache::thrift::metadata::ThriftFunction func;
713 (void)metadata;
714 func.name_ref() = "stringReturn";
715 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE);
716 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
717 func.is_oneway_ref() = false;
718 service.functions_ref()->push_back(std::move(func));
719 }
gen_binaryReturn(ThriftMetadata & metadata,ThriftService & service)720 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_binaryReturn(ThriftMetadata& metadata, ThriftService& service) {
721 ::apache::thrift::metadata::ThriftFunction func;
722 (void)metadata;
723 func.name_ref() = "binaryReturn";
724 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE);
725 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
726 func.is_oneway_ref() = false;
727 service.functions_ref()->push_back(std::move(func));
728 }
gen_mapReturn(ThriftMetadata & metadata,ThriftService & service)729 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_mapReturn(ThriftMetadata& metadata, ThriftService& service) {
730 ::apache::thrift::metadata::ThriftFunction func;
731 (void)metadata;
732 func.name_ref() = "mapReturn";
733 auto func_ret_type = std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE));
734 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
735 func.is_oneway_ref() = false;
736 service.functions_ref()->push_back(std::move(func));
737 }
gen_simpleTypedefReturn(ThriftMetadata & metadata,ThriftService & service)738 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_simpleTypedefReturn(ThriftMetadata& metadata, ThriftService& service) {
739 ::apache::thrift::metadata::ThriftFunction func;
740 (void)metadata;
741 func.name_ref() = "simpleTypedefReturn";
742 auto func_ret_type = std::make_unique<Typedef>("module.simpleTypeDef", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{});
743 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
744 func.is_oneway_ref() = false;
745 service.functions_ref()->push_back(std::move(func));
746 }
gen_complexTypedefReturn(ThriftMetadata & metadata,ThriftService & service)747 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_complexTypedefReturn(ThriftMetadata& metadata, ThriftService& service) {
748 ::apache::thrift::metadata::ThriftFunction func;
749 (void)metadata;
750 func.name_ref() = "complexTypedefReturn";
751 auto func_ret_type = std::make_unique<Typedef>("module.complexStructTypeDef", std::make_unique<List>(std::make_unique<Map>(std::make_unique<Struct< ::some::valid::ns::Empty>>("module.Empty"), std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"))), std::vector<ThriftConstStruct>{});
752 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
753 func.is_oneway_ref() = false;
754 service.functions_ref()->push_back(std::move(func));
755 }
gen_list_mostComplexTypedefReturn(ThriftMetadata & metadata,ThriftService & service)756 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_list_mostComplexTypedefReturn(ThriftMetadata& metadata, ThriftService& service) {
757 ::apache::thrift::metadata::ThriftFunction func;
758 (void)metadata;
759 func.name_ref() = "list_mostComplexTypedefReturn";
760 auto func_ret_type = std::make_unique<List>(std::make_unique<Typedef>("module.mostComplexTypeDef", std::make_unique<List>(std::make_unique<Typedef>("module.complexStructTypeDef", std::make_unique<List>(std::make_unique<Map>(std::make_unique<Struct< ::some::valid::ns::Empty>>("module.Empty"), std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"))), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}));
761 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
762 func.is_oneway_ref() = false;
763 service.functions_ref()->push_back(std::move(func));
764 }
gen_enumReturn(ThriftMetadata & metadata,ThriftService & service)765 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_enumReturn(ThriftMetadata& metadata, ThriftService& service) {
766 ::apache::thrift::metadata::ThriftFunction func;
767 (void)metadata;
768 func.name_ref() = "enumReturn";
769 auto func_ret_type = std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA");
770 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
771 func.is_oneway_ref() = false;
772 service.functions_ref()->push_back(std::move(func));
773 }
gen_list_EnumReturn(ThriftMetadata & metadata,ThriftService & service)774 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_list_EnumReturn(ThriftMetadata& metadata, ThriftService& service) {
775 ::apache::thrift::metadata::ThriftFunction func;
776 (void)metadata;
777 func.name_ref() = "list_EnumReturn";
778 auto func_ret_type = std::make_unique<List>(std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA"));
779 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
780 func.is_oneway_ref() = false;
781 service.functions_ref()->push_back(std::move(func));
782 }
gen_structReturn(ThriftMetadata & metadata,ThriftService & service)783 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_structReturn(ThriftMetadata& metadata, ThriftService& service) {
784 ::apache::thrift::metadata::ThriftFunction func;
785 (void)metadata;
786 func.name_ref() = "structReturn";
787 auto func_ret_type = std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct");
788 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
789 func.is_oneway_ref() = false;
790 service.functions_ref()->push_back(std::move(func));
791 }
gen_set_StructReturn(ThriftMetadata & metadata,ThriftService & service)792 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_set_StructReturn(ThriftMetadata& metadata, ThriftService& service) {
793 ::apache::thrift::metadata::ThriftFunction func;
794 (void)metadata;
795 func.name_ref() = "set_StructReturn";
796 auto func_ret_type = std::make_unique<Set>(std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"));
797 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
798 func.is_oneway_ref() = false;
799 service.functions_ref()->push_back(std::move(func));
800 }
gen_unionReturn(ThriftMetadata & metadata,ThriftService & service)801 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_unionReturn(ThriftMetadata& metadata, ThriftService& service) {
802 ::apache::thrift::metadata::ThriftFunction func;
803 (void)metadata;
804 func.name_ref() = "unionReturn";
805 auto func_ret_type = std::make_unique<Union< ::some::valid::ns::ComplexUnion>>("module.ComplexUnion");
806 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
807 func.is_oneway_ref() = false;
808 service.functions_ref()->push_back(std::move(func));
809 }
gen_list_UnionReturn(ThriftMetadata & metadata,ThriftService & service)810 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_list_UnionReturn(ThriftMetadata& metadata, ThriftService& service) {
811 ::apache::thrift::metadata::ThriftFunction func;
812 (void)metadata;
813 func.name_ref() = "list_UnionReturn";
814 auto func_ret_type = std::make_unique<List>(std::make_unique<Union< ::some::valid::ns::ComplexUnion>>("module.ComplexUnion"));
815 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
816 func.is_oneway_ref() = false;
817 service.functions_ref()->push_back(std::move(func));
818 }
gen_readDataEb(ThriftMetadata & metadata,ThriftService & service)819 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_readDataEb(ThriftMetadata& metadata, ThriftService& service) {
820 ::apache::thrift::metadata::ThriftFunction func;
821 (void)metadata;
822 func.name_ref() = "readDataEb";
823 auto func_ret_type = std::make_unique<Typedef>("module.IOBuf", std::make_unique<Typedef>("module.IOBuf", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{});
824 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
825 ::apache::thrift::metadata::ThriftField module_ReturnService_readDataEb_size_1;
826 module_ReturnService_readDataEb_size_1.id_ref() = 1;
827 module_ReturnService_readDataEb_size_1.name_ref() = "size";
828 module_ReturnService_readDataEb_size_1.is_optional_ref() = false;
829 auto module_ReturnService_readDataEb_size_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE);
830 module_ReturnService_readDataEb_size_1_type->writeAndGenType(*module_ReturnService_readDataEb_size_1.type_ref(), metadata);
831 func.arguments_ref()->push_back(std::move(module_ReturnService_readDataEb_size_1));
832 func.is_oneway_ref() = false;
833 service.functions_ref()->push_back(std::move(func));
834 }
gen_readData(ThriftMetadata & metadata,ThriftService & service)835 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_readData(ThriftMetadata& metadata, ThriftService& service) {
836 ::apache::thrift::metadata::ThriftFunction func;
837 (void)metadata;
838 func.name_ref() = "readData";
839 auto func_ret_type = std::make_unique<Typedef>("module.IOBufPtr", std::make_unique<Typedef>("module.IOBufPtr", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{});
840 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
841 ::apache::thrift::metadata::ThriftField module_ReturnService_readData_size_1;
842 module_ReturnService_readData_size_1.id_ref() = 1;
843 module_ReturnService_readData_size_1.name_ref() = "size";
844 module_ReturnService_readData_size_1.is_optional_ref() = false;
845 auto module_ReturnService_readData_size_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE);
846 module_ReturnService_readData_size_1_type->writeAndGenType(*module_ReturnService_readData_size_1.type_ref(), metadata);
847 func.arguments_ref()->push_back(std::move(module_ReturnService_readData_size_1));
848 func.is_oneway_ref() = false;
849 service.functions_ref()->push_back(std::move(func));
850 }
851
gen(::apache::thrift::metadata::ThriftServiceMetadataResponse & response)852 void ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen(::apache::thrift::metadata::ThriftServiceMetadataResponse& response) {
853 const ::apache::thrift::metadata::ThriftServiceContextRef* self = genRecurse(*response.metadata_ref(), *response.services_ref());
854 DCHECK(self != nullptr);
855 // TODO(praihan): Remove ThriftServiceContext from response. But in the meantime, we need to fill the field with the result of looking up in ThriftMetadata.
856 ::apache::thrift::metadata::ThriftServiceContext context;
857 context.module_ref() = *self->module_ref();
858 context.service_info_ref() = response.metadata_ref()->services_ref()->at(*self->service_name_ref());
859 response.context_ref() = std::move(context);
860 }
861
genRecurse(ThriftMetadata & metadata,std::vector<ThriftServiceContextRef> & services)862 const ThriftServiceContextRef* ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::genRecurse(ThriftMetadata& metadata, std::vector<ThriftServiceContextRef>& services) {
863 (void) metadata;
864 ::apache::thrift::metadata::ThriftService module_ReturnService;
865 module_ReturnService.name_ref() = "module.ReturnService";
866 static const ThriftFunctionGenerator functions[] = {
867 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_noReturn,
868 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_boolReturn,
869 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_i16Return,
870 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_i32Return,
871 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_i64Return,
872 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_floatReturn,
873 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_doubleReturn,
874 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_stringReturn,
875 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_binaryReturn,
876 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_mapReturn,
877 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_simpleTypedefReturn,
878 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_complexTypedefReturn,
879 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_list_mostComplexTypedefReturn,
880 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_enumReturn,
881 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_list_EnumReturn,
882 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_structReturn,
883 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_set_StructReturn,
884 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_unionReturn,
885 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_list_UnionReturn,
886 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_readDataEb,
887 ServiceMetadata<::some::valid::ns::ReturnServiceSvIf>::gen_readData,
888 };
889 for (auto& function_gen : functions) {
890 function_gen(metadata, module_ReturnService);
891 }
892 // We need to keep the index around because a reference or iterator could be invalidated.
893 auto selfIndex = services.size();
894 services.emplace_back();
895 ThriftServiceContextRef& context = services[selfIndex];
896 metadata.services_ref()->emplace("module.ReturnService", std::move(module_ReturnService));
897 context.service_name_ref() = "module.ReturnService";
898 ::apache::thrift::metadata::ThriftModuleContext module;
899 module.name_ref() = "module";
900 context.module_ref() = std::move(module);
901 return &context;
902 }
gen_void_ret_i16_param(ThriftMetadata & metadata,ThriftService & service)903 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_i16_param(ThriftMetadata& metadata, ThriftService& service) {
904 ::apache::thrift::metadata::ThriftFunction func;
905 (void)metadata;
906 func.name_ref() = "void_ret_i16_param";
907 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_VOID_TYPE);
908 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
909 ::apache::thrift::metadata::ThriftField module_ParamService_void_ret_i16_param_param1_1;
910 module_ParamService_void_ret_i16_param_param1_1.id_ref() = 1;
911 module_ParamService_void_ret_i16_param_param1_1.name_ref() = "param1";
912 module_ParamService_void_ret_i16_param_param1_1.is_optional_ref() = false;
913 auto module_ParamService_void_ret_i16_param_param1_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I16_TYPE);
914 module_ParamService_void_ret_i16_param_param1_1_type->writeAndGenType(*module_ParamService_void_ret_i16_param_param1_1.type_ref(), metadata);
915 func.arguments_ref()->push_back(std::move(module_ParamService_void_ret_i16_param_param1_1));
916 func.is_oneway_ref() = false;
917 service.functions_ref()->push_back(std::move(func));
918 }
gen_void_ret_byte_i16_param(ThriftMetadata & metadata,ThriftService & service)919 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_byte_i16_param(ThriftMetadata& metadata, ThriftService& service) {
920 ::apache::thrift::metadata::ThriftFunction func;
921 (void)metadata;
922 func.name_ref() = "void_ret_byte_i16_param";
923 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_VOID_TYPE);
924 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
925 ::apache::thrift::metadata::ThriftField module_ParamService_void_ret_byte_i16_param_param1_1;
926 module_ParamService_void_ret_byte_i16_param_param1_1.id_ref() = 1;
927 module_ParamService_void_ret_byte_i16_param_param1_1.name_ref() = "param1";
928 module_ParamService_void_ret_byte_i16_param_param1_1.is_optional_ref() = false;
929 auto module_ParamService_void_ret_byte_i16_param_param1_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BYTE_TYPE);
930 module_ParamService_void_ret_byte_i16_param_param1_1_type->writeAndGenType(*module_ParamService_void_ret_byte_i16_param_param1_1.type_ref(), metadata);
931 func.arguments_ref()->push_back(std::move(module_ParamService_void_ret_byte_i16_param_param1_1));
932 ::apache::thrift::metadata::ThriftField module_ParamService_void_ret_byte_i16_param_param2_2;
933 module_ParamService_void_ret_byte_i16_param_param2_2.id_ref() = 2;
934 module_ParamService_void_ret_byte_i16_param_param2_2.name_ref() = "param2";
935 module_ParamService_void_ret_byte_i16_param_param2_2.is_optional_ref() = false;
936 auto module_ParamService_void_ret_byte_i16_param_param2_2_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I16_TYPE);
937 module_ParamService_void_ret_byte_i16_param_param2_2_type->writeAndGenType(*module_ParamService_void_ret_byte_i16_param_param2_2.type_ref(), metadata);
938 func.arguments_ref()->push_back(std::move(module_ParamService_void_ret_byte_i16_param_param2_2));
939 func.is_oneway_ref() = false;
940 service.functions_ref()->push_back(std::move(func));
941 }
gen_void_ret_map_param(ThriftMetadata & metadata,ThriftService & service)942 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_map_param(ThriftMetadata& metadata, ThriftService& service) {
943 ::apache::thrift::metadata::ThriftFunction func;
944 (void)metadata;
945 func.name_ref() = "void_ret_map_param";
946 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_VOID_TYPE);
947 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
948 ::apache::thrift::metadata::ThriftField module_ParamService_void_ret_map_param_param1_1;
949 module_ParamService_void_ret_map_param_param1_1.id_ref() = 1;
950 module_ParamService_void_ret_map_param_param1_1.name_ref() = "param1";
951 module_ParamService_void_ret_map_param_param1_1.is_optional_ref() = false;
952 auto module_ParamService_void_ret_map_param_param1_1_type = std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE));
953 module_ParamService_void_ret_map_param_param1_1_type->writeAndGenType(*module_ParamService_void_ret_map_param_param1_1.type_ref(), metadata);
954 func.arguments_ref()->push_back(std::move(module_ParamService_void_ret_map_param_param1_1));
955 func.is_oneway_ref() = false;
956 service.functions_ref()->push_back(std::move(func));
957 }
gen_void_ret_map_setlist_param(ThriftMetadata & metadata,ThriftService & service)958 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_map_setlist_param(ThriftMetadata& metadata, ThriftService& service) {
959 ::apache::thrift::metadata::ThriftFunction func;
960 (void)metadata;
961 func.name_ref() = "void_ret_map_setlist_param";
962 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_VOID_TYPE);
963 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
964 ::apache::thrift::metadata::ThriftField module_ParamService_void_ret_map_setlist_param_param1_1;
965 module_ParamService_void_ret_map_setlist_param_param1_1.id_ref() = 1;
966 module_ParamService_void_ret_map_setlist_param_param1_1.name_ref() = "param1";
967 module_ParamService_void_ret_map_setlist_param_param1_1.is_optional_ref() = false;
968 auto module_ParamService_void_ret_map_setlist_param_param1_1_type = std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE));
969 module_ParamService_void_ret_map_setlist_param_param1_1_type->writeAndGenType(*module_ParamService_void_ret_map_setlist_param_param1_1.type_ref(), metadata);
970 func.arguments_ref()->push_back(std::move(module_ParamService_void_ret_map_setlist_param_param1_1));
971 ::apache::thrift::metadata::ThriftField module_ParamService_void_ret_map_setlist_param_param2_3;
972 module_ParamService_void_ret_map_setlist_param_param2_3.id_ref() = 3;
973 module_ParamService_void_ret_map_setlist_param_param2_3.name_ref() = "param2";
974 module_ParamService_void_ret_map_setlist_param_param2_3.is_optional_ref() = false;
975 auto module_ParamService_void_ret_map_setlist_param_param2_3_type = std::make_unique<Set>(std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)));
976 module_ParamService_void_ret_map_setlist_param_param2_3_type->writeAndGenType(*module_ParamService_void_ret_map_setlist_param_param2_3.type_ref(), metadata);
977 func.arguments_ref()->push_back(std::move(module_ParamService_void_ret_map_setlist_param_param2_3));
978 func.is_oneway_ref() = false;
979 service.functions_ref()->push_back(std::move(func));
980 }
gen_void_ret_map_typedef_param(ThriftMetadata & metadata,ThriftService & service)981 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_map_typedef_param(ThriftMetadata& metadata, ThriftService& service) {
982 ::apache::thrift::metadata::ThriftFunction func;
983 (void)metadata;
984 func.name_ref() = "void_ret_map_typedef_param";
985 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_VOID_TYPE);
986 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
987 ::apache::thrift::metadata::ThriftField module_ParamService_void_ret_map_typedef_param_param1_1;
988 module_ParamService_void_ret_map_typedef_param_param1_1.id_ref() = 1;
989 module_ParamService_void_ret_map_typedef_param_param1_1.name_ref() = "param1";
990 module_ParamService_void_ret_map_typedef_param_param1_1.is_optional_ref() = false;
991 auto module_ParamService_void_ret_map_typedef_param_param1_1_type = std::make_unique<Typedef>("module.simpleTypeDef", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{});
992 module_ParamService_void_ret_map_typedef_param_param1_1_type->writeAndGenType(*module_ParamService_void_ret_map_typedef_param_param1_1.type_ref(), metadata);
993 func.arguments_ref()->push_back(std::move(module_ParamService_void_ret_map_typedef_param_param1_1));
994 func.is_oneway_ref() = false;
995 service.functions_ref()->push_back(std::move(func));
996 }
gen_void_ret_enum_param(ThriftMetadata & metadata,ThriftService & service)997 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_enum_param(ThriftMetadata& metadata, ThriftService& service) {
998 ::apache::thrift::metadata::ThriftFunction func;
999 (void)metadata;
1000 func.name_ref() = "void_ret_enum_param";
1001 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_VOID_TYPE);
1002 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1003 ::apache::thrift::metadata::ThriftField module_ParamService_void_ret_enum_param_param1_1;
1004 module_ParamService_void_ret_enum_param_param1_1.id_ref() = 1;
1005 module_ParamService_void_ret_enum_param_param1_1.name_ref() = "param1";
1006 module_ParamService_void_ret_enum_param_param1_1.is_optional_ref() = false;
1007 auto module_ParamService_void_ret_enum_param_param1_1_type = std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA");
1008 module_ParamService_void_ret_enum_param_param1_1_type->writeAndGenType(*module_ParamService_void_ret_enum_param_param1_1.type_ref(), metadata);
1009 func.arguments_ref()->push_back(std::move(module_ParamService_void_ret_enum_param_param1_1));
1010 func.is_oneway_ref() = false;
1011 service.functions_ref()->push_back(std::move(func));
1012 }
gen_void_ret_struct_param(ThriftMetadata & metadata,ThriftService & service)1013 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_struct_param(ThriftMetadata& metadata, ThriftService& service) {
1014 ::apache::thrift::metadata::ThriftFunction func;
1015 (void)metadata;
1016 func.name_ref() = "void_ret_struct_param";
1017 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_VOID_TYPE);
1018 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1019 ::apache::thrift::metadata::ThriftField module_ParamService_void_ret_struct_param_param1_1;
1020 module_ParamService_void_ret_struct_param_param1_1.id_ref() = 1;
1021 module_ParamService_void_ret_struct_param_param1_1.name_ref() = "param1";
1022 module_ParamService_void_ret_struct_param_param1_1.is_optional_ref() = false;
1023 auto module_ParamService_void_ret_struct_param_param1_1_type = std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct");
1024 module_ParamService_void_ret_struct_param_param1_1_type->writeAndGenType(*module_ParamService_void_ret_struct_param_param1_1.type_ref(), metadata);
1025 func.arguments_ref()->push_back(std::move(module_ParamService_void_ret_struct_param_param1_1));
1026 func.is_oneway_ref() = false;
1027 service.functions_ref()->push_back(std::move(func));
1028 }
gen_void_ret_listunion_param(ThriftMetadata & metadata,ThriftService & service)1029 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_listunion_param(ThriftMetadata& metadata, ThriftService& service) {
1030 ::apache::thrift::metadata::ThriftFunction func;
1031 (void)metadata;
1032 func.name_ref() = "void_ret_listunion_param";
1033 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_VOID_TYPE);
1034 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1035 ::apache::thrift::metadata::ThriftField module_ParamService_void_ret_listunion_param_param1_1;
1036 module_ParamService_void_ret_listunion_param_param1_1.id_ref() = 1;
1037 module_ParamService_void_ret_listunion_param_param1_1.name_ref() = "param1";
1038 module_ParamService_void_ret_listunion_param_param1_1.is_optional_ref() = false;
1039 auto module_ParamService_void_ret_listunion_param_param1_1_type = std::make_unique<List>(std::make_unique<Union< ::some::valid::ns::ComplexUnion>>("module.ComplexUnion"));
1040 module_ParamService_void_ret_listunion_param_param1_1_type->writeAndGenType(*module_ParamService_void_ret_listunion_param_param1_1.type_ref(), metadata);
1041 func.arguments_ref()->push_back(std::move(module_ParamService_void_ret_listunion_param_param1_1));
1042 func.is_oneway_ref() = false;
1043 service.functions_ref()->push_back(std::move(func));
1044 }
gen_bool_ret_i32_i64_param(ThriftMetadata & metadata,ThriftService & service)1045 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_bool_ret_i32_i64_param(ThriftMetadata& metadata, ThriftService& service) {
1046 ::apache::thrift::metadata::ThriftFunction func;
1047 (void)metadata;
1048 func.name_ref() = "bool_ret_i32_i64_param";
1049 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE);
1050 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1051 ::apache::thrift::metadata::ThriftField module_ParamService_bool_ret_i32_i64_param_param1_1;
1052 module_ParamService_bool_ret_i32_i64_param_param1_1.id_ref() = 1;
1053 module_ParamService_bool_ret_i32_i64_param_param1_1.name_ref() = "param1";
1054 module_ParamService_bool_ret_i32_i64_param_param1_1.is_optional_ref() = false;
1055 auto module_ParamService_bool_ret_i32_i64_param_param1_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE);
1056 module_ParamService_bool_ret_i32_i64_param_param1_1_type->writeAndGenType(*module_ParamService_bool_ret_i32_i64_param_param1_1.type_ref(), metadata);
1057 func.arguments_ref()->push_back(std::move(module_ParamService_bool_ret_i32_i64_param_param1_1));
1058 ::apache::thrift::metadata::ThriftField module_ParamService_bool_ret_i32_i64_param_param2_3;
1059 module_ParamService_bool_ret_i32_i64_param_param2_3.id_ref() = 3;
1060 module_ParamService_bool_ret_i32_i64_param_param2_3.name_ref() = "param2";
1061 module_ParamService_bool_ret_i32_i64_param_param2_3.is_optional_ref() = false;
1062 auto module_ParamService_bool_ret_i32_i64_param_param2_3_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE);
1063 module_ParamService_bool_ret_i32_i64_param_param2_3_type->writeAndGenType(*module_ParamService_bool_ret_i32_i64_param_param2_3.type_ref(), metadata);
1064 func.arguments_ref()->push_back(std::move(module_ParamService_bool_ret_i32_i64_param_param2_3));
1065 func.is_oneway_ref() = false;
1066 service.functions_ref()->push_back(std::move(func));
1067 }
gen_bool_ret_map_param(ThriftMetadata & metadata,ThriftService & service)1068 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_bool_ret_map_param(ThriftMetadata& metadata, ThriftService& service) {
1069 ::apache::thrift::metadata::ThriftFunction func;
1070 (void)metadata;
1071 func.name_ref() = "bool_ret_map_param";
1072 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE);
1073 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1074 ::apache::thrift::metadata::ThriftField module_ParamService_bool_ret_map_param_param1_1;
1075 module_ParamService_bool_ret_map_param_param1_1.id_ref() = 1;
1076 module_ParamService_bool_ret_map_param_param1_1.name_ref() = "param1";
1077 module_ParamService_bool_ret_map_param_param1_1.is_optional_ref() = false;
1078 auto module_ParamService_bool_ret_map_param_param1_1_type = std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE));
1079 module_ParamService_bool_ret_map_param_param1_1_type->writeAndGenType(*module_ParamService_bool_ret_map_param_param1_1.type_ref(), metadata);
1080 func.arguments_ref()->push_back(std::move(module_ParamService_bool_ret_map_param_param1_1));
1081 func.is_oneway_ref() = false;
1082 service.functions_ref()->push_back(std::move(func));
1083 }
gen_bool_ret_union_param(ThriftMetadata & metadata,ThriftService & service)1084 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_bool_ret_union_param(ThriftMetadata& metadata, ThriftService& service) {
1085 ::apache::thrift::metadata::ThriftFunction func;
1086 (void)metadata;
1087 func.name_ref() = "bool_ret_union_param";
1088 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE);
1089 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1090 ::apache::thrift::metadata::ThriftField module_ParamService_bool_ret_union_param_param1_1;
1091 module_ParamService_bool_ret_union_param_param1_1.id_ref() = 1;
1092 module_ParamService_bool_ret_union_param_param1_1.name_ref() = "param1";
1093 module_ParamService_bool_ret_union_param_param1_1.is_optional_ref() = false;
1094 auto module_ParamService_bool_ret_union_param_param1_1_type = std::make_unique<Union< ::some::valid::ns::ComplexUnion>>("module.ComplexUnion");
1095 module_ParamService_bool_ret_union_param_param1_1_type->writeAndGenType(*module_ParamService_bool_ret_union_param_param1_1.type_ref(), metadata);
1096 func.arguments_ref()->push_back(std::move(module_ParamService_bool_ret_union_param_param1_1));
1097 func.is_oneway_ref() = false;
1098 service.functions_ref()->push_back(std::move(func));
1099 }
gen_i64_ret_float_double_param(ThriftMetadata & metadata,ThriftService & service)1100 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_i64_ret_float_double_param(ThriftMetadata& metadata, ThriftService& service) {
1101 ::apache::thrift::metadata::ThriftFunction func;
1102 (void)metadata;
1103 func.name_ref() = "i64_ret_float_double_param";
1104 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE);
1105 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1106 ::apache::thrift::metadata::ThriftField module_ParamService_i64_ret_float_double_param_param1_1;
1107 module_ParamService_i64_ret_float_double_param_param1_1.id_ref() = 1;
1108 module_ParamService_i64_ret_float_double_param_param1_1.name_ref() = "param1";
1109 module_ParamService_i64_ret_float_double_param_param1_1.is_optional_ref() = false;
1110 auto module_ParamService_i64_ret_float_double_param_param1_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_FLOAT_TYPE);
1111 module_ParamService_i64_ret_float_double_param_param1_1_type->writeAndGenType(*module_ParamService_i64_ret_float_double_param_param1_1.type_ref(), metadata);
1112 func.arguments_ref()->push_back(std::move(module_ParamService_i64_ret_float_double_param_param1_1));
1113 ::apache::thrift::metadata::ThriftField module_ParamService_i64_ret_float_double_param_param2_3;
1114 module_ParamService_i64_ret_float_double_param_param2_3.id_ref() = 3;
1115 module_ParamService_i64_ret_float_double_param_param2_3.name_ref() = "param2";
1116 module_ParamService_i64_ret_float_double_param_param2_3.is_optional_ref() = false;
1117 auto module_ParamService_i64_ret_float_double_param_param2_3_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE);
1118 module_ParamService_i64_ret_float_double_param_param2_3_type->writeAndGenType(*module_ParamService_i64_ret_float_double_param_param2_3.type_ref(), metadata);
1119 func.arguments_ref()->push_back(std::move(module_ParamService_i64_ret_float_double_param_param2_3));
1120 func.is_oneway_ref() = false;
1121 service.functions_ref()->push_back(std::move(func));
1122 }
gen_i64_ret_string_typedef_param(ThriftMetadata & metadata,ThriftService & service)1123 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_i64_ret_string_typedef_param(ThriftMetadata& metadata, ThriftService& service) {
1124 ::apache::thrift::metadata::ThriftFunction func;
1125 (void)metadata;
1126 func.name_ref() = "i64_ret_string_typedef_param";
1127 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE);
1128 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1129 ::apache::thrift::metadata::ThriftField module_ParamService_i64_ret_string_typedef_param_param1_1;
1130 module_ParamService_i64_ret_string_typedef_param_param1_1.id_ref() = 1;
1131 module_ParamService_i64_ret_string_typedef_param_param1_1.name_ref() = "param1";
1132 module_ParamService_i64_ret_string_typedef_param_param1_1.is_optional_ref() = false;
1133 auto module_ParamService_i64_ret_string_typedef_param_param1_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE);
1134 module_ParamService_i64_ret_string_typedef_param_param1_1_type->writeAndGenType(*module_ParamService_i64_ret_string_typedef_param_param1_1.type_ref(), metadata);
1135 func.arguments_ref()->push_back(std::move(module_ParamService_i64_ret_string_typedef_param_param1_1));
1136 ::apache::thrift::metadata::ThriftField module_ParamService_i64_ret_string_typedef_param_param2_3;
1137 module_ParamService_i64_ret_string_typedef_param_param2_3.id_ref() = 3;
1138 module_ParamService_i64_ret_string_typedef_param_param2_3.name_ref() = "param2";
1139 module_ParamService_i64_ret_string_typedef_param_param2_3.is_optional_ref() = false;
1140 auto module_ParamService_i64_ret_string_typedef_param_param2_3_type = std::make_unique<Set>(std::make_unique<Typedef>("module.mostComplexTypeDef", std::make_unique<List>(std::make_unique<Typedef>("module.complexStructTypeDef", std::make_unique<List>(std::make_unique<Map>(std::make_unique<Struct< ::some::valid::ns::Empty>>("module.Empty"), std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"))), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}));
1141 module_ParamService_i64_ret_string_typedef_param_param2_3_type->writeAndGenType(*module_ParamService_i64_ret_string_typedef_param_param2_3.type_ref(), metadata);
1142 func.arguments_ref()->push_back(std::move(module_ParamService_i64_ret_string_typedef_param_param2_3));
1143 func.is_oneway_ref() = false;
1144 service.functions_ref()->push_back(std::move(func));
1145 }
gen_i64_ret_i32_i32_i32_i32_i32_param(ThriftMetadata & metadata,ThriftService & service)1146 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_i64_ret_i32_i32_i32_i32_i32_param(ThriftMetadata& metadata, ThriftService& service) {
1147 ::apache::thrift::metadata::ThriftFunction func;
1148 (void)metadata;
1149 func.name_ref() = "i64_ret_i32_i32_i32_i32_i32_param";
1150 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE);
1151 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1152 ::apache::thrift::metadata::ThriftField module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param1_1;
1153 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param1_1.id_ref() = 1;
1154 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param1_1.name_ref() = "param1";
1155 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param1_1.is_optional_ref() = false;
1156 auto module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param1_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE);
1157 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param1_1_type->writeAndGenType(*module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param1_1.type_ref(), metadata);
1158 func.arguments_ref()->push_back(std::move(module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param1_1));
1159 ::apache::thrift::metadata::ThriftField module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param2_2;
1160 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param2_2.id_ref() = 2;
1161 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param2_2.name_ref() = "param2";
1162 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param2_2.is_optional_ref() = false;
1163 auto module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param2_2_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE);
1164 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param2_2_type->writeAndGenType(*module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param2_2.type_ref(), metadata);
1165 func.arguments_ref()->push_back(std::move(module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param2_2));
1166 ::apache::thrift::metadata::ThriftField module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param3_3;
1167 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param3_3.id_ref() = 3;
1168 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param3_3.name_ref() = "param3";
1169 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param3_3.is_optional_ref() = false;
1170 auto module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param3_3_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE);
1171 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param3_3_type->writeAndGenType(*module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param3_3.type_ref(), metadata);
1172 func.arguments_ref()->push_back(std::move(module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param3_3));
1173 ::apache::thrift::metadata::ThriftField module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param4_4;
1174 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param4_4.id_ref() = 4;
1175 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param4_4.name_ref() = "param4";
1176 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param4_4.is_optional_ref() = false;
1177 auto module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param4_4_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE);
1178 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param4_4_type->writeAndGenType(*module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param4_4.type_ref(), metadata);
1179 func.arguments_ref()->push_back(std::move(module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param4_4));
1180 ::apache::thrift::metadata::ThriftField module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param5_5;
1181 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param5_5.id_ref() = 5;
1182 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param5_5.name_ref() = "param5";
1183 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param5_5.is_optional_ref() = false;
1184 auto module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param5_5_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE);
1185 module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param5_5_type->writeAndGenType(*module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param5_5.type_ref(), metadata);
1186 func.arguments_ref()->push_back(std::move(module_ParamService_i64_ret_i32_i32_i32_i32_i32_param_param5_5));
1187 func.is_oneway_ref() = false;
1188 service.functions_ref()->push_back(std::move(func));
1189 }
gen_double_ret_setstruct_param(ThriftMetadata & metadata,ThriftService & service)1190 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_double_ret_setstruct_param(ThriftMetadata& metadata, ThriftService& service) {
1191 ::apache::thrift::metadata::ThriftFunction func;
1192 (void)metadata;
1193 func.name_ref() = "double_ret_setstruct_param";
1194 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE);
1195 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1196 ::apache::thrift::metadata::ThriftField module_ParamService_double_ret_setstruct_param_param1_4;
1197 module_ParamService_double_ret_setstruct_param_param1_4.id_ref() = 4;
1198 module_ParamService_double_ret_setstruct_param_param1_4.name_ref() = "param1";
1199 module_ParamService_double_ret_setstruct_param_param1_4.is_optional_ref() = false;
1200 auto module_ParamService_double_ret_setstruct_param_param1_4_type = std::make_unique<Set>(std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"));
1201 module_ParamService_double_ret_setstruct_param_param1_4_type->writeAndGenType(*module_ParamService_double_ret_setstruct_param_param1_4.type_ref(), metadata);
1202 func.arguments_ref()->push_back(std::move(module_ParamService_double_ret_setstruct_param_param1_4));
1203 func.is_oneway_ref() = false;
1204 service.functions_ref()->push_back(std::move(func));
1205 }
gen_string_ret_string_param(ThriftMetadata & metadata,ThriftService & service)1206 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_string_ret_string_param(ThriftMetadata& metadata, ThriftService& service) {
1207 ::apache::thrift::metadata::ThriftFunction func;
1208 (void)metadata;
1209 func.name_ref() = "string_ret_string_param";
1210 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE);
1211 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1212 ::apache::thrift::metadata::ThriftField module_ParamService_string_ret_string_param_param1_1;
1213 module_ParamService_string_ret_string_param_param1_1.id_ref() = 1;
1214 module_ParamService_string_ret_string_param_param1_1.name_ref() = "param1";
1215 module_ParamService_string_ret_string_param_param1_1.is_optional_ref() = false;
1216 auto module_ParamService_string_ret_string_param_param1_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE);
1217 module_ParamService_string_ret_string_param_param1_1_type->writeAndGenType(*module_ParamService_string_ret_string_param_param1_1.type_ref(), metadata);
1218 func.arguments_ref()->push_back(std::move(module_ParamService_string_ret_string_param_param1_1));
1219 func.is_oneway_ref() = false;
1220 service.functions_ref()->push_back(std::move(func));
1221 }
gen_binary_ret_binary_param(ThriftMetadata & metadata,ThriftService & service)1222 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_binary_ret_binary_param(ThriftMetadata& metadata, ThriftService& service) {
1223 ::apache::thrift::metadata::ThriftFunction func;
1224 (void)metadata;
1225 func.name_ref() = "binary_ret_binary_param";
1226 auto func_ret_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE);
1227 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1228 ::apache::thrift::metadata::ThriftField module_ParamService_binary_ret_binary_param_param1_1;
1229 module_ParamService_binary_ret_binary_param_param1_1.id_ref() = 1;
1230 module_ParamService_binary_ret_binary_param_param1_1.name_ref() = "param1";
1231 module_ParamService_binary_ret_binary_param_param1_1.is_optional_ref() = false;
1232 auto module_ParamService_binary_ret_binary_param_param1_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE);
1233 module_ParamService_binary_ret_binary_param_param1_1_type->writeAndGenType(*module_ParamService_binary_ret_binary_param_param1_1.type_ref(), metadata);
1234 func.arguments_ref()->push_back(std::move(module_ParamService_binary_ret_binary_param_param1_1));
1235 func.is_oneway_ref() = false;
1236 service.functions_ref()->push_back(std::move(func));
1237 }
gen_map_ret_bool_param(ThriftMetadata & metadata,ThriftService & service)1238 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_map_ret_bool_param(ThriftMetadata& metadata, ThriftService& service) {
1239 ::apache::thrift::metadata::ThriftFunction func;
1240 (void)metadata;
1241 func.name_ref() = "map_ret_bool_param";
1242 auto func_ret_type = std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE));
1243 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1244 ::apache::thrift::metadata::ThriftField module_ParamService_map_ret_bool_param_param1_1;
1245 module_ParamService_map_ret_bool_param_param1_1.id_ref() = 1;
1246 module_ParamService_map_ret_bool_param_param1_1.name_ref() = "param1";
1247 module_ParamService_map_ret_bool_param_param1_1.is_optional_ref() = false;
1248 auto module_ParamService_map_ret_bool_param_param1_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE);
1249 module_ParamService_map_ret_bool_param_param1_1_type->writeAndGenType(*module_ParamService_map_ret_bool_param_param1_1.type_ref(), metadata);
1250 func.arguments_ref()->push_back(std::move(module_ParamService_map_ret_bool_param_param1_1));
1251 func.is_oneway_ref() = false;
1252 service.functions_ref()->push_back(std::move(func));
1253 }
gen_list_ret_map_setlist_param(ThriftMetadata & metadata,ThriftService & service)1254 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_list_ret_map_setlist_param(ThriftMetadata& metadata, ThriftService& service) {
1255 ::apache::thrift::metadata::ThriftFunction func;
1256 (void)metadata;
1257 func.name_ref() = "list_ret_map_setlist_param";
1258 auto func_ret_type = std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE));
1259 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1260 ::apache::thrift::metadata::ThriftField module_ParamService_list_ret_map_setlist_param_param1_1;
1261 module_ParamService_list_ret_map_setlist_param_param1_1.id_ref() = 1;
1262 module_ParamService_list_ret_map_setlist_param_param1_1.name_ref() = "param1";
1263 module_ParamService_list_ret_map_setlist_param_param1_1.is_optional_ref() = false;
1264 auto module_ParamService_list_ret_map_setlist_param_param1_1_type = std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)));
1265 module_ParamService_list_ret_map_setlist_param_param1_1_type->writeAndGenType(*module_ParamService_list_ret_map_setlist_param_param1_1.type_ref(), metadata);
1266 func.arguments_ref()->push_back(std::move(module_ParamService_list_ret_map_setlist_param_param1_1));
1267 ::apache::thrift::metadata::ThriftField module_ParamService_list_ret_map_setlist_param_param2_2;
1268 module_ParamService_list_ret_map_setlist_param_param2_2.id_ref() = 2;
1269 module_ParamService_list_ret_map_setlist_param_param2_2.name_ref() = "param2";
1270 module_ParamService_list_ret_map_setlist_param_param2_2.is_optional_ref() = false;
1271 auto module_ParamService_list_ret_map_setlist_param_param2_2_type = std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE));
1272 module_ParamService_list_ret_map_setlist_param_param2_2_type->writeAndGenType(*module_ParamService_list_ret_map_setlist_param_param2_2.type_ref(), metadata);
1273 func.arguments_ref()->push_back(std::move(module_ParamService_list_ret_map_setlist_param_param2_2));
1274 func.is_oneway_ref() = false;
1275 service.functions_ref()->push_back(std::move(func));
1276 }
gen_mapsetlistmapliststring_ret_listlistlist_param(ThriftMetadata & metadata,ThriftService & service)1277 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_mapsetlistmapliststring_ret_listlistlist_param(ThriftMetadata& metadata, ThriftService& service) {
1278 ::apache::thrift::metadata::ThriftFunction func;
1279 (void)metadata;
1280 func.name_ref() = "mapsetlistmapliststring_ret_listlistlist_param";
1281 auto func_ret_type = std::make_unique<Map>(std::make_unique<Set>(std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE))), std::make_unique<Map>(std::make_unique<List>(std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE))), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)));
1282 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1283 ::apache::thrift::metadata::ThriftField module_ParamService_mapsetlistmapliststring_ret_listlistlist_param_param1_1;
1284 module_ParamService_mapsetlistmapliststring_ret_listlistlist_param_param1_1.id_ref() = 1;
1285 module_ParamService_mapsetlistmapliststring_ret_listlistlist_param_param1_1.name_ref() = "param1";
1286 module_ParamService_mapsetlistmapliststring_ret_listlistlist_param_param1_1.is_optional_ref() = false;
1287 auto module_ParamService_mapsetlistmapliststring_ret_listlistlist_param_param1_1_type = std::make_unique<List>(std::make_unique<List>(std::make_unique<List>(std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)))));
1288 module_ParamService_mapsetlistmapliststring_ret_listlistlist_param_param1_1_type->writeAndGenType(*module_ParamService_mapsetlistmapliststring_ret_listlistlist_param_param1_1.type_ref(), metadata);
1289 func.arguments_ref()->push_back(std::move(module_ParamService_mapsetlistmapliststring_ret_listlistlist_param_param1_1));
1290 func.is_oneway_ref() = false;
1291 service.functions_ref()->push_back(std::move(func));
1292 }
gen_typedef_ret_i32_param(ThriftMetadata & metadata,ThriftService & service)1293 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_typedef_ret_i32_param(ThriftMetadata& metadata, ThriftService& service) {
1294 ::apache::thrift::metadata::ThriftFunction func;
1295 (void)metadata;
1296 func.name_ref() = "typedef_ret_i32_param";
1297 auto func_ret_type = std::make_unique<Typedef>("module.simpleTypeDef", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{});
1298 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1299 ::apache::thrift::metadata::ThriftField module_ParamService_typedef_ret_i32_param_param1_1;
1300 module_ParamService_typedef_ret_i32_param_param1_1.id_ref() = 1;
1301 module_ParamService_typedef_ret_i32_param_param1_1.name_ref() = "param1";
1302 module_ParamService_typedef_ret_i32_param_param1_1.is_optional_ref() = false;
1303 auto module_ParamService_typedef_ret_i32_param_param1_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE);
1304 module_ParamService_typedef_ret_i32_param_param1_1_type->writeAndGenType(*module_ParamService_typedef_ret_i32_param_param1_1.type_ref(), metadata);
1305 func.arguments_ref()->push_back(std::move(module_ParamService_typedef_ret_i32_param_param1_1));
1306 func.is_oneway_ref() = false;
1307 service.functions_ref()->push_back(std::move(func));
1308 }
gen_listtypedef_ret_typedef_param(ThriftMetadata & metadata,ThriftService & service)1309 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_listtypedef_ret_typedef_param(ThriftMetadata& metadata, ThriftService& service) {
1310 ::apache::thrift::metadata::ThriftFunction func;
1311 (void)metadata;
1312 func.name_ref() = "listtypedef_ret_typedef_param";
1313 auto func_ret_type = std::make_unique<List>(std::make_unique<Typedef>("module.simpleTypeDef", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}));
1314 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1315 ::apache::thrift::metadata::ThriftField module_ParamService_listtypedef_ret_typedef_param_param1_1;
1316 module_ParamService_listtypedef_ret_typedef_param_param1_1.id_ref() = 1;
1317 module_ParamService_listtypedef_ret_typedef_param_param1_1.name_ref() = "param1";
1318 module_ParamService_listtypedef_ret_typedef_param_param1_1.is_optional_ref() = false;
1319 auto module_ParamService_listtypedef_ret_typedef_param_param1_1_type = std::make_unique<Typedef>("module.complexStructTypeDef", std::make_unique<List>(std::make_unique<Map>(std::make_unique<Struct< ::some::valid::ns::Empty>>("module.Empty"), std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"))), std::vector<ThriftConstStruct>{});
1320 module_ParamService_listtypedef_ret_typedef_param_param1_1_type->writeAndGenType(*module_ParamService_listtypedef_ret_typedef_param_param1_1.type_ref(), metadata);
1321 func.arguments_ref()->push_back(std::move(module_ParamService_listtypedef_ret_typedef_param_param1_1));
1322 func.is_oneway_ref() = false;
1323 service.functions_ref()->push_back(std::move(func));
1324 }
gen_enum_ret_double_param(ThriftMetadata & metadata,ThriftService & service)1325 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_enum_ret_double_param(ThriftMetadata& metadata, ThriftService& service) {
1326 ::apache::thrift::metadata::ThriftFunction func;
1327 (void)metadata;
1328 func.name_ref() = "enum_ret_double_param";
1329 auto func_ret_type = std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA");
1330 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1331 ::apache::thrift::metadata::ThriftField module_ParamService_enum_ret_double_param_param1_3;
1332 module_ParamService_enum_ret_double_param_param1_3.id_ref() = 3;
1333 module_ParamService_enum_ret_double_param_param1_3.name_ref() = "param1";
1334 module_ParamService_enum_ret_double_param_param1_3.is_optional_ref() = false;
1335 auto module_ParamService_enum_ret_double_param_param1_3_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE);
1336 module_ParamService_enum_ret_double_param_param1_3_type->writeAndGenType(*module_ParamService_enum_ret_double_param_param1_3.type_ref(), metadata);
1337 func.arguments_ref()->push_back(std::move(module_ParamService_enum_ret_double_param_param1_3));
1338 func.is_oneway_ref() = false;
1339 service.functions_ref()->push_back(std::move(func));
1340 }
gen_enum_ret_double_enum_param(ThriftMetadata & metadata,ThriftService & service)1341 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_enum_ret_double_enum_param(ThriftMetadata& metadata, ThriftService& service) {
1342 ::apache::thrift::metadata::ThriftFunction func;
1343 (void)metadata;
1344 func.name_ref() = "enum_ret_double_enum_param";
1345 auto func_ret_type = std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA");
1346 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1347 ::apache::thrift::metadata::ThriftField module_ParamService_enum_ret_double_enum_param_param1_3;
1348 module_ParamService_enum_ret_double_enum_param_param1_3.id_ref() = 3;
1349 module_ParamService_enum_ret_double_enum_param_param1_3.name_ref() = "param1";
1350 module_ParamService_enum_ret_double_enum_param_param1_3.is_optional_ref() = false;
1351 auto module_ParamService_enum_ret_double_enum_param_param1_3_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE);
1352 module_ParamService_enum_ret_double_enum_param_param1_3_type->writeAndGenType(*module_ParamService_enum_ret_double_enum_param_param1_3.type_ref(), metadata);
1353 func.arguments_ref()->push_back(std::move(module_ParamService_enum_ret_double_enum_param_param1_3));
1354 ::apache::thrift::metadata::ThriftField module_ParamService_enum_ret_double_enum_param_param2_5;
1355 module_ParamService_enum_ret_double_enum_param_param2_5.id_ref() = 5;
1356 module_ParamService_enum_ret_double_enum_param_param2_5.name_ref() = "param2";
1357 module_ParamService_enum_ret_double_enum_param_param2_5.is_optional_ref() = false;
1358 auto module_ParamService_enum_ret_double_enum_param_param2_5_type = std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA");
1359 module_ParamService_enum_ret_double_enum_param_param2_5_type->writeAndGenType(*module_ParamService_enum_ret_double_enum_param_param2_5.type_ref(), metadata);
1360 func.arguments_ref()->push_back(std::move(module_ParamService_enum_ret_double_enum_param_param2_5));
1361 func.is_oneway_ref() = false;
1362 service.functions_ref()->push_back(std::move(func));
1363 }
gen_listenum_ret_map_param(ThriftMetadata & metadata,ThriftService & service)1364 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_listenum_ret_map_param(ThriftMetadata& metadata, ThriftService& service) {
1365 ::apache::thrift::metadata::ThriftFunction func;
1366 (void)metadata;
1367 func.name_ref() = "listenum_ret_map_param";
1368 auto func_ret_type = std::make_unique<List>(std::make_unique<Enum< ::some::valid::ns::MyEnumA>>("module.MyEnumA"));
1369 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1370 ::apache::thrift::metadata::ThriftField module_ParamService_listenum_ret_map_param_param1_1;
1371 module_ParamService_listenum_ret_map_param_param1_1.id_ref() = 1;
1372 module_ParamService_listenum_ret_map_param_param1_1.name_ref() = "param1";
1373 module_ParamService_listenum_ret_map_param_param1_1.is_optional_ref() = false;
1374 auto module_ParamService_listenum_ret_map_param_param1_1_type = std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE));
1375 module_ParamService_listenum_ret_map_param_param1_1_type->writeAndGenType(*module_ParamService_listenum_ret_map_param_param1_1.type_ref(), metadata);
1376 func.arguments_ref()->push_back(std::move(module_ParamService_listenum_ret_map_param_param1_1));
1377 func.is_oneway_ref() = false;
1378 service.functions_ref()->push_back(std::move(func));
1379 }
gen_struct_ret_i16_param(ThriftMetadata & metadata,ThriftService & service)1380 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_struct_ret_i16_param(ThriftMetadata& metadata, ThriftService& service) {
1381 ::apache::thrift::metadata::ThriftFunction func;
1382 (void)metadata;
1383 func.name_ref() = "struct_ret_i16_param";
1384 auto func_ret_type = std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct");
1385 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1386 ::apache::thrift::metadata::ThriftField module_ParamService_struct_ret_i16_param_param1_1;
1387 module_ParamService_struct_ret_i16_param_param1_1.id_ref() = 1;
1388 module_ParamService_struct_ret_i16_param_param1_1.name_ref() = "param1";
1389 module_ParamService_struct_ret_i16_param_param1_1.is_optional_ref() = false;
1390 auto module_ParamService_struct_ret_i16_param_param1_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I16_TYPE);
1391 module_ParamService_struct_ret_i16_param_param1_1_type->writeAndGenType(*module_ParamService_struct_ret_i16_param_param1_1.type_ref(), metadata);
1392 func.arguments_ref()->push_back(std::move(module_ParamService_struct_ret_i16_param_param1_1));
1393 func.is_oneway_ref() = false;
1394 service.functions_ref()->push_back(std::move(func));
1395 }
gen_setstruct_ret_set_param(ThriftMetadata & metadata,ThriftService & service)1396 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_setstruct_ret_set_param(ThriftMetadata& metadata, ThriftService& service) {
1397 ::apache::thrift::metadata::ThriftFunction func;
1398 (void)metadata;
1399 func.name_ref() = "setstruct_ret_set_param";
1400 auto func_ret_type = std::make_unique<Set>(std::make_unique<Struct< ::some::valid::ns::MyStruct>>("module.MyStruct"));
1401 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1402 ::apache::thrift::metadata::ThriftField module_ParamService_setstruct_ret_set_param_param1_8;
1403 module_ParamService_setstruct_ret_set_param_param1_8.id_ref() = 8;
1404 module_ParamService_setstruct_ret_set_param_param1_8.name_ref() = "param1";
1405 module_ParamService_setstruct_ret_set_param_param1_8.is_optional_ref() = false;
1406 auto module_ParamService_setstruct_ret_set_param_param1_8_type = std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE));
1407 module_ParamService_setstruct_ret_set_param_param1_8_type->writeAndGenType(*module_ParamService_setstruct_ret_set_param_param1_8.type_ref(), metadata);
1408 func.arguments_ref()->push_back(std::move(module_ParamService_setstruct_ret_set_param_param1_8));
1409 func.is_oneway_ref() = false;
1410 service.functions_ref()->push_back(std::move(func));
1411 }
gen_union_ret_i32_i32_param(ThriftMetadata & metadata,ThriftService & service)1412 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_union_ret_i32_i32_param(ThriftMetadata& metadata, ThriftService& service) {
1413 ::apache::thrift::metadata::ThriftFunction func;
1414 (void)metadata;
1415 func.name_ref() = "union_ret_i32_i32_param";
1416 auto func_ret_type = std::make_unique<Union< ::some::valid::ns::ComplexUnion>>("module.ComplexUnion");
1417 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1418 ::apache::thrift::metadata::ThriftField module_ParamService_union_ret_i32_i32_param_param1_4;
1419 module_ParamService_union_ret_i32_i32_param_param1_4.id_ref() = 4;
1420 module_ParamService_union_ret_i32_i32_param_param1_4.name_ref() = "param1";
1421 module_ParamService_union_ret_i32_i32_param_param1_4.is_optional_ref() = false;
1422 auto module_ParamService_union_ret_i32_i32_param_param1_4_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE);
1423 module_ParamService_union_ret_i32_i32_param_param1_4_type->writeAndGenType(*module_ParamService_union_ret_i32_i32_param_param1_4.type_ref(), metadata);
1424 func.arguments_ref()->push_back(std::move(module_ParamService_union_ret_i32_i32_param_param1_4));
1425 ::apache::thrift::metadata::ThriftField module_ParamService_union_ret_i32_i32_param_param2_2;
1426 module_ParamService_union_ret_i32_i32_param_param2_2.id_ref() = 2;
1427 module_ParamService_union_ret_i32_i32_param_param2_2.name_ref() = "param2";
1428 module_ParamService_union_ret_i32_i32_param_param2_2.is_optional_ref() = false;
1429 auto module_ParamService_union_ret_i32_i32_param_param2_2_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE);
1430 module_ParamService_union_ret_i32_i32_param_param2_2_type->writeAndGenType(*module_ParamService_union_ret_i32_i32_param_param2_2.type_ref(), metadata);
1431 func.arguments_ref()->push_back(std::move(module_ParamService_union_ret_i32_i32_param_param2_2));
1432 func.is_oneway_ref() = false;
1433 service.functions_ref()->push_back(std::move(func));
1434 }
gen_listunion_string_param(ThriftMetadata & metadata,ThriftService & service)1435 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_listunion_string_param(ThriftMetadata& metadata, ThriftService& service) {
1436 ::apache::thrift::metadata::ThriftFunction func;
1437 (void)metadata;
1438 func.name_ref() = "listunion_string_param";
1439 auto func_ret_type = std::make_unique<List>(std::make_unique<Union< ::some::valid::ns::ComplexUnion>>("module.ComplexUnion"));
1440 func_ret_type->writeAndGenType(*func.return_type_ref(), metadata);
1441 ::apache::thrift::metadata::ThriftField module_ParamService_listunion_string_param_param1_1;
1442 module_ParamService_listunion_string_param_param1_1.id_ref() = 1;
1443 module_ParamService_listunion_string_param_param1_1.name_ref() = "param1";
1444 module_ParamService_listunion_string_param_param1_1.is_optional_ref() = false;
1445 auto module_ParamService_listunion_string_param_param1_1_type = std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE);
1446 module_ParamService_listunion_string_param_param1_1_type->writeAndGenType(*module_ParamService_listunion_string_param_param1_1.type_ref(), metadata);
1447 func.arguments_ref()->push_back(std::move(module_ParamService_listunion_string_param_param1_1));
1448 func.is_oneway_ref() = false;
1449 service.functions_ref()->push_back(std::move(func));
1450 }
1451
gen(::apache::thrift::metadata::ThriftServiceMetadataResponse & response)1452 void ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen(::apache::thrift::metadata::ThriftServiceMetadataResponse& response) {
1453 const ::apache::thrift::metadata::ThriftServiceContextRef* self = genRecurse(*response.metadata_ref(), *response.services_ref());
1454 DCHECK(self != nullptr);
1455 // TODO(praihan): Remove ThriftServiceContext from response. But in the meantime, we need to fill the field with the result of looking up in ThriftMetadata.
1456 ::apache::thrift::metadata::ThriftServiceContext context;
1457 context.module_ref() = *self->module_ref();
1458 context.service_info_ref() = response.metadata_ref()->services_ref()->at(*self->service_name_ref());
1459 response.context_ref() = std::move(context);
1460 }
1461
genRecurse(ThriftMetadata & metadata,std::vector<ThriftServiceContextRef> & services)1462 const ThriftServiceContextRef* ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::genRecurse(ThriftMetadata& metadata, std::vector<ThriftServiceContextRef>& services) {
1463 (void) metadata;
1464 ::apache::thrift::metadata::ThriftService module_ParamService;
1465 module_ParamService.name_ref() = "module.ParamService";
1466 static const ThriftFunctionGenerator functions[] = {
1467 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_i16_param,
1468 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_byte_i16_param,
1469 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_map_param,
1470 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_map_setlist_param,
1471 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_map_typedef_param,
1472 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_enum_param,
1473 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_struct_param,
1474 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_void_ret_listunion_param,
1475 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_bool_ret_i32_i64_param,
1476 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_bool_ret_map_param,
1477 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_bool_ret_union_param,
1478 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_i64_ret_float_double_param,
1479 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_i64_ret_string_typedef_param,
1480 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_i64_ret_i32_i32_i32_i32_i32_param,
1481 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_double_ret_setstruct_param,
1482 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_string_ret_string_param,
1483 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_binary_ret_binary_param,
1484 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_map_ret_bool_param,
1485 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_list_ret_map_setlist_param,
1486 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_mapsetlistmapliststring_ret_listlistlist_param,
1487 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_typedef_ret_i32_param,
1488 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_listtypedef_ret_typedef_param,
1489 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_enum_ret_double_param,
1490 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_enum_ret_double_enum_param,
1491 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_listenum_ret_map_param,
1492 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_struct_ret_i16_param,
1493 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_setstruct_ret_set_param,
1494 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_union_ret_i32_i32_param,
1495 ServiceMetadata<::some::valid::ns::ParamServiceSvIf>::gen_listunion_string_param,
1496 };
1497 for (auto& function_gen : functions) {
1498 function_gen(metadata, module_ParamService);
1499 }
1500 // We need to keep the index around because a reference or iterator could be invalidated.
1501 auto selfIndex = services.size();
1502 services.emplace_back();
1503 ThriftServiceContextRef& context = services[selfIndex];
1504 metadata.services_ref()->emplace("module.ParamService", std::move(module_ParamService));
1505 context.service_name_ref() = "module.ParamService";
1506 ::apache::thrift::metadata::ThriftModuleContext module;
1507 module.name_ref() = "module";
1508 context.module_ref() = std::move(module);
1509 return &context;
1510 }
1511 } // namespace md
1512 } // namespace detail
1513 } // namespace thrift
1514 } // namespace apache
1515