/** * Autogenerated by Thrift for thrift/compiler/test/fixtures/complex-struct/src/module.thrift * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @nocommit */ #include #include "thrift/compiler/test/fixtures/complex-struct/gen-cpp2/module_metadata.h" // some of these functions can be so large that the compiler gives up optimizing // them - and issues a warning which may be treated as an error! // // these functions are so rarely called that it is probably okay for them not to // be optimized in practice FOLLY_CLANG_DISABLE_WARNING("-Wignored-optimization-argument") namespace apache { namespace thrift { namespace detail { namespace md { using ThriftMetadata = ::apache::thrift::metadata::ThriftMetadata; using ThriftPrimitiveType = ::apache::thrift::metadata::ThriftPrimitiveType; using ThriftType = ::apache::thrift::metadata::ThriftType; using ThriftService = ::apache::thrift::metadata::ThriftService; using ThriftServiceContext = ::apache::thrift::metadata::ThriftServiceContext; using ThriftFunctionGenerator = void (*)(ThriftMetadata&, ThriftService&); void EnumMetadata<::cpp2::MyEnum>::gen(ThriftMetadata& metadata) { auto res = metadata.enums()->emplace("module.MyEnum", ::apache::thrift::metadata::ThriftEnum{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftEnum& enum_metadata = res.first->second; enum_metadata.name() = "module.MyEnum"; using EnumTraits = TEnumTraits<::cpp2::MyEnum>; for (std::size_t i = 0; i != EnumTraits::size; ++i) { enum_metadata.elements()->emplace(static_cast(EnumTraits::values[i]), EnumTraits::names[i]); } } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::MyStructFloatFieldThrowExp>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.MyStructFloatFieldThrowExp", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_MyStructFloatFieldThrowExp = res.first->second; module_MyStructFloatFieldThrowExp.name() = "module.MyStructFloatFieldThrowExp"; module_MyStructFloatFieldThrowExp.is_union() = false; static const auto* const module_MyStructFloatFieldThrowExp_fields = new std::array{ { { 1, "myLongField", false, std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector{ }}, { 2, "MyByteField", false, std::make_unique(ThriftPrimitiveType::THRIFT_BYTE_TYPE), std::vector{ }}, { 3, "myStringField", false, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }}, { 4, "myFloatField", false, std::make_unique(ThriftPrimitiveType::THRIFT_FLOAT_TYPE), std::vector{ }}, }}; for (const auto& f : *module_MyStructFloatFieldThrowExp_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_MyStructFloatFieldThrowExp.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::MyStructMapFloatThrowExp>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.MyStructMapFloatThrowExp", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_MyStructMapFloatThrowExp = res.first->second; module_MyStructMapFloatThrowExp.name() = "module.MyStructMapFloatThrowExp"; module_MyStructMapFloatThrowExp.is_union() = false; static const auto* const module_MyStructMapFloatThrowExp_fields = new std::array{ { { 1, "myLongField", false, std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector{ }}, { 2, "mapListOfFloats", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(std::make_unique(std::make_unique("module.floatTypedef", std::make_unique(ThriftPrimitiveType::THRIFT_FLOAT_TYPE), std::vector{ })))), std::vector{ }}, }}; for (const auto& f : *module_MyStructMapFloatThrowExp_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_MyStructMapFloatThrowExp.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::MyStruct>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.MyStruct", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_MyStruct = res.first->second; module_MyStruct.name() = "module.MyStruct"; module_MyStruct.is_union() = false; static const auto* const module_MyStruct_fields = new std::array{ { { 1, "MyIntField", false, std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector{ }}, { 2, "MyStringField", false, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }}, { 3, "MyDataField", false, std::make_unique>("module.MyDataItem"), std::vector{ }}, { 4, "myEnum", false, std::make_unique>("module.MyEnum"), std::vector{ }}, { 5, "MyBoolField", false, std::make_unique(ThriftPrimitiveType::THRIFT_BOOL_TYPE), std::vector{ }}, { 6, "MyByteField", false, std::make_unique(ThriftPrimitiveType::THRIFT_BYTE_TYPE), std::vector{ }}, { 7, "MyShortField", false, std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE), std::vector{ }}, { 8, "MyLongField", false, std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector{ }}, { 9, "MyDoubleField", false, std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector{ }}, { 10, "lDouble", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE)), std::vector{ }}, { 11, "lShort", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE)), std::vector{ }}, { 12, "lInteger", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector{ }}, { 13, "lLong", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE)), std::vector{ }}, { 14, "lString", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }}, { 15, "lBool", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_BOOL_TYPE)), std::vector{ }}, { 16, "lByte", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_BYTE_TYPE)), std::vector{ }}, { 17, "mShortString", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }}, { 18, "mIntegerString", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }}, { 19, "mStringMyStruct", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique>("module.MyStruct")), std::vector{ }}, { 20, "mStringBool", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_BOOL_TYPE)), std::vector{ }}, { 21, "mIntegerInteger", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector{ }}, { 22, "mIntegerBool", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_BOOL_TYPE)), std::vector{ }}, { 23, "sShort", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE)), std::vector{ }}, { 24, "sMyStruct", false, std::make_unique(std::make_unique>("module.MyStruct")), std::vector{ }}, { 25, "sLong", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE)), std::vector{ }}, { 26, "sString", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }}, { 27, "sByte", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_BYTE_TYPE)), std::vector{ }}, { 28, "mListList", false, std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE))), std::vector{ }}, }}; for (const auto& f : *module_MyStruct_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_MyStruct.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::SimpleStruct>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.SimpleStruct", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_SimpleStruct = res.first->second; module_SimpleStruct.name() = "module.SimpleStruct"; module_SimpleStruct.is_union() = false; static const auto* const module_SimpleStruct_fields = new std::array{ { { 1, "age", false, std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector{ }}, { 2, "name", false, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }}, }}; for (const auto& f : *module_SimpleStruct_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_SimpleStruct.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::defaultStruct>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.defaultStruct", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_defaultStruct = res.first->second; module_defaultStruct.name() = "module.defaultStruct"; module_defaultStruct.is_union() = false; static const auto* const module_defaultStruct_fields = new std::array{ { { 1, "myLongDFset", false, std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector{ }}, { 2, "myLongDF", false, std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector{ }}, { 3, "portDFset", false, std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector{ }}, { 4, "portNum", false, std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector{ }}, { 5, "myBinaryDFset", false, std::make_unique(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector{ }}, { 6, "myBinary", false, std::make_unique(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector{ }}, { 7, "myByteDFSet", false, std::make_unique(ThriftPrimitiveType::THRIFT_BYTE_TYPE), std::vector{ }}, { 8, "myByte", false, std::make_unique(ThriftPrimitiveType::THRIFT_BYTE_TYPE), std::vector{ }}, { 9, "myDoubleDFset", false, std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector{ }}, { 10, "myDoubleDFZero", false, std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector{ }}, { 12, "myDouble", false, std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::vector{ }}, { 13, "field3", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }}, { 14, "myList", false, std::make_unique(std::make_unique>("module.MyEnum")), std::vector{ }}, { 15, "mySet", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }}, { 16, "simpleStruct", false, std::make_unique>("module.SimpleStruct"), std::vector{ }}, { 17, "listStructDFset", false, std::make_unique(std::make_unique>("module.SimpleStruct")), std::vector{ }}, { 18, "myUnion", false, std::make_unique>("module.MyUnion"), std::vector{ }}, { 19, "listUnionDFset", false, std::make_unique(std::make_unique>("module.MyUnion")), std::vector{ }}, { 20, "mapNestlistStructDfSet", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(std::make_unique>("module.SimpleStruct"))), std::vector{ }}, { 21, "mapJavaTypeDFset", false, std::make_unique("module.map_i64_string_5732", std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }), std::vector{ }}, { 22, "emptyMap", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector{ }}, { 23, "enumMapDFset", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique>("module.MyEnum"))), std::vector{ }}, }}; for (const auto& f : *module_defaultStruct_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_defaultStruct.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::MyStructTypeDef>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.MyStructTypeDef", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_MyStructTypeDef = res.first->second; module_MyStructTypeDef.name() = "module.MyStructTypeDef"; module_MyStructTypeDef.is_union() = false; static const auto* const module_MyStructTypeDef_fields = new std::array{ { { 1, "myLongField", false, std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector{ }}, { 2, "myLongTypeDef", false, std::make_unique("module.longTypeDef", std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector{ }), std::vector{ }}, { 3, "myStringField", false, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }}, { 4, "myStringTypedef", false, std::make_unique("module.stringTypedef", std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }), std::vector{ }}, { 5, "myMapField", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }}, { 6, "myMapTypedef", false, std::make_unique("module.mapTypedef", std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }), std::vector{ }}, { 7, "myListField", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE)), std::vector{ }}, { 8, "myListTypedef", false, std::make_unique("module.listTypedef", std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE)), std::vector{ }), std::vector{ }}, { 9, "myMapListOfTypeDef", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I16_TYPE), std::make_unique(std::make_unique("module.listTypedef", std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE)), std::vector{ }))), std::vector{ }}, }}; for (const auto& f : *module_MyStructTypeDef_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_MyStructTypeDef.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::MyDataItem>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.MyDataItem", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_MyDataItem = res.first->second; module_MyDataItem.name() = "module.MyDataItem"; module_MyDataItem.is_union() = false; return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::MyUnion>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.MyUnion", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_MyUnion = res.first->second; module_MyUnion.name() = "module.MyUnion"; module_MyUnion.is_union() = true; static const auto* const module_MyUnion_fields = new std::array{ { { 1, "myEnum", false, std::make_unique>("module.MyEnum"), std::vector{ }}, { 2, "myStruct", false, std::make_unique>("module.MyStruct"), std::vector{ }}, { 3, "myDataItem", false, std::make_unique>("module.MyDataItem"), std::vector{ }}, { 4, "complexNestedStruct", false, std::make_unique>("module.ComplexNestedStruct"), std::vector{ }}, { 5, "longValue", false, std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::vector{ }}, { 6, "intValue", false, std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector{ }}, }}; for (const auto& f : *module_MyUnion_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_MyUnion.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::MyUnionFloatFieldThrowExp>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.MyUnionFloatFieldThrowExp", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_MyUnionFloatFieldThrowExp = res.first->second; module_MyUnionFloatFieldThrowExp.name() = "module.MyUnionFloatFieldThrowExp"; module_MyUnionFloatFieldThrowExp.is_union() = true; static const auto* const module_MyUnionFloatFieldThrowExp_fields = new std::array{ { { 1, "myEnum", false, std::make_unique>("module.MyEnum"), std::vector{ }}, { 2, "setFloat", false, std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_FLOAT_TYPE))), std::vector{ }}, { 3, "myDataItem", false, std::make_unique>("module.MyDataItem"), std::vector{ }}, { 4, "complexNestedStruct", false, std::make_unique>("module.ComplexNestedStruct"), std::vector{ }}, }}; for (const auto& f : *module_MyUnionFloatFieldThrowExp_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_MyUnionFloatFieldThrowExp.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::ComplexNestedStruct>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.ComplexNestedStruct", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_ComplexNestedStruct = res.first->second; module_ComplexNestedStruct.name() = "module.ComplexNestedStruct"; module_ComplexNestedStruct.is_union() = false; static const auto* const module_ComplexNestedStruct_fields = new std::array{ { { 1, "setOfSetOfInt", false, std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE))), std::vector{ }}, { 2, "listofListOfListOfListOfEnum", false, std::make_unique(std::make_unique(std::make_unique(std::make_unique(std::make_unique>("module.MyEnum"))))), std::vector{ }}, { 3, "listOfListOfMyStruct", false, std::make_unique(std::make_unique(std::make_unique>("module.MyStruct"))), std::vector{ }}, { 4, "setOfListOfListOfLong", false, std::make_unique(std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE)))), std::vector{ }}, { 5, "setOfSetOfsetOfLong", false, std::make_unique(std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE)))), std::vector{ }}, { 6, "mapStructListOfListOfLong", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(std::make_unique(std::make_unique>("module.MyStruct")))), std::vector{ }}, { 7, "mKeyStructValInt", false, std::make_unique(std::make_unique>("module.MyStruct"), std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector{ }}, { 8, "listOfMapKeyIntValInt", false, std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE))), std::vector{ }}, { 9, "listOfMapKeyStrValList", false, std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::make_unique(std::make_unique>("module.MyStruct")))), std::vector{ }}, { 10, "mapKeySetValLong", false, std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE)), std::vector{ }}, { 11, "mapKeyListValLong", false, std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::vector{ }}, { 12, "mapKeyMapValMap", false, std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE))), std::vector{ }}, { 13, "mapKeySetValMap", false, std::make_unique(std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE))), std::make_unique(std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE))), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE))), std::vector{ }}, { 14, "NestedMaps", false, std::make_unique(std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE))), std::vector{ }}, { 15, "mapKeyIntValList", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(std::make_unique>("module.MyStruct"))), std::vector{ }}, { 16, "mapKeyIntValSet", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_BOOL_TYPE))), std::vector{ }}, { 17, "mapKeySetValInt", false, std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_BOOL_TYPE)), std::make_unique>("module.MyEnum")), std::vector{ }}, { 18, "mapKeyListValSet", false, std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE)), std::make_unique(std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_DOUBLE_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)))), std::vector{ }}, }}; for (const auto& f : *module_ComplexNestedStruct_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_ComplexNestedStruct.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::TypeRemapped>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.TypeRemapped", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_TypeRemapped = res.first->second; module_TypeRemapped.name() = "module.TypeRemapped"; module_TypeRemapped.is_union() = false; static const auto* const module_TypeRemapped_fields = new std::array{ { { 1, "lsMap", false, std::make_unique("module.map_i64_string_5732", std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }), std::vector{ }}, { 2, "ioMap", false, std::make_unique("module.map_i32_FMap_6797", std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique("module.FMap", std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE)), std::vector{ })), std::vector{ }), std::vector{ }}, { 3, "BigInteger", false, std::make_unique("module.i32_1194", std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector{ }), std::vector{ }}, { 4, "binaryTestBuffer", false, std::make_unique("module.binary_4918", std::make_unique(ThriftPrimitiveType::THRIFT_BINARY_TYPE), std::vector{ }), std::vector{ }}, }}; for (const auto& f : *module_TypeRemapped_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_TypeRemapped.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::emptyXcep>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.emptyXcep", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_emptyXcep = res.first->second; module_emptyXcep.name() = "module.emptyXcep"; module_emptyXcep.is_union() = false; return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::reqXcep>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.reqXcep", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_reqXcep = res.first->second; module_reqXcep.name() = "module.reqXcep"; module_reqXcep.is_union() = false; static const auto* const module_reqXcep_fields = new std::array{ { { 1, "message", false, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }}, { 2, "errorCode", false, std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector{ }}, }}; for (const auto& f : *module_reqXcep_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_reqXcep.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::optXcep>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.optXcep", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_optXcep = res.first->second; module_optXcep.name() = "module.optXcep"; module_optXcep.is_union() = false; static const auto* const module_optXcep_fields = new std::array{ { { 1, "message", true, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }}, { 2, "errorCode", true, std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector{ }}, }}; for (const auto& f : *module_optXcep_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_optXcep.fields()->push_back(std::move(field)); } return res.first->second; } const ::apache::thrift::metadata::ThriftStruct& StructMetadata<::cpp2::complexException>::gen(ThriftMetadata& metadata) { auto res = metadata.structs()->emplace("module.complexException", ::apache::thrift::metadata::ThriftStruct{}); if (!res.second) { return res.first->second; } ::apache::thrift::metadata::ThriftStruct& module_complexException = res.first->second; module_complexException.name() = "module.complexException"; module_complexException.is_union() = false; static const auto* const module_complexException_fields = new std::array{ { { 1, "message", false, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }}, { 2, "listStrings", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }}, { 3, "errorEnum", false, std::make_unique>("module.MyEnum"), std::vector{ }}, { 4, "unionError", true, std::make_unique>("module.MyUnion"), std::vector{ }}, { 5, "structError", false, std::make_unique>("module.MyStruct"), std::vector{ }}, { 6, "lsMap", false, std::make_unique("module.map_i64_string_5732", std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }), std::vector{ }}, }}; for (const auto& f : *module_complexException_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); field.structured_annotations() = f.structured_annotations; module_complexException.fields()->push_back(std::move(field)); } return res.first->second; } void ExceptionMetadata<::cpp2::emptyXcep>::gen(ThriftMetadata& metadata) { auto res = metadata.exceptions()->emplace("module.emptyXcep", ::apache::thrift::metadata::ThriftException{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftException& module_emptyXcep = res.first->second; module_emptyXcep.name() = "module.emptyXcep"; } void ExceptionMetadata<::cpp2::reqXcep>::gen(ThriftMetadata& metadata) { auto res = metadata.exceptions()->emplace("module.reqXcep", ::apache::thrift::metadata::ThriftException{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftException& module_reqXcep = res.first->second; module_reqXcep.name() = "module.reqXcep"; static const auto* const module_reqXcep_fields = new std::array{ { { 1, "message", false, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }}, { 2, "errorCode", false, std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector{ }}, }}; for (const auto& f : *module_reqXcep_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); module_reqXcep.fields()->push_back(std::move(field)); } } void ExceptionMetadata<::cpp2::optXcep>::gen(ThriftMetadata& metadata) { auto res = metadata.exceptions()->emplace("module.optXcep", ::apache::thrift::metadata::ThriftException{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftException& module_optXcep = res.first->second; module_optXcep.name() = "module.optXcep"; static const auto* const module_optXcep_fields = new std::array{ { { 1, "message", true, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }}, { 2, "errorCode", true, std::make_unique(ThriftPrimitiveType::THRIFT_I32_TYPE), std::vector{ }}, }}; for (const auto& f : *module_optXcep_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); module_optXcep.fields()->push_back(std::move(field)); } } void ExceptionMetadata<::cpp2::complexException>::gen(ThriftMetadata& metadata) { auto res = metadata.exceptions()->emplace("module.complexException", ::apache::thrift::metadata::ThriftException{}); if (!res.second) { return; } ::apache::thrift::metadata::ThriftException& module_complexException = res.first->second; module_complexException.name() = "module.complexException"; static const auto* const module_complexException_fields = new std::array{ { { 1, "message", false, std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE), std::vector{ }}, { 2, "listStrings", false, std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }}, { 3, "errorEnum", false, std::make_unique>("module.MyEnum"), std::vector{ }}, { 4, "unionError", true, std::make_unique>("module.MyUnion"), std::vector{ }}, { 5, "structError", false, std::make_unique>("module.MyStruct"), std::vector{ }}, { 6, "lsMap", false, std::make_unique("module.map_i64_string_5732", std::make_unique(std::make_unique(ThriftPrimitiveType::THRIFT_I64_TYPE), std::make_unique(ThriftPrimitiveType::THRIFT_STRING_TYPE)), std::vector{ }), std::vector{ }}, }}; for (const auto& f : *module_complexException_fields) { ::apache::thrift::metadata::ThriftField field; field.id() = f.id; field.name() = f.name; field.is_optional() = f.is_optional; f.metadata_type_interface->writeAndGenType(*field.type(), metadata); module_complexException.fields()->push_back(std::move(field)); } } } // namespace md } // namespace detail } // namespace thrift } // namespace apache