// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/protobuf/swift-descriptor.proto

#include <google/protobuf/swift-descriptor.pb.h>

#include <algorithm>

#include <google/protobuf/stubs/common.h>
#include <google/protobuf/stubs/port.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// This is a temporary google only hack
#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
#include "third_party/protobuf/version.h"
#endif
// @@protoc_insertion_point(includes)

namespace protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto {
extern PROTOBUF_INTERNAL_EXPORT_protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_LinkedObject;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_SwiftEnumOptions;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_SwiftFieldOptions;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_SwiftFileOptions;
extern PROTOBUF_INTERNAL_EXPORT_protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_SwiftMessageOptions;
}  // namespace protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto
namespace google {
namespace protobuf {
class LinkedObjectDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<LinkedObject>
      _instance;
} _LinkedObject_default_instance_;
class SwiftFileOptionsDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<SwiftFileOptions>
      _instance;
} _SwiftFileOptions_default_instance_;
class SwiftMessageOptionsDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<SwiftMessageOptions>
      _instance;
} _SwiftMessageOptions_default_instance_;
class SwiftFieldOptionsDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<SwiftFieldOptions>
      _instance;
} _SwiftFieldOptions_default_instance_;
class SwiftEnumOptionsDefaultTypeInternal {
 public:
  ::google::protobuf::internal::ExplicitlyConstructed<SwiftEnumOptions>
      _instance;
} _SwiftEnumOptions_default_instance_;
}  // namespace protobuf
}  // namespace google
namespace protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto {
static void InitDefaultsLinkedObject() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::google::protobuf::_LinkedObject_default_instance_;
    new (ptr) ::google::protobuf::LinkedObject();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::google::protobuf::LinkedObject::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<0> scc_info_LinkedObject =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsLinkedObject}, {}};

static void InitDefaultsSwiftFileOptions() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::google::protobuf::_SwiftFileOptions_default_instance_;
    new (ptr) ::google::protobuf::SwiftFileOptions();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::google::protobuf::SwiftFileOptions::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<0> scc_info_SwiftFileOptions =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsSwiftFileOptions}, {}};

static void InitDefaultsSwiftMessageOptions() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::google::protobuf::_SwiftMessageOptions_default_instance_;
    new (ptr) ::google::protobuf::SwiftMessageOptions();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::google::protobuf::SwiftMessageOptions::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<1> scc_info_SwiftMessageOptions =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsSwiftMessageOptions}, {
      &protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::scc_info_LinkedObject.base,}};

static void InitDefaultsSwiftFieldOptions() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::google::protobuf::_SwiftFieldOptions_default_instance_;
    new (ptr) ::google::protobuf::SwiftFieldOptions();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::google::protobuf::SwiftFieldOptions::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<0> scc_info_SwiftFieldOptions =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsSwiftFieldOptions}, {}};

static void InitDefaultsSwiftEnumOptions() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::google::protobuf::_SwiftEnumOptions_default_instance_;
    new (ptr) ::google::protobuf::SwiftEnumOptions();
    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
  }
  ::google::protobuf::SwiftEnumOptions::InitAsDefaultInstance();
}

::google::protobuf::internal::SCCInfo<0> scc_info_SwiftEnumOptions =
    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsSwiftEnumOptions}, {}};

void InitDefaults() {
  ::google::protobuf::internal::InitSCC(&scc_info_LinkedObject.base);
  ::google::protobuf::internal::InitSCC(&scc_info_SwiftFileOptions.base);
  ::google::protobuf::internal::InitSCC(&scc_info_SwiftMessageOptions.base);
  ::google::protobuf::internal::InitSCC(&scc_info_SwiftFieldOptions.base);
  ::google::protobuf::internal::InitSCC(&scc_info_SwiftEnumOptions.base);
}

::google::protobuf::Metadata file_level_metadata[5];
const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[2];

const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::LinkedObject, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::LinkedObject, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::LinkedObject, fieldname_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::LinkedObject, fromtype_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::LinkedObject, propertyname_),
  0,
  1,
  2,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFileOptions, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFileOptions, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFileOptions, class_prefix_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFileOptions, entities_access_control_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFileOptions, compile_for_framework_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFileOptions, generate_struct_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFileOptions, generate_realm_objects_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFileOptions, generate_react_),
  0,
  4,
  5,
  1,
  2,
  3,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftMessageOptions, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftMessageOptions, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftMessageOptions, generate_error_type_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftMessageOptions, generate_realm_object_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftMessageOptions, generate_react_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftMessageOptions, additional_class_name_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftMessageOptions, linkedobjects_),
  1,
  2,
  3,
  0,
  ~0u,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFieldOptions, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFieldOptions, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFieldOptions, realm_indexed_propertie_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFieldOptions, realm_primary_key_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftFieldOptions, realm_override_propertie_),
  0,
  1,
  2,
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftEnumOptions, _has_bits_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftEnumOptions, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftEnumOptions, generate_error_type_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftEnumOptions, generate_react_),
  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::google::protobuf::SwiftEnumOptions, generate_realm_object_),
  0,
  1,
  2,
};
static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
  { 0, 8, sizeof(::google::protobuf::LinkedObject)},
  { 11, 22, sizeof(::google::protobuf::SwiftFileOptions)},
  { 28, 38, sizeof(::google::protobuf::SwiftMessageOptions)},
  { 43, 51, sizeof(::google::protobuf::SwiftFieldOptions)},
  { 54, 62, sizeof(::google::protobuf::SwiftEnumOptions)},
};

static ::google::protobuf::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::google::protobuf::Message*>(&::google::protobuf::_LinkedObject_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::google::protobuf::_SwiftFileOptions_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::google::protobuf::_SwiftMessageOptions_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::google::protobuf::_SwiftFieldOptions_default_instance_),
  reinterpret_cast<const ::google::protobuf::Message*>(&::google::protobuf::_SwiftEnumOptions_default_instance_),
};

void protobuf_AssignDescriptors() {
  AddDescriptors();
  AssignDescriptors(
      "google/protobuf/swift-descriptor.proto", schemas, file_default_instances, TableStruct::offsets,
      file_level_metadata, file_level_enum_descriptors, NULL);
}

void protobuf_AssignDescriptorsOnce() {
  static ::google::protobuf::internal::once_flag once;
  ::google::protobuf::internal::call_once(once, protobuf_AssignDescriptors);
}

void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
void protobuf_RegisterTypes(const ::std::string&) {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 5);
}

void AddDescriptorsImpl() {
  InitDefaults();
  static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
      "\n&google/protobuf/swift-descriptor.proto"
      "\022\017google.protobuf\032 google/protobuf/descr"
      "iptor.proto\"I\n\014LinkedObject\022\021\n\tfieldName"
      "\030\001 \002(\t\022\020\n\010fromType\030\002 \002(\t\022\024\n\014propertyName"
      "\030\003 \002(\t\"\204\002\n\020SwiftFileOptions\022\024\n\014class_pre"
      "fix\030\001 \001(\t\022O\n\027entities_access_control\030\002 \001"
      "(\0162\036.google.protobuf.AccessControl:\016Publ"
      "icEntities\022#\n\025compile_for_framework\030\003 \001("
      "\010:\004true\022\036\n\017generate_struct\030\004 \001(\010:\005false\022"
      "%\n\026generate_realm_objects\030\005 \001(\010:\005false\022\035"
      "\n\016generate_react\030\006 \001(\010:\005false\"\323\001\n\023SwiftM"
      "essageOptions\022\"\n\023generate_error_type\030\001 \001"
      "(\010:\005false\022$\n\025generate_realm_object\030\002 \001(\010"
      ":\005false\022\035\n\016generate_react\030\003 \001(\010:\005false\022\035"
      "\n\025additional_class_name\030\004 \001(\t\0224\n\rlinkedO"
      "bjects\030\005 \003(\0132\035.google.protobuf.LinkedObj"
      "ect\"\261\001\n\021SwiftFieldOptions\022&\n\027realm_index"
      "ed_propertie\030\001 \001(\010:\005false\022 \n\021realm_prima"
      "ry_key\030\002 \001(\010:\005false\022R\n\030realm_override_pr"
      "opertie\030\003 \001(\0162&.google.protobuf.RealmOve"
      "rrideRepeated:\010OVERRIDE\"{\n\020SwiftEnumOpti"
      "ons\022\"\n\023generate_error_type\030\001 \001(\010:\005false\022"
      "\035\n\016generate_react\030\002 \001(\010:\005false\022$\n\025genera"
      "te_realm_object\030\003 \001(\010:\005false*9\n\rAccessCo"
      "ntrol\022\024\n\020InternalEntities\020\000\022\022\n\016PublicEnt"
      "ities\020\001*1\n\025RealmOverrideRepeated\022\014\n\010OVER"
      "RIDE\020\000\022\n\n\006APPEND\020\001:^\n\022swift_file_options"
      "\022\034.google.protobuf.FileOptions\030\273\253\267\002 \001(\0132"
      "!.google.protobuf.SwiftFileOptions:a\n\023sw"
      "ift_field_options\022\035.google.protobuf.Fiel"
      "dOptions\030\272\253\267\002 \001(\0132\".google.protobuf.Swif"
      "tFieldOptions:g\n\025swift_message_options\022\037"
      ".google.protobuf.MessageOptions\030\271\253\267\002 \001(\013"
      "2$.google.protobuf.SwiftMessageOptions:^"
      "\n\022swift_enum_options\022\034.google.protobuf.E"
      "numOptions\030\270\253\267\002 \001(\0132!.google.protobuf.Sw"
      "iftEnumOptionsB\016\332\333\272\023\002\030\000\332\333\272\023\002\020\001"
  };
  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
      descriptor, 1470);
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    "google/protobuf/swift-descriptor.proto", &protobuf_RegisterTypes);
  ::protobuf_google_2fprotobuf_2fdescriptor_2eproto::AddDescriptors();
}

void AddDescriptors() {
  static ::google::protobuf::internal::once_flag once;
  ::google::protobuf::internal::call_once(once, AddDescriptorsImpl);
}
// Force AddDescriptors() to be called at dynamic initialization time.
struct StaticDescriptorInitializer {
  StaticDescriptorInitializer() {
    AddDescriptors();
  }
} static_descriptor_initializer;
}  // namespace protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto
namespace google {
namespace protobuf {
const ::google::protobuf::EnumDescriptor* AccessControl_descriptor() {
  protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::file_level_enum_descriptors[0];
}
bool AccessControl_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}

const ::google::protobuf::EnumDescriptor* RealmOverrideRepeated_descriptor() {
  protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::protobuf_AssignDescriptorsOnce();
  return protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::file_level_enum_descriptors[1];
}
bool RealmOverrideRepeated_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}


// ===================================================================

void LinkedObject::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int LinkedObject::kFieldNameFieldNumber;
const int LinkedObject::kFromTypeFieldNumber;
const int LinkedObject::kPropertyNameFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

LinkedObject::LinkedObject()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::scc_info_LinkedObject.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.protobuf.LinkedObject)
}
LinkedObject::LinkedObject(const LinkedObject& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  fieldname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_fieldname()) {
    fieldname_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.fieldname_);
  }
  fromtype_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_fromtype()) {
    fromtype_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.fromtype_);
  }
  propertyname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_propertyname()) {
    propertyname_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.propertyname_);
  }
  // @@protoc_insertion_point(copy_constructor:google.protobuf.LinkedObject)
}

void LinkedObject::SharedCtor() {
  fieldname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  fromtype_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  propertyname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

LinkedObject::~LinkedObject() {
  // @@protoc_insertion_point(destructor:google.protobuf.LinkedObject)
  SharedDtor();
}

void LinkedObject::SharedDtor() {
  fieldname_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  fromtype_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  propertyname_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void LinkedObject::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* LinkedObject::descriptor() {
  ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const LinkedObject& LinkedObject::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::scc_info_LinkedObject.base);
  return *internal_default_instance();
}


void LinkedObject::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.LinkedObject)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      fieldname_.ClearNonDefaultToEmptyNoArena();
    }
    if (cached_has_bits & 0x00000002u) {
      fromtype_.ClearNonDefaultToEmptyNoArena();
    }
    if (cached_has_bits & 0x00000004u) {
      propertyname_.ClearNonDefaultToEmptyNoArena();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool LinkedObject::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.protobuf.LinkedObject)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required string fieldName = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_fieldname()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->fieldname().data(), static_cast<int>(this->fieldname().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "google.protobuf.LinkedObject.fieldName");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required string fromType = 2;
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_fromtype()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->fromtype().data(), static_cast<int>(this->fromtype().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "google.protobuf.LinkedObject.fromType");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // required string propertyName = 3;
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_propertyname()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->propertyname().data(), static_cast<int>(this->propertyname().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "google.protobuf.LinkedObject.propertyName");
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.protobuf.LinkedObject)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.protobuf.LinkedObject)
  return false;
#undef DO_
}

void LinkedObject::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.protobuf.LinkedObject)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required string fieldName = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->fieldname().data(), static_cast<int>(this->fieldname().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "google.protobuf.LinkedObject.fieldName");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->fieldname(), output);
  }

  // required string fromType = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->fromtype().data(), static_cast<int>(this->fromtype().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "google.protobuf.LinkedObject.fromType");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      2, this->fromtype(), output);
  }

  // required string propertyName = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->propertyname().data(), static_cast<int>(this->propertyname().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "google.protobuf.LinkedObject.propertyName");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      3, this->propertyname(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:google.protobuf.LinkedObject)
}

::google::protobuf::uint8* LinkedObject::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.LinkedObject)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required string fieldName = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->fieldname().data(), static_cast<int>(this->fieldname().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "google.protobuf.LinkedObject.fieldName");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->fieldname(), target);
  }

  // required string fromType = 2;
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->fromtype().data(), static_cast<int>(this->fromtype().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "google.protobuf.LinkedObject.fromType");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        2, this->fromtype(), target);
  }

  // required string propertyName = 3;
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->propertyname().data(), static_cast<int>(this->propertyname().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "google.protobuf.LinkedObject.propertyName");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        3, this->propertyname(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.LinkedObject)
  return target;
}

size_t LinkedObject::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:google.protobuf.LinkedObject)
  size_t total_size = 0;

  if (has_fieldname()) {
    // required string fieldName = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->fieldname());
  }

  if (has_fromtype()) {
    // required string fromType = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->fromtype());
  }

  if (has_propertyname()) {
    // required string propertyName = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->propertyname());
  }

  return total_size;
}
size_t LinkedObject::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.protobuf.LinkedObject)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (((_has_bits_[0] & 0x00000007) ^ 0x00000007) == 0) {  // All required fields are present.
    // required string fieldName = 1;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->fieldname());

    // required string fromType = 2;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->fromtype());

    // required string propertyName = 3;
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::StringSize(
        this->propertyname());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void LinkedObject::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.LinkedObject)
  GOOGLE_DCHECK_NE(&from, this);
  const LinkedObject* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const LinkedObject>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.LinkedObject)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.LinkedObject)
    MergeFrom(*source);
  }
}

void LinkedObject::MergeFrom(const LinkedObject& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.LinkedObject)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_fieldname();
      fieldname_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.fieldname_);
    }
    if (cached_has_bits & 0x00000002u) {
      set_has_fromtype();
      fromtype_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.fromtype_);
    }
    if (cached_has_bits & 0x00000004u) {
      set_has_propertyname();
      propertyname_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.propertyname_);
    }
  }
}

void LinkedObject::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.LinkedObject)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void LinkedObject::CopyFrom(const LinkedObject& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.LinkedObject)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LinkedObject::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false;
  return true;
}

void LinkedObject::Swap(LinkedObject* other) {
  if (other == this) return;
  InternalSwap(other);
}
void LinkedObject::InternalSwap(LinkedObject* other) {
  using std::swap;
  fieldname_.Swap(&other->fieldname_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  fromtype_.Swap(&other->fromtype_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  propertyname_.Swap(&other->propertyname_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata LinkedObject::GetMetadata() const {
  protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void SwiftFileOptions::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int SwiftFileOptions::kClassPrefixFieldNumber;
const int SwiftFileOptions::kEntitiesAccessControlFieldNumber;
const int SwiftFileOptions::kCompileForFrameworkFieldNumber;
const int SwiftFileOptions::kGenerateStructFieldNumber;
const int SwiftFileOptions::kGenerateRealmObjectsFieldNumber;
const int SwiftFileOptions::kGenerateReactFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

SwiftFileOptions::SwiftFileOptions()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::scc_info_SwiftFileOptions.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.protobuf.SwiftFileOptions)
}
SwiftFileOptions::SwiftFileOptions(const SwiftFileOptions& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  class_prefix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_class_prefix()) {
    class_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.class_prefix_);
  }
  ::memcpy(&generate_struct_, &from.generate_struct_,
    static_cast<size_t>(reinterpret_cast<char*>(&compile_for_framework_) -
    reinterpret_cast<char*>(&generate_struct_)) + sizeof(compile_for_framework_));
  // @@protoc_insertion_point(copy_constructor:google.protobuf.SwiftFileOptions)
}

void SwiftFileOptions::SharedCtor() {
  class_prefix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&generate_struct_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&generate_react_) -
      reinterpret_cast<char*>(&generate_struct_)) + sizeof(generate_react_));
  entities_access_control_ = 1;
  compile_for_framework_ = true;
}

SwiftFileOptions::~SwiftFileOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.SwiftFileOptions)
  SharedDtor();
}

void SwiftFileOptions::SharedDtor() {
  class_prefix_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void SwiftFileOptions::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* SwiftFileOptions::descriptor() {
  ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const SwiftFileOptions& SwiftFileOptions::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::scc_info_SwiftFileOptions.base);
  return *internal_default_instance();
}


void SwiftFileOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.SwiftFileOptions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    class_prefix_.ClearNonDefaultToEmptyNoArena();
  }
  ::memset(&generate_struct_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&generate_react_) -
      reinterpret_cast<char*>(&generate_struct_)) + sizeof(generate_react_));
  if (cached_has_bits & 48u) {
    entities_access_control_ = 1;
    compile_for_framework_ = true;
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool SwiftFileOptions::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.protobuf.SwiftFileOptions)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional string class_prefix = 1;
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_class_prefix()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->class_prefix().data(), static_cast<int>(this->class_prefix().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "google.protobuf.SwiftFileOptions.class_prefix");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .google.protobuf.AccessControl entities_access_control = 2 [default = PublicEntities];
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::google::protobuf::AccessControl_IsValid(value)) {
            set_entities_access_control(static_cast< ::google::protobuf::AccessControl >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                2, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool compile_for_framework = 3 [default = true];
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_compile_for_framework();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &compile_for_framework_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool generate_struct = 4 [default = false];
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
          set_has_generate_struct();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &generate_struct_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool generate_realm_objects = 5 [default = false];
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(40u /* 40 & 0xFF */)) {
          set_has_generate_realm_objects();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &generate_realm_objects_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool generate_react = 6 [default = false];
      case 6: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(48u /* 48 & 0xFF */)) {
          set_has_generate_react();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &generate_react_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.protobuf.SwiftFileOptions)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.protobuf.SwiftFileOptions)
  return false;
#undef DO_
}

void SwiftFileOptions::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.protobuf.SwiftFileOptions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string class_prefix = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->class_prefix().data(), static_cast<int>(this->class_prefix().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "google.protobuf.SwiftFileOptions.class_prefix");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->class_prefix(), output);
  }

  // optional .google.protobuf.AccessControl entities_access_control = 2 [default = PublicEntities];
  if (cached_has_bits & 0x00000010u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      2, this->entities_access_control(), output);
  }

  // optional bool compile_for_framework = 3 [default = true];
  if (cached_has_bits & 0x00000020u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->compile_for_framework(), output);
  }

  // optional bool generate_struct = 4 [default = false];
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->generate_struct(), output);
  }

  // optional bool generate_realm_objects = 5 [default = false];
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->generate_realm_objects(), output);
  }

  // optional bool generate_react = 6 [default = false];
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->generate_react(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:google.protobuf.SwiftFileOptions)
}

::google::protobuf::uint8* SwiftFileOptions::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SwiftFileOptions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string class_prefix = 1;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->class_prefix().data(), static_cast<int>(this->class_prefix().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "google.protobuf.SwiftFileOptions.class_prefix");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        1, this->class_prefix(), target);
  }

  // optional .google.protobuf.AccessControl entities_access_control = 2 [default = PublicEntities];
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      2, this->entities_access_control(), target);
  }

  // optional bool compile_for_framework = 3 [default = true];
  if (cached_has_bits & 0x00000020u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->compile_for_framework(), target);
  }

  // optional bool generate_struct = 4 [default = false];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->generate_struct(), target);
  }

  // optional bool generate_realm_objects = 5 [default = false];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->generate_realm_objects(), target);
  }

  // optional bool generate_react = 6 [default = false];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->generate_react(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SwiftFileOptions)
  return target;
}

size_t SwiftFileOptions::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.protobuf.SwiftFileOptions)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (_has_bits_[0 / 32] & 63u) {
    // optional string class_prefix = 1;
    if (has_class_prefix()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->class_prefix());
    }

    // optional bool generate_struct = 4 [default = false];
    if (has_generate_struct()) {
      total_size += 1 + 1;
    }

    // optional bool generate_realm_objects = 5 [default = false];
    if (has_generate_realm_objects()) {
      total_size += 1 + 1;
    }

    // optional bool generate_react = 6 [default = false];
    if (has_generate_react()) {
      total_size += 1 + 1;
    }

    // optional .google.protobuf.AccessControl entities_access_control = 2 [default = PublicEntities];
    if (has_entities_access_control()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->entities_access_control());
    }

    // optional bool compile_for_framework = 3 [default = true];
    if (has_compile_for_framework()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void SwiftFileOptions::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.SwiftFileOptions)
  GOOGLE_DCHECK_NE(&from, this);
  const SwiftFileOptions* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const SwiftFileOptions>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.SwiftFileOptions)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.SwiftFileOptions)
    MergeFrom(*source);
  }
}

void SwiftFileOptions::MergeFrom(const SwiftFileOptions& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.SwiftFileOptions)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 63u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_class_prefix();
      class_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.class_prefix_);
    }
    if (cached_has_bits & 0x00000002u) {
      generate_struct_ = from.generate_struct_;
    }
    if (cached_has_bits & 0x00000004u) {
      generate_realm_objects_ = from.generate_realm_objects_;
    }
    if (cached_has_bits & 0x00000008u) {
      generate_react_ = from.generate_react_;
    }
    if (cached_has_bits & 0x00000010u) {
      entities_access_control_ = from.entities_access_control_;
    }
    if (cached_has_bits & 0x00000020u) {
      compile_for_framework_ = from.compile_for_framework_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void SwiftFileOptions::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.SwiftFileOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void SwiftFileOptions::CopyFrom(const SwiftFileOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.SwiftFileOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool SwiftFileOptions::IsInitialized() const {
  return true;
}

void SwiftFileOptions::Swap(SwiftFileOptions* other) {
  if (other == this) return;
  InternalSwap(other);
}
void SwiftFileOptions::InternalSwap(SwiftFileOptions* other) {
  using std::swap;
  class_prefix_.Swap(&other->class_prefix_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(generate_struct_, other->generate_struct_);
  swap(generate_realm_objects_, other->generate_realm_objects_);
  swap(generate_react_, other->generate_react_);
  swap(entities_access_control_, other->entities_access_control_);
  swap(compile_for_framework_, other->compile_for_framework_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata SwiftFileOptions::GetMetadata() const {
  protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void SwiftMessageOptions::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int SwiftMessageOptions::kGenerateErrorTypeFieldNumber;
const int SwiftMessageOptions::kGenerateRealmObjectFieldNumber;
const int SwiftMessageOptions::kGenerateReactFieldNumber;
const int SwiftMessageOptions::kAdditionalClassNameFieldNumber;
const int SwiftMessageOptions::kLinkedObjectsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

SwiftMessageOptions::SwiftMessageOptions()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::scc_info_SwiftMessageOptions.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.protobuf.SwiftMessageOptions)
}
SwiftMessageOptions::SwiftMessageOptions(const SwiftMessageOptions& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_),
      linkedobjects_(from.linkedobjects_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  additional_class_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  if (from.has_additional_class_name()) {
    additional_class_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.additional_class_name_);
  }
  ::memcpy(&generate_error_type_, &from.generate_error_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&generate_react_) -
    reinterpret_cast<char*>(&generate_error_type_)) + sizeof(generate_react_));
  // @@protoc_insertion_point(copy_constructor:google.protobuf.SwiftMessageOptions)
}

void SwiftMessageOptions::SharedCtor() {
  additional_class_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  ::memset(&generate_error_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&generate_react_) -
      reinterpret_cast<char*>(&generate_error_type_)) + sizeof(generate_react_));
}

SwiftMessageOptions::~SwiftMessageOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.SwiftMessageOptions)
  SharedDtor();
}

void SwiftMessageOptions::SharedDtor() {
  additional_class_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}

void SwiftMessageOptions::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* SwiftMessageOptions::descriptor() {
  ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const SwiftMessageOptions& SwiftMessageOptions::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::scc_info_SwiftMessageOptions.base);
  return *internal_default_instance();
}


void SwiftMessageOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.SwiftMessageOptions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  linkedobjects_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    additional_class_name_.ClearNonDefaultToEmptyNoArena();
  }
  ::memset(&generate_error_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&generate_react_) -
      reinterpret_cast<char*>(&generate_error_type_)) + sizeof(generate_react_));
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool SwiftMessageOptions::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.protobuf.SwiftMessageOptions)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bool generate_error_type = 1 [default = false];
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_generate_error_type();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &generate_error_type_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool generate_realm_object = 2 [default = false];
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_generate_realm_object();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &generate_realm_object_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool generate_react = 3 [default = false];
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_generate_react();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &generate_react_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional string additional_class_name = 4;
      case 4: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                input, this->mutable_additional_class_name()));
          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
            this->additional_class_name().data(), static_cast<int>(this->additional_class_name().length()),
            ::google::protobuf::internal::WireFormat::PARSE,
            "google.protobuf.SwiftMessageOptions.additional_class_name");
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .google.protobuf.LinkedObject linkedObjects = 5;
      case 5: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                input, add_linkedobjects()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.protobuf.SwiftMessageOptions)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.protobuf.SwiftMessageOptions)
  return false;
#undef DO_
}

void SwiftMessageOptions::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.protobuf.SwiftMessageOptions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bool generate_error_type = 1 [default = false];
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->generate_error_type(), output);
  }

  // optional bool generate_realm_object = 2 [default = false];
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->generate_realm_object(), output);
  }

  // optional bool generate_react = 3 [default = false];
  if (cached_has_bits & 0x00000008u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->generate_react(), output);
  }

  // optional string additional_class_name = 4;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->additional_class_name().data(), static_cast<int>(this->additional_class_name().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "google.protobuf.SwiftMessageOptions.additional_class_name");
    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
      4, this->additional_class_name(), output);
  }

  // repeated .google.protobuf.LinkedObject linkedObjects = 5;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->linkedobjects_size()); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      5,
      this->linkedobjects(static_cast<int>(i)),
      output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:google.protobuf.SwiftMessageOptions)
}

::google::protobuf::uint8* SwiftMessageOptions::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SwiftMessageOptions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bool generate_error_type = 1 [default = false];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->generate_error_type(), target);
  }

  // optional bool generate_realm_object = 2 [default = false];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->generate_realm_object(), target);
  }

  // optional bool generate_react = 3 [default = false];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->generate_react(), target);
  }

  // optional string additional_class_name = 4;
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
      this->additional_class_name().data(), static_cast<int>(this->additional_class_name().length()),
      ::google::protobuf::internal::WireFormat::SERIALIZE,
      "google.protobuf.SwiftMessageOptions.additional_class_name");
    target =
      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
        4, this->additional_class_name(), target);
  }

  // repeated .google.protobuf.LinkedObject linkedObjects = 5;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->linkedobjects_size()); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageToArray(
        5, this->linkedobjects(static_cast<int>(i)), deterministic, target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SwiftMessageOptions)
  return target;
}

size_t SwiftMessageOptions::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.protobuf.SwiftMessageOptions)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  // repeated .google.protobuf.LinkedObject linkedObjects = 5;
  {
    unsigned int count = static_cast<unsigned int>(this->linkedobjects_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          this->linkedobjects(static_cast<int>(i)));
    }
  }

  if (_has_bits_[0 / 32] & 15u) {
    // optional string additional_class_name = 4;
    if (has_additional_class_name()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->additional_class_name());
    }

    // optional bool generate_error_type = 1 [default = false];
    if (has_generate_error_type()) {
      total_size += 1 + 1;
    }

    // optional bool generate_realm_object = 2 [default = false];
    if (has_generate_realm_object()) {
      total_size += 1 + 1;
    }

    // optional bool generate_react = 3 [default = false];
    if (has_generate_react()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void SwiftMessageOptions::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.SwiftMessageOptions)
  GOOGLE_DCHECK_NE(&from, this);
  const SwiftMessageOptions* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const SwiftMessageOptions>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.SwiftMessageOptions)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.SwiftMessageOptions)
    MergeFrom(*source);
  }
}

void SwiftMessageOptions::MergeFrom(const SwiftMessageOptions& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.SwiftMessageOptions)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  linkedobjects_.MergeFrom(from.linkedobjects_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 15u) {
    if (cached_has_bits & 0x00000001u) {
      set_has_additional_class_name();
      additional_class_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.additional_class_name_);
    }
    if (cached_has_bits & 0x00000002u) {
      generate_error_type_ = from.generate_error_type_;
    }
    if (cached_has_bits & 0x00000004u) {
      generate_realm_object_ = from.generate_realm_object_;
    }
    if (cached_has_bits & 0x00000008u) {
      generate_react_ = from.generate_react_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void SwiftMessageOptions::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.SwiftMessageOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void SwiftMessageOptions::CopyFrom(const SwiftMessageOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.SwiftMessageOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool SwiftMessageOptions::IsInitialized() const {
  if (!::google::protobuf::internal::AllAreInitialized(this->linkedobjects())) return false;
  return true;
}

void SwiftMessageOptions::Swap(SwiftMessageOptions* other) {
  if (other == this) return;
  InternalSwap(other);
}
void SwiftMessageOptions::InternalSwap(SwiftMessageOptions* other) {
  using std::swap;
  CastToBase(&linkedobjects_)->InternalSwap(CastToBase(&other->linkedobjects_));
  additional_class_name_.Swap(&other->additional_class_name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(generate_error_type_, other->generate_error_type_);
  swap(generate_realm_object_, other->generate_realm_object_);
  swap(generate_react_, other->generate_react_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata SwiftMessageOptions::GetMetadata() const {
  protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void SwiftFieldOptions::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int SwiftFieldOptions::kRealmIndexedPropertieFieldNumber;
const int SwiftFieldOptions::kRealmPrimaryKeyFieldNumber;
const int SwiftFieldOptions::kRealmOverridePropertieFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

SwiftFieldOptions::SwiftFieldOptions()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::scc_info_SwiftFieldOptions.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.protobuf.SwiftFieldOptions)
}
SwiftFieldOptions::SwiftFieldOptions(const SwiftFieldOptions& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&realm_indexed_propertie_, &from.realm_indexed_propertie_,
    static_cast<size_t>(reinterpret_cast<char*>(&realm_override_propertie_) -
    reinterpret_cast<char*>(&realm_indexed_propertie_)) + sizeof(realm_override_propertie_));
  // @@protoc_insertion_point(copy_constructor:google.protobuf.SwiftFieldOptions)
}

void SwiftFieldOptions::SharedCtor() {
  ::memset(&realm_indexed_propertie_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&realm_override_propertie_) -
      reinterpret_cast<char*>(&realm_indexed_propertie_)) + sizeof(realm_override_propertie_));
}

SwiftFieldOptions::~SwiftFieldOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.SwiftFieldOptions)
  SharedDtor();
}

void SwiftFieldOptions::SharedDtor() {
}

void SwiftFieldOptions::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* SwiftFieldOptions::descriptor() {
  ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const SwiftFieldOptions& SwiftFieldOptions::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::scc_info_SwiftFieldOptions.base);
  return *internal_default_instance();
}


void SwiftFieldOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.SwiftFieldOptions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 7u) {
    ::memset(&realm_indexed_propertie_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&realm_override_propertie_) -
        reinterpret_cast<char*>(&realm_indexed_propertie_)) + sizeof(realm_override_propertie_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool SwiftFieldOptions::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.protobuf.SwiftFieldOptions)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bool realm_indexed_propertie = 1 [default = false];
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_realm_indexed_propertie();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &realm_indexed_propertie_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool realm_primary_key = 2 [default = false];
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_realm_primary_key();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &realm_primary_key_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional .google.protobuf.RealmOverrideRepeated realm_override_propertie = 3 [default = OVERRIDE];
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::google::protobuf::RealmOverrideRepeated_IsValid(value)) {
            set_realm_override_propertie(static_cast< ::google::protobuf::RealmOverrideRepeated >(value));
          } else {
            mutable_unknown_fields()->AddVarint(
                3, static_cast< ::google::protobuf::uint64>(value));
          }
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.protobuf.SwiftFieldOptions)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.protobuf.SwiftFieldOptions)
  return false;
#undef DO_
}

void SwiftFieldOptions::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.protobuf.SwiftFieldOptions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bool realm_indexed_propertie = 1 [default = false];
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->realm_indexed_propertie(), output);
  }

  // optional bool realm_primary_key = 2 [default = false];
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->realm_primary_key(), output);
  }

  // optional .google.protobuf.RealmOverrideRepeated realm_override_propertie = 3 [default = OVERRIDE];
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      3, this->realm_override_propertie(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:google.protobuf.SwiftFieldOptions)
}

::google::protobuf::uint8* SwiftFieldOptions::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SwiftFieldOptions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bool realm_indexed_propertie = 1 [default = false];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->realm_indexed_propertie(), target);
  }

  // optional bool realm_primary_key = 2 [default = false];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->realm_primary_key(), target);
  }

  // optional .google.protobuf.RealmOverrideRepeated realm_override_propertie = 3 [default = OVERRIDE];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
      3, this->realm_override_propertie(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SwiftFieldOptions)
  return target;
}

size_t SwiftFieldOptions::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.protobuf.SwiftFieldOptions)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (_has_bits_[0 / 32] & 7u) {
    // optional bool realm_indexed_propertie = 1 [default = false];
    if (has_realm_indexed_propertie()) {
      total_size += 1 + 1;
    }

    // optional bool realm_primary_key = 2 [default = false];
    if (has_realm_primary_key()) {
      total_size += 1 + 1;
    }

    // optional .google.protobuf.RealmOverrideRepeated realm_override_propertie = 3 [default = OVERRIDE];
    if (has_realm_override_propertie()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->realm_override_propertie());
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void SwiftFieldOptions::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.SwiftFieldOptions)
  GOOGLE_DCHECK_NE(&from, this);
  const SwiftFieldOptions* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const SwiftFieldOptions>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.SwiftFieldOptions)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.SwiftFieldOptions)
    MergeFrom(*source);
  }
}

void SwiftFieldOptions::MergeFrom(const SwiftFieldOptions& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.SwiftFieldOptions)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      realm_indexed_propertie_ = from.realm_indexed_propertie_;
    }
    if (cached_has_bits & 0x00000002u) {
      realm_primary_key_ = from.realm_primary_key_;
    }
    if (cached_has_bits & 0x00000004u) {
      realm_override_propertie_ = from.realm_override_propertie_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void SwiftFieldOptions::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.SwiftFieldOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void SwiftFieldOptions::CopyFrom(const SwiftFieldOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.SwiftFieldOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool SwiftFieldOptions::IsInitialized() const {
  return true;
}

void SwiftFieldOptions::Swap(SwiftFieldOptions* other) {
  if (other == this) return;
  InternalSwap(other);
}
void SwiftFieldOptions::InternalSwap(SwiftFieldOptions* other) {
  using std::swap;
  swap(realm_indexed_propertie_, other->realm_indexed_propertie_);
  swap(realm_primary_key_, other->realm_primary_key_);
  swap(realm_override_propertie_, other->realm_override_propertie_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata SwiftFieldOptions::GetMetadata() const {
  protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::file_level_metadata[kIndexInFileMessages];
}


// ===================================================================

void SwiftEnumOptions::InitAsDefaultInstance() {
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int SwiftEnumOptions::kGenerateErrorTypeFieldNumber;
const int SwiftEnumOptions::kGenerateReactFieldNumber;
const int SwiftEnumOptions::kGenerateRealmObjectFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

SwiftEnumOptions::SwiftEnumOptions()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  ::google::protobuf::internal::InitSCC(
      &protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::scc_info_SwiftEnumOptions.base);
  SharedCtor();
  // @@protoc_insertion_point(constructor:google.protobuf.SwiftEnumOptions)
}
SwiftEnumOptions::SwiftEnumOptions(const SwiftEnumOptions& from)
  : ::google::protobuf::Message(),
      _internal_metadata_(NULL),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::memcpy(&generate_error_type_, &from.generate_error_type_,
    static_cast<size_t>(reinterpret_cast<char*>(&generate_realm_object_) -
    reinterpret_cast<char*>(&generate_error_type_)) + sizeof(generate_realm_object_));
  // @@protoc_insertion_point(copy_constructor:google.protobuf.SwiftEnumOptions)
}

void SwiftEnumOptions::SharedCtor() {
  ::memset(&generate_error_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&generate_realm_object_) -
      reinterpret_cast<char*>(&generate_error_type_)) + sizeof(generate_realm_object_));
}

SwiftEnumOptions::~SwiftEnumOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.SwiftEnumOptions)
  SharedDtor();
}

void SwiftEnumOptions::SharedDtor() {
}

void SwiftEnumOptions::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const ::google::protobuf::Descriptor* SwiftEnumOptions::descriptor() {
  ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
}

const SwiftEnumOptions& SwiftEnumOptions::default_instance() {
  ::google::protobuf::internal::InitSCC(&protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::scc_info_SwiftEnumOptions.base);
  return *internal_default_instance();
}


void SwiftEnumOptions::Clear() {
// @@protoc_insertion_point(message_clear_start:google.protobuf.SwiftEnumOptions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&generate_error_type_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&generate_realm_object_) -
      reinterpret_cast<char*>(&generate_error_type_)) + sizeof(generate_realm_object_));
  _has_bits_.Clear();
  _internal_metadata_.Clear();
}

bool SwiftEnumOptions::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
  ::google::protobuf::uint32 tag;
  // @@protoc_insertion_point(parse_start:google.protobuf.SwiftEnumOptions)
  for (;;) {
    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional bool generate_error_type = 1 [default = false];
      case 1: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
          set_has_generate_error_type();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &generate_error_type_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool generate_react = 2 [default = false];
      case 2: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
          set_has_generate_react();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &generate_react_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // optional bool generate_realm_object = 3 [default = false];
      case 3: {
        if (static_cast< ::google::protobuf::uint8>(tag) ==
            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
          set_has_generate_realm_object();
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &generate_realm_object_)));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:google.protobuf.SwiftEnumOptions)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:google.protobuf.SwiftEnumOptions)
  return false;
#undef DO_
}

void SwiftEnumOptions::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:google.protobuf.SwiftEnumOptions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bool generate_error_type = 1 [default = false];
  if (cached_has_bits & 0x00000001u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->generate_error_type(), output);
  }

  // optional bool generate_react = 2 [default = false];
  if (cached_has_bits & 0x00000002u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->generate_react(), output);
  }

  // optional bool generate_realm_object = 3 [default = false];
  if (cached_has_bits & 0x00000004u) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->generate_realm_object(), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:google.protobuf.SwiftEnumOptions)
}

::google::protobuf::uint8* SwiftEnumOptions::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SwiftEnumOptions)
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bool generate_error_type = 1 [default = false];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->generate_error_type(), target);
  }

  // optional bool generate_react = 2 [default = false];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->generate_react(), target);
  }

  // optional bool generate_realm_object = 3 [default = false];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->generate_realm_object(), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SwiftEnumOptions)
  return target;
}

size_t SwiftEnumOptions::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:google.protobuf.SwiftEnumOptions)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  if (_has_bits_[0 / 32] & 7u) {
    // optional bool generate_error_type = 1 [default = false];
    if (has_generate_error_type()) {
      total_size += 1 + 1;
    }

    // optional bool generate_react = 2 [default = false];
    if (has_generate_react()) {
      total_size += 1 + 1;
    }

    // optional bool generate_realm_object = 3 [default = false];
    if (has_generate_realm_object()) {
      total_size += 1 + 1;
    }

  }
  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void SwiftEnumOptions::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.SwiftEnumOptions)
  GOOGLE_DCHECK_NE(&from, this);
  const SwiftEnumOptions* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const SwiftEnumOptions>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.SwiftEnumOptions)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.SwiftEnumOptions)
    MergeFrom(*source);
  }
}

void SwiftEnumOptions::MergeFrom(const SwiftEnumOptions& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.SwiftEnumOptions)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::google::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 7u) {
    if (cached_has_bits & 0x00000001u) {
      generate_error_type_ = from.generate_error_type_;
    }
    if (cached_has_bits & 0x00000002u) {
      generate_react_ = from.generate_react_;
    }
    if (cached_has_bits & 0x00000004u) {
      generate_realm_object_ = from.generate_realm_object_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void SwiftEnumOptions::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.SwiftEnumOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void SwiftEnumOptions::CopyFrom(const SwiftEnumOptions& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.SwiftEnumOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool SwiftEnumOptions::IsInitialized() const {
  return true;
}

void SwiftEnumOptions::Swap(SwiftEnumOptions* other) {
  if (other == this) return;
  InternalSwap(other);
}
void SwiftEnumOptions::InternalSwap(SwiftEnumOptions* other) {
  using std::swap;
  swap(generate_error_type_, other->generate_error_type_);
  swap(generate_react_, other->generate_react_);
  swap(generate_realm_object_, other->generate_realm_object_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  _internal_metadata_.Swap(&other->_internal_metadata_);
}

::google::protobuf::Metadata SwiftEnumOptions::GetMetadata() const {
  protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::protobuf_AssignDescriptorsOnce();
  return ::protobuf_google_2fprotobuf_2fswift_2ddescriptor_2eproto::file_level_metadata[kIndexInFileMessages];
}

::google::protobuf::internal::ExtensionIdentifier< ::google::protobuf::FileOptions,
    ::google::protobuf::internal::MessageTypeTraits< ::google::protobuf::SwiftFileOptions >, 11, false >
  swift_file_options(kSwiftFileOptionsFieldNumber, *::google::protobuf::SwiftFileOptions::internal_default_instance());
::google::protobuf::internal::ExtensionIdentifier< ::google::protobuf::FieldOptions,
    ::google::protobuf::internal::MessageTypeTraits< ::google::protobuf::SwiftFieldOptions >, 11, false >
  swift_field_options(kSwiftFieldOptionsFieldNumber, *::google::protobuf::SwiftFieldOptions::internal_default_instance());
::google::protobuf::internal::ExtensionIdentifier< ::google::protobuf::MessageOptions,
    ::google::protobuf::internal::MessageTypeTraits< ::google::protobuf::SwiftMessageOptions >, 11, false >
  swift_message_options(kSwiftMessageOptionsFieldNumber, *::google::protobuf::SwiftMessageOptions::internal_default_instance());
::google::protobuf::internal::ExtensionIdentifier< ::google::protobuf::EnumOptions,
    ::google::protobuf::internal::MessageTypeTraits< ::google::protobuf::SwiftEnumOptions >, 11, false >
  swift_enum_options(kSwiftEnumOptionsFieldNumber, *::google::protobuf::SwiftEnumOptions::internal_default_instance());

// @@protoc_insertion_point(namespace_scope)
}  // namespace protobuf
}  // namespace google
namespace google {
namespace protobuf {
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::google::protobuf::LinkedObject* Arena::CreateMaybeMessage< ::google::protobuf::LinkedObject >(Arena* arena) {
  return Arena::CreateInternal< ::google::protobuf::LinkedObject >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::google::protobuf::SwiftFileOptions* Arena::CreateMaybeMessage< ::google::protobuf::SwiftFileOptions >(Arena* arena) {
  return Arena::CreateInternal< ::google::protobuf::SwiftFileOptions >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::google::protobuf::SwiftMessageOptions* Arena::CreateMaybeMessage< ::google::protobuf::SwiftMessageOptions >(Arena* arena) {
  return Arena::CreateInternal< ::google::protobuf::SwiftMessageOptions >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::google::protobuf::SwiftFieldOptions* Arena::CreateMaybeMessage< ::google::protobuf::SwiftFieldOptions >(Arena* arena) {
  return Arena::CreateInternal< ::google::protobuf::SwiftFieldOptions >(arena);
}
template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::google::protobuf::SwiftEnumOptions* Arena::CreateMaybeMessage< ::google::protobuf::SwiftEnumOptions >(Arena* arena) {
  return Arena::CreateInternal< ::google::protobuf::SwiftEnumOptions >(arena);
}
}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)
