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/complex-struct/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<::cpp2::MyEnum>::gen(ThriftMetadata& metadata) {
22 auto res = metadata.enums_ref()->emplace("module.MyEnum", ::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.MyEnum";
28 using EnumTraits = TEnumTraits<::cpp2::MyEnum>;
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 }
33
34 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)35 StructMetadata<::cpp2::MyStructFloatFieldThrowExp>::gen(ThriftMetadata& metadata) {
36 auto res = metadata.structs_ref()->emplace("module.MyStructFloatFieldThrowExp", ::apache::thrift::metadata::ThriftStruct{});
37 if (!res.second) {
38 return res.first->second;
39 }
40 ::apache::thrift::metadata::ThriftStruct& module_MyStructFloatFieldThrowExp = res.first->second;
41 module_MyStructFloatFieldThrowExp.name_ref() = "module.MyStructFloatFieldThrowExp";
42 module_MyStructFloatFieldThrowExp.is_union_ref() = false;
43 static const EncodedThriftField
44 module_MyStructFloatFieldThrowExp_fields[] = {
45 {1, "myLongField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
46 {2, "MyByteField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BYTE_TYPE), std::vector<ThriftConstStruct>{}},
47 {3, "myStringField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
48 {4, "myFloatField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_FLOAT_TYPE), std::vector<ThriftConstStruct>{}},
49 };
50 for (const auto& f : module_MyStructFloatFieldThrowExp_fields) {
51 ::apache::thrift::metadata::ThriftField field;
52 field.id_ref() = f.id;
53 field.name_ref() = f.name;
54 field.is_optional_ref() = f.is_optional;
55 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
56 field.structured_annotations_ref() = f.structured_annotations;
57 module_MyStructFloatFieldThrowExp.fields_ref()->push_back(std::move(field));
58 }
59 return res.first->second;
60 }
61 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)62 StructMetadata<::cpp2::MyStructMapFloatThrowExp>::gen(ThriftMetadata& metadata) {
63 auto res = metadata.structs_ref()->emplace("module.MyStructMapFloatThrowExp", ::apache::thrift::metadata::ThriftStruct{});
64 if (!res.second) {
65 return res.first->second;
66 }
67 ::apache::thrift::metadata::ThriftStruct& module_MyStructMapFloatThrowExp = res.first->second;
68 module_MyStructMapFloatThrowExp.name_ref() = "module.MyStructMapFloatThrowExp";
69 module_MyStructMapFloatThrowExp.is_union_ref() = false;
70 static const EncodedThriftField
71 module_MyStructMapFloatThrowExp_fields[] = {
72 {1, "myLongField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
73 {2, "mapListOfFloats", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<List>(std::make_unique<List>(std::make_unique<Typedef>("module.floatTypedef", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_FLOAT_TYPE), std::vector<ThriftConstStruct>{})))), std::vector<ThriftConstStruct>{}},
74 };
75 for (const auto& f : module_MyStructMapFloatThrowExp_fields) {
76 ::apache::thrift::metadata::ThriftField field;
77 field.id_ref() = f.id;
78 field.name_ref() = f.name;
79 field.is_optional_ref() = f.is_optional;
80 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
81 field.structured_annotations_ref() = f.structured_annotations;
82 module_MyStructMapFloatThrowExp.fields_ref()->push_back(std::move(field));
83 }
84 return res.first->second;
85 }
86 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)87 StructMetadata<::cpp2::MyDataItem>::gen(ThriftMetadata& metadata) {
88 auto res = metadata.structs_ref()->emplace("module.MyDataItem", ::apache::thrift::metadata::ThriftStruct{});
89 if (!res.second) {
90 return res.first->second;
91 }
92 ::apache::thrift::metadata::ThriftStruct& module_MyDataItem = res.first->second;
93 module_MyDataItem.name_ref() = "module.MyDataItem";
94 module_MyDataItem.is_union_ref() = false;
95 return res.first->second;
96 }
97 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)98 StructMetadata<::cpp2::MyStruct>::gen(ThriftMetadata& metadata) {
99 auto res = metadata.structs_ref()->emplace("module.MyStruct", ::apache::thrift::metadata::ThriftStruct{});
100 if (!res.second) {
101 return res.first->second;
102 }
103 ::apache::thrift::metadata::ThriftStruct& module_MyStruct = res.first->second;
104 module_MyStruct.name_ref() = "module.MyStruct";
105 module_MyStruct.is_union_ref() = false;
106 static const EncodedThriftField
107 module_MyStruct_fields[] = {
108 {1, "MyIntField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
109 {2, "MyStringField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
110 {3, "MyDataField", false, std::make_unique<Typedef>("module.MyDataItem", std::make_unique<Struct< ::cpp2::MyDataItem>>("module.MyDataItem"), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
111 {4, "myEnum", false, std::make_unique<Enum< ::cpp2::MyEnum>>("module.MyEnum"), std::vector<ThriftConstStruct>{}},
112 {5, "MyBoolField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE), std::vector<ThriftConstStruct>{}},
113 {6, "MyByteField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BYTE_TYPE), std::vector<ThriftConstStruct>{}},
114 {7, "MyShortField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I16_TYPE), std::vector<ThriftConstStruct>{}},
115 {8, "MyLongField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
116 {9, "MyDoubleField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector<ThriftConstStruct>{}},
117 {10, "lDouble", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE)), std::vector<ThriftConstStruct>{}},
118 {11, "lShort", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I16_TYPE)), std::vector<ThriftConstStruct>{}},
119 {12, "lInteger", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
120 {13, "lLong", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE)), std::vector<ThriftConstStruct>{}},
121 {14, "lString", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
122 {15, "lBool", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE)), std::vector<ThriftConstStruct>{}},
123 {16, "lByte", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BYTE_TYPE)), std::vector<ThriftConstStruct>{}},
124 {17, "mShortString", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I16_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
125 {18, "mIntegerString", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
126 {19, "mStringMyStruct", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Typedef>("module.MyStruct", std::make_unique<Struct< ::cpp2::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
127 {20, "mStringBool", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE)), std::vector<ThriftConstStruct>{}},
128 {21, "mIntegerInteger", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
129 {22, "mIntegerBool", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE)), std::vector<ThriftConstStruct>{}},
130 {23, "sShort", false, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I16_TYPE)), std::vector<ThriftConstStruct>{}},
131 {24, "sMyStruct", false, std::make_unique<Set>(std::make_unique<Typedef>("module.MyStruct", std::make_unique<Struct< ::cpp2::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
132 {25, "sLong", false, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE)), std::vector<ThriftConstStruct>{}},
133 {26, "sString", false, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
134 {27, "sByte", false, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BYTE_TYPE)), std::vector<ThriftConstStruct>{}},
135 {28, "mListList", false, std::make_unique<Map>(std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE))), std::vector<ThriftConstStruct>{}},
136 };
137 for (const auto& f : module_MyStruct_fields) {
138 ::apache::thrift::metadata::ThriftField field;
139 field.id_ref() = f.id;
140 field.name_ref() = f.name;
141 field.is_optional_ref() = f.is_optional;
142 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
143 field.structured_annotations_ref() = f.structured_annotations;
144 module_MyStruct.fields_ref()->push_back(std::move(field));
145 }
146 return res.first->second;
147 }
148 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)149 StructMetadata<::cpp2::SimpleStruct>::gen(ThriftMetadata& metadata) {
150 auto res = metadata.structs_ref()->emplace("module.SimpleStruct", ::apache::thrift::metadata::ThriftStruct{});
151 if (!res.second) {
152 return res.first->second;
153 }
154 ::apache::thrift::metadata::ThriftStruct& module_SimpleStruct = res.first->second;
155 module_SimpleStruct.name_ref() = "module.SimpleStruct";
156 module_SimpleStruct.is_union_ref() = false;
157 static const EncodedThriftField
158 module_SimpleStruct_fields[] = {
159 {1, "age", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
160 {2, "name", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
161 };
162 for (const auto& f : module_SimpleStruct_fields) {
163 ::apache::thrift::metadata::ThriftField field;
164 field.id_ref() = f.id;
165 field.name_ref() = f.name;
166 field.is_optional_ref() = f.is_optional;
167 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
168 field.structured_annotations_ref() = f.structured_annotations;
169 module_SimpleStruct.fields_ref()->push_back(std::move(field));
170 }
171 return res.first->second;
172 }
173 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)174 StructMetadata<::cpp2::ComplexNestedStruct>::gen(ThriftMetadata& metadata) {
175 auto res = metadata.structs_ref()->emplace("module.ComplexNestedStruct", ::apache::thrift::metadata::ThriftStruct{});
176 if (!res.second) {
177 return res.first->second;
178 }
179 ::apache::thrift::metadata::ThriftStruct& module_ComplexNestedStruct = res.first->second;
180 module_ComplexNestedStruct.name_ref() = "module.ComplexNestedStruct";
181 module_ComplexNestedStruct.is_union_ref() = false;
182 static const EncodedThriftField
183 module_ComplexNestedStruct_fields[] = {
184 {1, "setOfSetOfInt", false, std::make_unique<Set>(std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE))), std::vector<ThriftConstStruct>{}},
185 {2, "listofListOfListOfListOfEnum", false, std::make_unique<List>(std::make_unique<List>(std::make_unique<List>(std::make_unique<List>(std::make_unique<Enum< ::cpp2::MyEnum>>("module.MyEnum"))))), std::vector<ThriftConstStruct>{}},
186 {3, "listOfListOfMyStruct", false, std::make_unique<List>(std::make_unique<List>(std::make_unique<Struct< ::cpp2::MyStruct>>("module.MyStruct"))), std::vector<ThriftConstStruct>{}},
187 {4, "setOfListOfListOfLong", false, std::make_unique<Set>(std::make_unique<List>(std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE)))), std::vector<ThriftConstStruct>{}},
188 {5, "setOfSetOfsetOfLong", false, std::make_unique<Set>(std::make_unique<Set>(std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE)))), std::vector<ThriftConstStruct>{}},
189 {6, "mapStructListOfListOfLong", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<List>(std::make_unique<List>(std::make_unique<Struct< ::cpp2::MyStruct>>("module.MyStruct")))), std::vector<ThriftConstStruct>{}},
190 {7, "mKeyStructValInt", false, std::make_unique<Map>(std::make_unique<Struct< ::cpp2::MyStruct>>("module.MyStruct"), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
191 {8, "listOfMapKeyIntValInt", false, std::make_unique<List>(std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE))), std::vector<ThriftConstStruct>{}},
192 {9, "listOfMapKeyStrValList", false, std::make_unique<List>(std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<List>(std::make_unique<Struct< ::cpp2::MyStruct>>("module.MyStruct")))), std::vector<ThriftConstStruct>{}},
193 {10, "mapKeySetValLong", false, std::make_unique<Map>(std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE)), std::vector<ThriftConstStruct>{}},
194 {11, "mapKeyListValLong", false, std::make_unique<Map>(std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
195 {12, "mapKeyMapValMap", false, std::make_unique<Map>(std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE))), std::vector<ThriftConstStruct>{}},
196 {13, "mapKeySetValMap", 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>{}},
197 {14, "NestedMaps", false, std::make_unique<Map>(std::make_unique<Map>(std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE))), std::vector<ThriftConstStruct>{}},
198 {15, "mapKeyIntValList", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<List>(std::make_unique<Struct< ::cpp2::MyStruct>>("module.MyStruct"))), std::vector<ThriftConstStruct>{}},
199 {16, "mapKeyIntValSet", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE))), std::vector<ThriftConstStruct>{}},
200 {17, "mapKeySetValInt", false, std::make_unique<Map>(std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BOOL_TYPE)), std::make_unique<Enum< ::cpp2::MyEnum>>("module.MyEnum")), std::vector<ThriftConstStruct>{}},
201 {18, "mapKeyListValSet", false, std::make_unique<Map>(std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::make_unique<Set>(std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)))), std::vector<ThriftConstStruct>{}},
202 };
203 for (const auto& f : module_ComplexNestedStruct_fields) {
204 ::apache::thrift::metadata::ThriftField field;
205 field.id_ref() = f.id;
206 field.name_ref() = f.name;
207 field.is_optional_ref() = f.is_optional;
208 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
209 field.structured_annotations_ref() = f.structured_annotations;
210 module_ComplexNestedStruct.fields_ref()->push_back(std::move(field));
211 }
212 return res.first->second;
213 }
214 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)215 StructMetadata<::cpp2::MyUnion>::gen(ThriftMetadata& metadata) {
216 auto res = metadata.structs_ref()->emplace("module.MyUnion", ::apache::thrift::metadata::ThriftStruct{});
217 if (!res.second) {
218 return res.first->second;
219 }
220 ::apache::thrift::metadata::ThriftStruct& module_MyUnion = res.first->second;
221 module_MyUnion.name_ref() = "module.MyUnion";
222 module_MyUnion.is_union_ref() = true;
223 static const EncodedThriftField
224 module_MyUnion_fields[] = {
225 {1, "myEnum", false, std::make_unique<Enum< ::cpp2::MyEnum>>("module.MyEnum"), std::vector<ThriftConstStruct>{}},
226 {2, "myStruct", false, std::make_unique<Struct< ::cpp2::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{}},
227 {3, "myDataItem", false, std::make_unique<Struct< ::cpp2::MyDataItem>>("module.MyDataItem"), std::vector<ThriftConstStruct>{}},
228 {4, "complexNestedStruct", false, std::make_unique<Typedef>("module.ComplexNestedStruct", std::make_unique<Struct< ::cpp2::ComplexNestedStruct>>("module.ComplexNestedStruct"), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
229 {5, "longValue", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
230 {6, "intValue", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
231 };
232 for (const auto& f : module_MyUnion_fields) {
233 ::apache::thrift::metadata::ThriftField field;
234 field.id_ref() = f.id;
235 field.name_ref() = f.name;
236 field.is_optional_ref() = f.is_optional;
237 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
238 field.structured_annotations_ref() = f.structured_annotations;
239 module_MyUnion.fields_ref()->push_back(std::move(field));
240 }
241 return res.first->second;
242 }
243 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)244 StructMetadata<::cpp2::defaultStruct>::gen(ThriftMetadata& metadata) {
245 auto res = metadata.structs_ref()->emplace("module.defaultStruct", ::apache::thrift::metadata::ThriftStruct{});
246 if (!res.second) {
247 return res.first->second;
248 }
249 ::apache::thrift::metadata::ThriftStruct& module_defaultStruct = res.first->second;
250 module_defaultStruct.name_ref() = "module.defaultStruct";
251 module_defaultStruct.is_union_ref() = false;
252 static const EncodedThriftField
253 module_defaultStruct_fields[] = {
254 {1, "myLongDFset", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
255 {2, "myLongDF", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
256 {3, "portDFset", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
257 {4, "portNum", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
258 {5, "myBinaryDFset", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}},
259 {6, "myBinary", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}},
260 {7, "myByteDFSet", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BYTE_TYPE), std::vector<ThriftConstStruct>{}},
261 {8, "myByte", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BYTE_TYPE), std::vector<ThriftConstStruct>{}},
262 {9, "myDoubleDFset", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector<ThriftConstStruct>{}},
263 {10, "myDoubleDFZero", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector<ThriftConstStruct>{}},
264 {12, "myDouble", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector<ThriftConstStruct>{}},
265 {13, "field3", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
266 {14, "myList", false, std::make_unique<List>(std::make_unique<Enum< ::cpp2::MyEnum>>("module.MyEnum")), std::vector<ThriftConstStruct>{}},
267 {15, "mySet", false, std::make_unique<Set>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
268 {16, "simpleStruct", false, std::make_unique<Struct< ::cpp2::SimpleStruct>>("module.SimpleStruct"), std::vector<ThriftConstStruct>{}},
269 {17, "listStructDFset", false, std::make_unique<List>(std::make_unique<Struct< ::cpp2::SimpleStruct>>("module.SimpleStruct")), std::vector<ThriftConstStruct>{}},
270 {18, "myUnion", false, std::make_unique<Typedef>("module.MyUnion", std::make_unique<Union< ::cpp2::MyUnion>>("module.MyUnion"), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
271 {19, "listUnionDFset", false, std::make_unique<List>(std::make_unique<Typedef>("module.MyUnion", std::make_unique<Union< ::cpp2::MyUnion>>("module.MyUnion"), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
272 {20, "mapNestlistStructDfSet", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<List>(std::make_unique<Struct< ::cpp2::SimpleStruct>>("module.SimpleStruct"))), std::vector<ThriftConstStruct>{}},
273 {21, "mapJavaTypeDFset", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
274 {22, "emptyMap", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector<ThriftConstStruct>{}},
275 {23, "enumMapDFset", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Enum< ::cpp2::MyEnum>>("module.MyEnum"))), std::vector<ThriftConstStruct>{}},
276 };
277 for (const auto& f : module_defaultStruct_fields) {
278 ::apache::thrift::metadata::ThriftField field;
279 field.id_ref() = f.id;
280 field.name_ref() = f.name;
281 field.is_optional_ref() = f.is_optional;
282 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
283 field.structured_annotations_ref() = f.structured_annotations;
284 module_defaultStruct.fields_ref()->push_back(std::move(field));
285 }
286 return res.first->second;
287 }
288 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)289 StructMetadata<::cpp2::MyStructTypeDef>::gen(ThriftMetadata& metadata) {
290 auto res = metadata.structs_ref()->emplace("module.MyStructTypeDef", ::apache::thrift::metadata::ThriftStruct{});
291 if (!res.second) {
292 return res.first->second;
293 }
294 ::apache::thrift::metadata::ThriftStruct& module_MyStructTypeDef = res.first->second;
295 module_MyStructTypeDef.name_ref() = "module.MyStructTypeDef";
296 module_MyStructTypeDef.is_union_ref() = false;
297 static const EncodedThriftField
298 module_MyStructTypeDef_fields[] = {
299 {1, "myLongField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}},
300 {2, "myLongTypeDef", false, std::make_unique<Typedef>("module.longTypeDef", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
301 {3, "myStringField", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
302 {4, "myStringTypedef", false, std::make_unique<Typedef>("module.stringTypedef", std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
303 {5, "myMapField", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I16_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
304 {6, "myMapTypedef", false, std::make_unique<Typedef>("module.mapTypedef", std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I16_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
305 {7, "myListField", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE)), std::vector<ThriftConstStruct>{}},
306 {8, "myListTypedef", false, std::make_unique<Typedef>("module.listTypedef", std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE)), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
307 {9, "myMapListOfTypeDef", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I16_TYPE), std::make_unique<List>(std::make_unique<Typedef>("module.listTypedef", std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE)), std::vector<ThriftConstStruct>{}))), std::vector<ThriftConstStruct>{}},
308 };
309 for (const auto& f : module_MyStructTypeDef_fields) {
310 ::apache::thrift::metadata::ThriftField field;
311 field.id_ref() = f.id;
312 field.name_ref() = f.name;
313 field.is_optional_ref() = f.is_optional;
314 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
315 field.structured_annotations_ref() = f.structured_annotations;
316 module_MyStructTypeDef.fields_ref()->push_back(std::move(field));
317 }
318 return res.first->second;
319 }
320 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)321 StructMetadata<::cpp2::MyUnionFloatFieldThrowExp>::gen(ThriftMetadata& metadata) {
322 auto res = metadata.structs_ref()->emplace("module.MyUnionFloatFieldThrowExp", ::apache::thrift::metadata::ThriftStruct{});
323 if (!res.second) {
324 return res.first->second;
325 }
326 ::apache::thrift::metadata::ThriftStruct& module_MyUnionFloatFieldThrowExp = res.first->second;
327 module_MyUnionFloatFieldThrowExp.name_ref() = "module.MyUnionFloatFieldThrowExp";
328 module_MyUnionFloatFieldThrowExp.is_union_ref() = true;
329 static const EncodedThriftField
330 module_MyUnionFloatFieldThrowExp_fields[] = {
331 {1, "myEnum", false, std::make_unique<Enum< ::cpp2::MyEnum>>("module.MyEnum"), std::vector<ThriftConstStruct>{}},
332 {2, "setFloat", false, std::make_unique<List>(std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_FLOAT_TYPE))), std::vector<ThriftConstStruct>{}},
333 {3, "myDataItem", false, std::make_unique<Struct< ::cpp2::MyDataItem>>("module.MyDataItem"), std::vector<ThriftConstStruct>{}},
334 {4, "complexNestedStruct", false, std::make_unique<Typedef>("module.ComplexNestedStruct", std::make_unique<Struct< ::cpp2::ComplexNestedStruct>>("module.ComplexNestedStruct"), std::vector<ThriftConstStruct>{}), std::vector<ThriftConstStruct>{}},
335 };
336 for (const auto& f : module_MyUnionFloatFieldThrowExp_fields) {
337 ::apache::thrift::metadata::ThriftField field;
338 field.id_ref() = f.id;
339 field.name_ref() = f.name;
340 field.is_optional_ref() = f.is_optional;
341 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
342 field.structured_annotations_ref() = f.structured_annotations;
343 module_MyUnionFloatFieldThrowExp.fields_ref()->push_back(std::move(field));
344 }
345 return res.first->second;
346 }
347 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)348 StructMetadata<::cpp2::TypeRemapped>::gen(ThriftMetadata& metadata) {
349 auto res = metadata.structs_ref()->emplace("module.TypeRemapped", ::apache::thrift::metadata::ThriftStruct{});
350 if (!res.second) {
351 return res.first->second;
352 }
353 ::apache::thrift::metadata::ThriftStruct& module_TypeRemapped = res.first->second;
354 module_TypeRemapped.name_ref() = "module.TypeRemapped";
355 module_TypeRemapped.is_union_ref() = false;
356 static const EncodedThriftField
357 module_TypeRemapped_fields[] = {
358 {1, "lsMap", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
359 {2, "ioMap", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Typedef>("module.FMap", std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE)), std::vector<ThriftConstStruct>{})), std::vector<ThriftConstStruct>{}},
360 {3, "BigInteger", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
361 {4, "binaryTestBuffer", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector<ThriftConstStruct>{}},
362 };
363 for (const auto& f : module_TypeRemapped_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_TypeRemapped.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<::cpp2::emptyXcep>::gen(ThriftMetadata& metadata) {
376 auto res = metadata.structs_ref()->emplace("module.emptyXcep", ::apache::thrift::metadata::ThriftStruct{});
377 if (!res.second) {
378 return res.first->second;
379 }
380 ::apache::thrift::metadata::ThriftStruct& module_emptyXcep = res.first->second;
381 module_emptyXcep.name_ref() = "module.emptyXcep";
382 module_emptyXcep.is_union_ref() = false;
383 return res.first->second;
384 }
385 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)386 StructMetadata<::cpp2::reqXcep>::gen(ThriftMetadata& metadata) {
387 auto res = metadata.structs_ref()->emplace("module.reqXcep", ::apache::thrift::metadata::ThriftStruct{});
388 if (!res.second) {
389 return res.first->second;
390 }
391 ::apache::thrift::metadata::ThriftStruct& module_reqXcep = res.first->second;
392 module_reqXcep.name_ref() = "module.reqXcep";
393 module_reqXcep.is_union_ref() = false;
394 static const EncodedThriftField
395 module_reqXcep_fields[] = {
396 {1, "message", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
397 {2, "errorCode", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
398 };
399 for (const auto& f : module_reqXcep_fields) {
400 ::apache::thrift::metadata::ThriftField field;
401 field.id_ref() = f.id;
402 field.name_ref() = f.name;
403 field.is_optional_ref() = f.is_optional;
404 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
405 field.structured_annotations_ref() = f.structured_annotations;
406 module_reqXcep.fields_ref()->push_back(std::move(field));
407 }
408 return res.first->second;
409 }
410 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)411 StructMetadata<::cpp2::optXcep>::gen(ThriftMetadata& metadata) {
412 auto res = metadata.structs_ref()->emplace("module.optXcep", ::apache::thrift::metadata::ThriftStruct{});
413 if (!res.second) {
414 return res.first->second;
415 }
416 ::apache::thrift::metadata::ThriftStruct& module_optXcep = res.first->second;
417 module_optXcep.name_ref() = "module.optXcep";
418 module_optXcep.is_union_ref() = false;
419 static const EncodedThriftField
420 module_optXcep_fields[] = {
421 {1, "message", true, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
422 {2, "errorCode", true, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
423 };
424 for (const auto& f : module_optXcep_fields) {
425 ::apache::thrift::metadata::ThriftField field;
426 field.id_ref() = f.id;
427 field.name_ref() = f.name;
428 field.is_optional_ref() = f.is_optional;
429 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
430 field.structured_annotations_ref() = f.structured_annotations;
431 module_optXcep.fields_ref()->push_back(std::move(field));
432 }
433 return res.first->second;
434 }
435 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)436 StructMetadata<::cpp2::complexException>::gen(ThriftMetadata& metadata) {
437 auto res = metadata.structs_ref()->emplace("module.complexException", ::apache::thrift::metadata::ThriftStruct{});
438 if (!res.second) {
439 return res.first->second;
440 }
441 ::apache::thrift::metadata::ThriftStruct& module_complexException = res.first->second;
442 module_complexException.name_ref() = "module.complexException";
443 module_complexException.is_union_ref() = false;
444 static const EncodedThriftField
445 module_complexException_fields[] = {
446 {1, "message", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
447 {2, "listStrings", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
448 {3, "errorEnum", false, std::make_unique<Enum< ::cpp2::MyEnum>>("module.MyEnum"), std::vector<ThriftConstStruct>{}},
449 {4, "unionError", true, std::make_unique<Union< ::cpp2::MyUnion>>("module.MyUnion"), std::vector<ThriftConstStruct>{}},
450 {5, "structError", false, std::make_unique<Struct< ::cpp2::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{}},
451 {6, "lsMap", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
452 };
453 for (const auto& f : module_complexException_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_complexException.fields_ref()->push_back(std::move(field));
461 }
462 return res.first->second;
463 }
464
gen(ThriftMetadata & metadata)465 void ExceptionMetadata<::cpp2::emptyXcep>::gen(ThriftMetadata& metadata) {
466 auto res = metadata.exceptions_ref()->emplace("module.emptyXcep", ::apache::thrift::metadata::ThriftException{});
467 if (!res.second) {
468 return;
469 }
470 ::apache::thrift::metadata::ThriftException& module_emptyXcep = res.first->second;
471 module_emptyXcep.name_ref() = "module.emptyXcep";
472 }
gen(ThriftMetadata & metadata)473 void ExceptionMetadata<::cpp2::reqXcep>::gen(ThriftMetadata& metadata) {
474 auto res = metadata.exceptions_ref()->emplace("module.reqXcep", ::apache::thrift::metadata::ThriftException{});
475 if (!res.second) {
476 return;
477 }
478 ::apache::thrift::metadata::ThriftException& module_reqXcep = res.first->second;
479 module_reqXcep.name_ref() = "module.reqXcep";
480 static const EncodedThriftField
481 module_reqXcep_fields[] = {
482 {1, "message", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
483 {2, "errorCode", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
484 };
485 for (const auto& f : module_reqXcep_fields) {
486 ::apache::thrift::metadata::ThriftField field;
487 field.id_ref() = f.id;
488 field.name_ref() = f.name;
489 field.is_optional_ref() = f.is_optional;
490 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
491 module_reqXcep.fields_ref()->push_back(std::move(field));
492 }
493 }
gen(ThriftMetadata & metadata)494 void ExceptionMetadata<::cpp2::optXcep>::gen(ThriftMetadata& metadata) {
495 auto res = metadata.exceptions_ref()->emplace("module.optXcep", ::apache::thrift::metadata::ThriftException{});
496 if (!res.second) {
497 return;
498 }
499 ::apache::thrift::metadata::ThriftException& module_optXcep = res.first->second;
500 module_optXcep.name_ref() = "module.optXcep";
501 static const EncodedThriftField
502 module_optXcep_fields[] = {
503 {1, "message", true, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
504 {2, "errorCode", true, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector<ThriftConstStruct>{}},
505 };
506 for (const auto& f : module_optXcep_fields) {
507 ::apache::thrift::metadata::ThriftField field;
508 field.id_ref() = f.id;
509 field.name_ref() = f.name;
510 field.is_optional_ref() = f.is_optional;
511 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
512 module_optXcep.fields_ref()->push_back(std::move(field));
513 }
514 }
gen(ThriftMetadata & metadata)515 void ExceptionMetadata<::cpp2::complexException>::gen(ThriftMetadata& metadata) {
516 auto res = metadata.exceptions_ref()->emplace("module.complexException", ::apache::thrift::metadata::ThriftException{});
517 if (!res.second) {
518 return;
519 }
520 ::apache::thrift::metadata::ThriftException& module_complexException = res.first->second;
521 module_complexException.name_ref() = "module.complexException";
522 static const EncodedThriftField
523 module_complexException_fields[] = {
524 {1, "message", false, std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector<ThriftConstStruct>{}},
525 {2, "listStrings", false, std::make_unique<List>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
526 {3, "errorEnum", false, std::make_unique<Enum< ::cpp2::MyEnum>>("module.MyEnum"), std::vector<ThriftConstStruct>{}},
527 {4, "unionError", true, std::make_unique<Union< ::cpp2::MyUnion>>("module.MyUnion"), std::vector<ThriftConstStruct>{}},
528 {5, "structError", false, std::make_unique<Struct< ::cpp2::MyStruct>>("module.MyStruct"), std::vector<ThriftConstStruct>{}},
529 {6, "lsMap", false, std::make_unique<Map>(std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique<Primitive>(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector<ThriftConstStruct>{}},
530 };
531 for (const auto& f : module_complexException_fields) {
532 ::apache::thrift::metadata::ThriftField field;
533 field.id_ref() = f.id;
534 field.name_ref() = f.name;
535 field.is_optional_ref() = f.is_optional;
536 f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
537 module_complexException.fields_ref()->push_back(std::move(field));
538 }
539 }
540 } // namespace md
541 } // namespace detail
542 } // namespace thrift
543 } // namespace apache
544