All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ets.phenopacket-schema.1.0.0-RC3.source-code.interpretation.pb.cc Maven / Gradle / Ivy

There is a newer version: 2.0.2
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: interpretation.proto

#include "interpretation.pb.h"

#include 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
// @@protoc_insertion_point(includes)
#include 
extern PROTOBUF_INTERNAL_EXPORT_interpretation_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_Diagnosis_interpretation_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_phenopackets_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<4> scc_info_Family_phenopackets_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_interpretation_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_GenomicInterpretation_interpretation_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_phenopackets_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<8> scc_info_Phenopacket_phenopackets_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_base_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<3> scc_info_Disease_base_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_base_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Gene_base_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_base_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<4> scc_info_MetaData_base_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_base_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<5> scc_info_Variant_base_2eproto;
namespace org {
namespace phenopackets {
namespace schema {
namespace v1 {
class InterpretationDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance;
  const ::org::phenopackets::schema::v1::Phenopacket* phenopacket_;
  const ::org::phenopackets::schema::v1::Family* family_;
} _Interpretation_default_instance_;
class DiagnosisDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance;
} _Diagnosis_default_instance_;
class GenomicInterpretationDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed _instance;
  const ::org::phenopackets::schema::v1::core::Gene* gene_;
  const ::org::phenopackets::schema::v1::core::Variant* variant_;
} _GenomicInterpretation_default_instance_;
}  // namespace v1
}  // namespace schema
}  // namespace phenopackets
}  // namespace org
static void InitDefaultsscc_info_Diagnosis_interpretation_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::org::phenopackets::schema::v1::_Diagnosis_default_instance_;
    new (ptr) ::org::phenopackets::schema::v1::Diagnosis();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::org::phenopackets::schema::v1::Diagnosis::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_Diagnosis_interpretation_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_Diagnosis_interpretation_2eproto}, {
      &scc_info_Disease_base_2eproto.base,
      &scc_info_GenomicInterpretation_interpretation_2eproto.base,}};

static void InitDefaultsscc_info_GenomicInterpretation_interpretation_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::org::phenopackets::schema::v1::_GenomicInterpretation_default_instance_;
    new (ptr) ::org::phenopackets::schema::v1::GenomicInterpretation();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::org::phenopackets::schema::v1::GenomicInterpretation::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_GenomicInterpretation_interpretation_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsscc_info_GenomicInterpretation_interpretation_2eproto}, {
      &scc_info_Gene_base_2eproto.base,
      &scc_info_Variant_base_2eproto.base,}};

static void InitDefaultsscc_info_Interpretation_interpretation_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::org::phenopackets::schema::v1::_Interpretation_default_instance_;
    new (ptr) ::org::phenopackets::schema::v1::Interpretation();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::org::phenopackets::schema::v1::Interpretation::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<4> scc_info_Interpretation_interpretation_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 4, InitDefaultsscc_info_Interpretation_interpretation_2eproto}, {
      &scc_info_Phenopacket_phenopackets_2eproto.base,
      &scc_info_Family_phenopackets_2eproto.base,
      &scc_info_Diagnosis_interpretation_2eproto.base,
      &scc_info_MetaData_base_2eproto.base,}};

static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_interpretation_2eproto[3];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_interpretation_2eproto[2];
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_interpretation_2eproto = nullptr;

const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_interpretation_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::Interpretation, _internal_metadata_),
  ~0u,  // no _extensions_
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::Interpretation, _oneof_case_[0]),
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::Interpretation, id_),
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::Interpretation, resolution_status_),
  offsetof(::org::phenopackets::schema::v1::InterpretationDefaultTypeInternal, phenopacket_),
  offsetof(::org::phenopackets::schema::v1::InterpretationDefaultTypeInternal, family_),
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::Interpretation, diagnosis_),
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::Interpretation, meta_data_),
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::Interpretation, phenopacket_or_family_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::Diagnosis, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::Diagnosis, disease_),
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::Diagnosis, genomic_interpretations_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::GenomicInterpretation, _internal_metadata_),
  ~0u,  // no _extensions_
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::GenomicInterpretation, _oneof_case_[0]),
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::GenomicInterpretation, status_),
  offsetof(::org::phenopackets::schema::v1::GenomicInterpretationDefaultTypeInternal, gene_),
  offsetof(::org::phenopackets::schema::v1::GenomicInterpretationDefaultTypeInternal, variant_),
  PROTOBUF_FIELD_OFFSET(::org::phenopackets::schema::v1::GenomicInterpretation, call_),
};
static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, sizeof(::org::phenopackets::schema::v1::Interpretation)},
  { 12, -1, sizeof(::org::phenopackets::schema::v1::Diagnosis)},
  { 19, -1, sizeof(::org::phenopackets::schema::v1::GenomicInterpretation)},
};

static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
  reinterpret_cast(&::org::phenopackets::schema::v1::_Interpretation_default_instance_),
  reinterpret_cast(&::org::phenopackets::schema::v1::_Diagnosis_default_instance_),
  reinterpret_cast(&::org::phenopackets::schema::v1::_GenomicInterpretation_default_instance_),
};

const char descriptor_table_protodef_interpretation_2eproto[] =
  "\n\024interpretation.proto\022\032org.phenopackets"
  ".schema.v1\032\nbase.proto\032\022phenopackets.pro"
  "to\"\307\003\n\016Interpretation\022\n\n\002id\030\001 \001(\t\022V\n\021res"
  "olution_status\030\002 \001(\0162;.org.phenopackets."
  "schema.v1.Interpretation.ResolutionStatu"
  "s\022>\n\013phenopacket\030\003 \001(\0132\'.org.phenopacket"
  "s.schema.v1.PhenopacketH\000\0224\n\006family\030\004 \001("
  "\0132\".org.phenopackets.schema.v1.FamilyH\000\022"
  "8\n\tdiagnosis\030\005 \003(\0132%.org.phenopackets.sc"
  "hema.v1.Diagnosis\022<\n\tmeta_data\030\006 \001(\0132).o"
  "rg.phenopackets.schema.v1.core.MetaData\""
  "J\n\020ResolutionStatus\022\013\n\007UNKNOWN\020\000\022\n\n\006SOLV"
  "ED\020\001\022\014\n\010UNSOLVED\020\002\022\017\n\013IN_PROGRESS\020\003B\027\n\025p"
  "henopacket_or_family\"\232\001\n\tDiagnosis\0229\n\007di"
  "sease\030\001 \001(\0132(.org.phenopackets.schema.v1"
  ".core.Disease\022R\n\027genomic_interpretations"
  "\030\002 \003(\01321.org.phenopackets.schema.v1.Geno"
  "micInterpretation\"\240\002\n\025GenomicInterpretat"
  "ion\022H\n\006status\030\001 \001(\01628.org.phenopackets.s"
  "chema.v1.GenomicInterpretation.Status\0225\n"
  "\004gene\030\002 \001(\0132%.org.phenopackets.schema.v1"
  ".core.GeneH\000\022;\n\007variant\030\003 \001(\0132(.org.phen"
  "opackets.schema.v1.core.VariantH\000\"A\n\006Sta"
  "tus\022\013\n\007UNKNOWN\020\000\022\014\n\010REJECTED\020\001\022\r\n\tCANDID"
  "ATE\020\002\022\r\n\tCAUSATIVE\020\003B\006\n\004callB\036\n\032org.phen"
  "opackets.schema.v1P\001b\006proto3"
  ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_interpretation_2eproto_deps[2] = {
  &::descriptor_table_base_2eproto,
  &::descriptor_table_phenopackets_2eproto,
};
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_interpretation_2eproto_sccs[3] = {
  &scc_info_Diagnosis_interpretation_2eproto.base,
  &scc_info_GenomicInterpretation_interpretation_2eproto.base,
  &scc_info_Interpretation_interpretation_2eproto.base,
};
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_interpretation_2eproto_once;
static bool descriptor_table_interpretation_2eproto_initialized = false;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_interpretation_2eproto = {
  &descriptor_table_interpretation_2eproto_initialized, descriptor_table_protodef_interpretation_2eproto, "interpretation.proto", 1028,
  &descriptor_table_interpretation_2eproto_once, descriptor_table_interpretation_2eproto_sccs, descriptor_table_interpretation_2eproto_deps, 3, 2,
  schemas, file_default_instances, TableStruct_interpretation_2eproto::offsets,
  file_level_metadata_interpretation_2eproto, 3, file_level_enum_descriptors_interpretation_2eproto, file_level_service_descriptors_interpretation_2eproto,
};

// Force running AddDescriptors() at dynamic initialization time.
static bool dynamic_init_dummy_interpretation_2eproto = (  ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_interpretation_2eproto), true);
namespace org {
namespace phenopackets {
namespace schema {
namespace v1 {
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Interpretation_ResolutionStatus_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_interpretation_2eproto);
  return file_level_enum_descriptors_interpretation_2eproto[0];
}
bool Interpretation_ResolutionStatus_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
constexpr Interpretation_ResolutionStatus Interpretation::UNKNOWN;
constexpr Interpretation_ResolutionStatus Interpretation::SOLVED;
constexpr Interpretation_ResolutionStatus Interpretation::UNSOLVED;
constexpr Interpretation_ResolutionStatus Interpretation::IN_PROGRESS;
constexpr Interpretation_ResolutionStatus Interpretation::ResolutionStatus_MIN;
constexpr Interpretation_ResolutionStatus Interpretation::ResolutionStatus_MAX;
constexpr int Interpretation::ResolutionStatus_ARRAYSIZE;
#endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GenomicInterpretation_Status_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_interpretation_2eproto);
  return file_level_enum_descriptors_interpretation_2eproto[1];
}
bool GenomicInterpretation_Status_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
constexpr GenomicInterpretation_Status GenomicInterpretation::UNKNOWN;
constexpr GenomicInterpretation_Status GenomicInterpretation::REJECTED;
constexpr GenomicInterpretation_Status GenomicInterpretation::CANDIDATE;
constexpr GenomicInterpretation_Status GenomicInterpretation::CAUSATIVE;
constexpr GenomicInterpretation_Status GenomicInterpretation::Status_MIN;
constexpr GenomicInterpretation_Status GenomicInterpretation::Status_MAX;
constexpr int GenomicInterpretation::Status_ARRAYSIZE;
#endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)

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

void Interpretation::InitAsDefaultInstance() {
  ::org::phenopackets::schema::v1::_Interpretation_default_instance_.phenopacket_ = const_cast< ::org::phenopackets::schema::v1::Phenopacket*>(
      ::org::phenopackets::schema::v1::Phenopacket::internal_default_instance());
  ::org::phenopackets::schema::v1::_Interpretation_default_instance_.family_ = const_cast< ::org::phenopackets::schema::v1::Family*>(
      ::org::phenopackets::schema::v1::Family::internal_default_instance());
  ::org::phenopackets::schema::v1::_Interpretation_default_instance_._instance.get_mutable()->meta_data_ = const_cast< ::org::phenopackets::schema::v1::core::MetaData*>(
      ::org::phenopackets::schema::v1::core::MetaData::internal_default_instance());
}
class Interpretation::HasBitSetters {
 public:
  static const ::org::phenopackets::schema::v1::Phenopacket& phenopacket(const Interpretation* msg);
  static const ::org::phenopackets::schema::v1::Family& family(const Interpretation* msg);
  static const ::org::phenopackets::schema::v1::core::MetaData& meta_data(const Interpretation* msg);
};

const ::org::phenopackets::schema::v1::Phenopacket&
Interpretation::HasBitSetters::phenopacket(const Interpretation* msg) {
  return *msg->phenopacket_or_family_.phenopacket_;
}
const ::org::phenopackets::schema::v1::Family&
Interpretation::HasBitSetters::family(const Interpretation* msg) {
  return *msg->phenopacket_or_family_.family_;
}
const ::org::phenopackets::schema::v1::core::MetaData&
Interpretation::HasBitSetters::meta_data(const Interpretation* msg) {
  return *msg->meta_data_;
}
void Interpretation::set_allocated_phenopacket(::org::phenopackets::schema::v1::Phenopacket* phenopacket) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  clear_phenopacket_or_family();
  if (phenopacket) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      phenopacket = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, phenopacket, submessage_arena);
    }
    set_has_phenopacket();
    phenopacket_or_family_.phenopacket_ = phenopacket;
  }
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.Interpretation.phenopacket)
}
void Interpretation::clear_phenopacket() {
  if (has_phenopacket()) {
    delete phenopacket_or_family_.phenopacket_;
    clear_has_phenopacket_or_family();
  }
}
void Interpretation::set_allocated_family(::org::phenopackets::schema::v1::Family* family) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  clear_phenopacket_or_family();
  if (family) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      family = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, family, submessage_arena);
    }
    set_has_family();
    phenopacket_or_family_.family_ = family;
  }
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.Interpretation.family)
}
void Interpretation::clear_family() {
  if (has_family()) {
    delete phenopacket_or_family_.family_;
    clear_has_phenopacket_or_family();
  }
}
void Interpretation::clear_meta_data() {
  if (GetArenaNoVirtual() == nullptr && meta_data_ != nullptr) {
    delete meta_data_;
  }
  meta_data_ = nullptr;
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Interpretation::kIdFieldNumber;
const int Interpretation::kResolutionStatusFieldNumber;
const int Interpretation::kPhenopacketFieldNumber;
const int Interpretation::kFamilyFieldNumber;
const int Interpretation::kDiagnosisFieldNumber;
const int Interpretation::kMetaDataFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Interpretation::Interpretation()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:org.phenopackets.schema.v1.Interpretation)
}
Interpretation::Interpretation(const Interpretation& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr),
      diagnosis_(from.diagnosis_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from.id().size() > 0) {
    id_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.id_);
  }
  if (from.has_meta_data()) {
    meta_data_ = new ::org::phenopackets::schema::v1::core::MetaData(*from.meta_data_);
  } else {
    meta_data_ = nullptr;
  }
  resolution_status_ = from.resolution_status_;
  clear_has_phenopacket_or_family();
  switch (from.phenopacket_or_family_case()) {
    case kPhenopacket: {
      mutable_phenopacket()->::org::phenopackets::schema::v1::Phenopacket::MergeFrom(from.phenopacket());
      break;
    }
    case kFamily: {
      mutable_family()->::org::phenopackets::schema::v1::Family::MergeFrom(from.family());
      break;
    }
    case PHENOPACKET_OR_FAMILY_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:org.phenopackets.schema.v1.Interpretation)
}

void Interpretation::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Interpretation_interpretation_2eproto.base);
  id_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&meta_data_, 0, static_cast(
      reinterpret_cast(&resolution_status_) -
      reinterpret_cast(&meta_data_)) + sizeof(resolution_status_));
  clear_has_phenopacket_or_family();
}

Interpretation::~Interpretation() {
  // @@protoc_insertion_point(destructor:org.phenopackets.schema.v1.Interpretation)
  SharedDtor();
}

void Interpretation::SharedDtor() {
  id_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete meta_data_;
  if (has_phenopacket_or_family()) {
    clear_phenopacket_or_family();
  }
}

void Interpretation::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Interpretation& Interpretation::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Interpretation_interpretation_2eproto.base);
  return *internal_default_instance();
}


void Interpretation::clear_phenopacket_or_family() {
// @@protoc_insertion_point(one_of_clear_start:org.phenopackets.schema.v1.Interpretation)
  switch (phenopacket_or_family_case()) {
    case kPhenopacket: {
      delete phenopacket_or_family_.phenopacket_;
      break;
    }
    case kFamily: {
      delete phenopacket_or_family_.family_;
      break;
    }
    case PHENOPACKET_OR_FAMILY_NOT_SET: {
      break;
    }
  }
  _oneof_case_[0] = PHENOPACKET_OR_FAMILY_NOT_SET;
}


void Interpretation::Clear() {
// @@protoc_insertion_point(message_clear_start:org.phenopackets.schema.v1.Interpretation)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  diagnosis_.Clear();
  id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (GetArenaNoVirtual() == nullptr && meta_data_ != nullptr) {
    delete meta_data_;
  }
  meta_data_ = nullptr;
  resolution_status_ = 0;
  clear_phenopacket_or_family();
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* Interpretation::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // string id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_id(), ptr, ctx, "org.phenopackets.schema.v1.Interpretation.id");
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .org.phenopackets.schema.v1.Interpretation.ResolutionStatus resolution_status = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
          set_resolution_status(static_cast<::org::phenopackets::schema::v1::Interpretation_ResolutionStatus>(val));
        } else goto handle_unusual;
        continue;
      // .org.phenopackets.schema.v1.Phenopacket phenopacket = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(mutable_phenopacket(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .org.phenopackets.schema.v1.Family family = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(mutable_family(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .org.phenopackets.schema.v1.Diagnosis diagnosis = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(add_diagnosis(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42);
        } else goto handle_unusual;
        continue;
      // .org.phenopackets.schema.v1.core.MetaData meta_data = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(mutable_meta_data(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool Interpretation::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:org.phenopackets.schema.v1.Interpretation)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // string id = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadString(
                input, this->mutable_id()));
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
            this->id().data(), static_cast(this->id().length()),
            ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE,
            "org.phenopackets.schema.v1.Interpretation.id"));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .org.phenopackets.schema.v1.Interpretation.ResolutionStatus resolution_status = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (16 & 0xFF)) {
          int value = 0;
          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   int, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_resolution_status(static_cast< ::org::phenopackets::schema::v1::Interpretation_ResolutionStatus >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .org.phenopackets.schema.v1.Phenopacket phenopacket = 3;
      case 3: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
               input, mutable_phenopacket()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .org.phenopackets.schema.v1.Family family = 4;
      case 4: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (34 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
               input, mutable_family()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .org.phenopackets.schema.v1.Diagnosis diagnosis = 5;
      case 5: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (42 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
                input, add_diagnosis()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .org.phenopackets.schema.v1.core.MetaData meta_data = 6;
      case 6: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (50 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
               input, mutable_meta_data()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:org.phenopackets.schema.v1.Interpretation)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:org.phenopackets.schema.v1.Interpretation)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void Interpretation::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:org.phenopackets.schema.v1.Interpretation)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string id = 1;
  if (this->id().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->id().data(), static_cast(this->id().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "org.phenopackets.schema.v1.Interpretation.id");
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringMaybeAliased(
      1, this->id(), output);
  }

  // .org.phenopackets.schema.v1.Interpretation.ResolutionStatus resolution_status = 2;
  if (this->resolution_status() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnum(
      2, this->resolution_status(), output);
  }

  // .org.phenopackets.schema.v1.Phenopacket phenopacket = 3;
  if (has_phenopacket()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      3, HasBitSetters::phenopacket(this), output);
  }

  // .org.phenopackets.schema.v1.Family family = 4;
  if (has_family()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      4, HasBitSetters::family(this), output);
  }

  // repeated .org.phenopackets.schema.v1.Diagnosis diagnosis = 5;
  for (unsigned int i = 0,
      n = static_cast(this->diagnosis_size()); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      5,
      this->diagnosis(static_cast(i)),
      output);
  }

  // .org.phenopackets.schema.v1.core.MetaData meta_data = 6;
  if (this->has_meta_data()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      6, HasBitSetters::meta_data(this), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:org.phenopackets.schema.v1.Interpretation)
}

::PROTOBUF_NAMESPACE_ID::uint8* Interpretation::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:org.phenopackets.schema.v1.Interpretation)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // string id = 1;
  if (this->id().size() > 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->id().data(), static_cast(this->id().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "org.phenopackets.schema.v1.Interpretation.id");
    target =
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteStringToArray(
        1, this->id(), target);
  }

  // .org.phenopackets.schema.v1.Interpretation.ResolutionStatus resolution_status = 2;
  if (this->resolution_status() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->resolution_status(), target);
  }

  // .org.phenopackets.schema.v1.Phenopacket phenopacket = 3;
  if (has_phenopacket()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        3, HasBitSetters::phenopacket(this), target);
  }

  // .org.phenopackets.schema.v1.Family family = 4;
  if (has_family()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        4, HasBitSetters::family(this), target);
  }

  // repeated .org.phenopackets.schema.v1.Diagnosis diagnosis = 5;
  for (unsigned int i = 0,
      n = static_cast(this->diagnosis_size()); i < n; i++) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        5, this->diagnosis(static_cast(i)), target);
  }

  // .org.phenopackets.schema.v1.core.MetaData meta_data = 6;
  if (this->has_meta_data()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        6, HasBitSetters::meta_data(this), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:org.phenopackets.schema.v1.Interpretation)
  return target;
}

size_t Interpretation::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:org.phenopackets.schema.v1.Interpretation)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .org.phenopackets.schema.v1.Diagnosis diagnosis = 5;
  {
    unsigned int count = static_cast(this->diagnosis_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          this->diagnosis(static_cast(i)));
    }
  }

  // string id = 1;
  if (this->id().size() > 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->id());
  }

  // .org.phenopackets.schema.v1.core.MetaData meta_data = 6;
  if (this->has_meta_data()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *meta_data_);
  }

  // .org.phenopackets.schema.v1.Interpretation.ResolutionStatus resolution_status = 2;
  if (this->resolution_status() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->resolution_status());
  }

  switch (phenopacket_or_family_case()) {
    // .org.phenopackets.schema.v1.Phenopacket phenopacket = 3;
    case kPhenopacket: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *phenopacket_or_family_.phenopacket_);
      break;
    }
    // .org.phenopackets.schema.v1.Family family = 4;
    case kFamily: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *phenopacket_or_family_.family_);
      break;
    }
    case PHENOPACKET_OR_FAMILY_NOT_SET: {
      break;
    }
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Interpretation::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:org.phenopackets.schema.v1.Interpretation)
  GOOGLE_DCHECK_NE(&from, this);
  const Interpretation* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:org.phenopackets.schema.v1.Interpretation)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:org.phenopackets.schema.v1.Interpretation)
    MergeFrom(*source);
  }
}

void Interpretation::MergeFrom(const Interpretation& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:org.phenopackets.schema.v1.Interpretation)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  diagnosis_.MergeFrom(from.diagnosis_);
  if (from.id().size() > 0) {

    id_.AssignWithDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from.id_);
  }
  if (from.has_meta_data()) {
    mutable_meta_data()->::org::phenopackets::schema::v1::core::MetaData::MergeFrom(from.meta_data());
  }
  if (from.resolution_status() != 0) {
    set_resolution_status(from.resolution_status());
  }
  switch (from.phenopacket_or_family_case()) {
    case kPhenopacket: {
      mutable_phenopacket()->::org::phenopackets::schema::v1::Phenopacket::MergeFrom(from.phenopacket());
      break;
    }
    case kFamily: {
      mutable_family()->::org::phenopackets::schema::v1::Family::MergeFrom(from.family());
      break;
    }
    case PHENOPACKET_OR_FAMILY_NOT_SET: {
      break;
    }
  }
}

void Interpretation::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:org.phenopackets.schema.v1.Interpretation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Interpretation::CopyFrom(const Interpretation& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:org.phenopackets.schema.v1.Interpretation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void Interpretation::Swap(Interpretation* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Interpretation::InternalSwap(Interpretation* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  CastToBase(&diagnosis_)->InternalSwap(CastToBase(&other->diagnosis_));
  id_.Swap(&other->id_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
    GetArenaNoVirtual());
  swap(meta_data_, other->meta_data_);
  swap(resolution_status_, other->resolution_status_);
  swap(phenopacket_or_family_, other->phenopacket_or_family_);
  swap(_oneof_case_[0], other->_oneof_case_[0]);
}

::PROTOBUF_NAMESPACE_ID::Metadata Interpretation::GetMetadata() const {
  return GetMetadataStatic();
}


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

void Diagnosis::InitAsDefaultInstance() {
  ::org::phenopackets::schema::v1::_Diagnosis_default_instance_._instance.get_mutable()->disease_ = const_cast< ::org::phenopackets::schema::v1::core::Disease*>(
      ::org::phenopackets::schema::v1::core::Disease::internal_default_instance());
}
class Diagnosis::HasBitSetters {
 public:
  static const ::org::phenopackets::schema::v1::core::Disease& disease(const Diagnosis* msg);
};

const ::org::phenopackets::schema::v1::core::Disease&
Diagnosis::HasBitSetters::disease(const Diagnosis* msg) {
  return *msg->disease_;
}
void Diagnosis::clear_disease() {
  if (GetArenaNoVirtual() == nullptr && disease_ != nullptr) {
    delete disease_;
  }
  disease_ = nullptr;
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int Diagnosis::kDiseaseFieldNumber;
const int Diagnosis::kGenomicInterpretationsFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

Diagnosis::Diagnosis()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:org.phenopackets.schema.v1.Diagnosis)
}
Diagnosis::Diagnosis(const Diagnosis& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr),
      genomic_interpretations_(from.genomic_interpretations_) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  if (from.has_disease()) {
    disease_ = new ::org::phenopackets::schema::v1::core::Disease(*from.disease_);
  } else {
    disease_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:org.phenopackets.schema.v1.Diagnosis)
}

void Diagnosis::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Diagnosis_interpretation_2eproto.base);
  disease_ = nullptr;
}

Diagnosis::~Diagnosis() {
  // @@protoc_insertion_point(destructor:org.phenopackets.schema.v1.Diagnosis)
  SharedDtor();
}

void Diagnosis::SharedDtor() {
  if (this != internal_default_instance()) delete disease_;
}

void Diagnosis::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Diagnosis& Diagnosis::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Diagnosis_interpretation_2eproto.base);
  return *internal_default_instance();
}


void Diagnosis::Clear() {
// @@protoc_insertion_point(message_clear_start:org.phenopackets.schema.v1.Diagnosis)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  genomic_interpretations_.Clear();
  if (GetArenaNoVirtual() == nullptr && disease_ != nullptr) {
    delete disease_;
  }
  disease_ = nullptr;
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* Diagnosis::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // .org.phenopackets.schema.v1.core.Disease disease = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(mutable_disease(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .org.phenopackets.schema.v1.GenomicInterpretation genomic_interpretations = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(add_genomic_interpretations(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool Diagnosis::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:org.phenopackets.schema.v1.Diagnosis)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // .org.phenopackets.schema.v1.core.Disease disease = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (10 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
               input, mutable_disease()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // repeated .org.phenopackets.schema.v1.GenomicInterpretation genomic_interpretations = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
                input, add_genomic_interpretations()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:org.phenopackets.schema.v1.Diagnosis)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:org.phenopackets.schema.v1.Diagnosis)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void Diagnosis::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:org.phenopackets.schema.v1.Diagnosis)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .org.phenopackets.schema.v1.core.Disease disease = 1;
  if (this->has_disease()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, HasBitSetters::disease(this), output);
  }

  // repeated .org.phenopackets.schema.v1.GenomicInterpretation genomic_interpretations = 2;
  for (unsigned int i = 0,
      n = static_cast(this->genomic_interpretations_size()); i < n; i++) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      2,
      this->genomic_interpretations(static_cast(i)),
      output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:org.phenopackets.schema.v1.Diagnosis)
}

::PROTOBUF_NAMESPACE_ID::uint8* Diagnosis::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:org.phenopackets.schema.v1.Diagnosis)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .org.phenopackets.schema.v1.core.Disease disease = 1;
  if (this->has_disease()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        1, HasBitSetters::disease(this), target);
  }

  // repeated .org.phenopackets.schema.v1.GenomicInterpretation genomic_interpretations = 2;
  for (unsigned int i = 0,
      n = static_cast(this->genomic_interpretations_size()); i < n; i++) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        2, this->genomic_interpretations(static_cast(i)), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:org.phenopackets.schema.v1.Diagnosis)
  return target;
}

size_t Diagnosis::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:org.phenopackets.schema.v1.Diagnosis)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .org.phenopackets.schema.v1.GenomicInterpretation genomic_interpretations = 2;
  {
    unsigned int count = static_cast(this->genomic_interpretations_size());
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          this->genomic_interpretations(static_cast(i)));
    }
  }

  // .org.phenopackets.schema.v1.core.Disease disease = 1;
  if (this->has_disease()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *disease_);
  }

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

void Diagnosis::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:org.phenopackets.schema.v1.Diagnosis)
  GOOGLE_DCHECK_NE(&from, this);
  const Diagnosis* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:org.phenopackets.schema.v1.Diagnosis)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:org.phenopackets.schema.v1.Diagnosis)
    MergeFrom(*source);
  }
}

void Diagnosis::MergeFrom(const Diagnosis& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:org.phenopackets.schema.v1.Diagnosis)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  genomic_interpretations_.MergeFrom(from.genomic_interpretations_);
  if (from.has_disease()) {
    mutable_disease()->::org::phenopackets::schema::v1::core::Disease::MergeFrom(from.disease());
  }
}

void Diagnosis::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:org.phenopackets.schema.v1.Diagnosis)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Diagnosis::CopyFrom(const Diagnosis& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:org.phenopackets.schema.v1.Diagnosis)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void Diagnosis::Swap(Diagnosis* other) {
  if (other == this) return;
  InternalSwap(other);
}
void Diagnosis::InternalSwap(Diagnosis* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  CastToBase(&genomic_interpretations_)->InternalSwap(CastToBase(&other->genomic_interpretations_));
  swap(disease_, other->disease_);
}

::PROTOBUF_NAMESPACE_ID::Metadata Diagnosis::GetMetadata() const {
  return GetMetadataStatic();
}


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

void GenomicInterpretation::InitAsDefaultInstance() {
  ::org::phenopackets::schema::v1::_GenomicInterpretation_default_instance_.gene_ = const_cast< ::org::phenopackets::schema::v1::core::Gene*>(
      ::org::phenopackets::schema::v1::core::Gene::internal_default_instance());
  ::org::phenopackets::schema::v1::_GenomicInterpretation_default_instance_.variant_ = const_cast< ::org::phenopackets::schema::v1::core::Variant*>(
      ::org::phenopackets::schema::v1::core::Variant::internal_default_instance());
}
class GenomicInterpretation::HasBitSetters {
 public:
  static const ::org::phenopackets::schema::v1::core::Gene& gene(const GenomicInterpretation* msg);
  static const ::org::phenopackets::schema::v1::core::Variant& variant(const GenomicInterpretation* msg);
};

const ::org::phenopackets::schema::v1::core::Gene&
GenomicInterpretation::HasBitSetters::gene(const GenomicInterpretation* msg) {
  return *msg->call_.gene_;
}
const ::org::phenopackets::schema::v1::core::Variant&
GenomicInterpretation::HasBitSetters::variant(const GenomicInterpretation* msg) {
  return *msg->call_.variant_;
}
void GenomicInterpretation::set_allocated_gene(::org::phenopackets::schema::v1::core::Gene* gene) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  clear_call();
  if (gene) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      gene = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, gene, submessage_arena);
    }
    set_has_gene();
    call_.gene_ = gene;
  }
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.GenomicInterpretation.gene)
}
void GenomicInterpretation::clear_gene() {
  if (has_gene()) {
    delete call_.gene_;
    clear_has_call();
  }
}
void GenomicInterpretation::set_allocated_variant(::org::phenopackets::schema::v1::core::Variant* variant) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  clear_call();
  if (variant) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      variant = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, variant, submessage_arena);
    }
    set_has_variant();
    call_.variant_ = variant;
  }
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.GenomicInterpretation.variant)
}
void GenomicInterpretation::clear_variant() {
  if (has_variant()) {
    delete call_.variant_;
    clear_has_call();
  }
}
#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int GenomicInterpretation::kStatusFieldNumber;
const int GenomicInterpretation::kGeneFieldNumber;
const int GenomicInterpretation::kVariantFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

GenomicInterpretation::GenomicInterpretation()
  : ::PROTOBUF_NAMESPACE_ID::Message(), _internal_metadata_(nullptr) {
  SharedCtor();
  // @@protoc_insertion_point(constructor:org.phenopackets.schema.v1.GenomicInterpretation)
}
GenomicInterpretation::GenomicInterpretation(const GenomicInterpretation& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _internal_metadata_(nullptr) {
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  status_ = from.status_;
  clear_has_call();
  switch (from.call_case()) {
    case kGene: {
      mutable_gene()->::org::phenopackets::schema::v1::core::Gene::MergeFrom(from.gene());
      break;
    }
    case kVariant: {
      mutable_variant()->::org::phenopackets::schema::v1::core::Variant::MergeFrom(from.variant());
      break;
    }
    case CALL_NOT_SET: {
      break;
    }
  }
  // @@protoc_insertion_point(copy_constructor:org.phenopackets.schema.v1.GenomicInterpretation)
}

void GenomicInterpretation::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_GenomicInterpretation_interpretation_2eproto.base);
  status_ = 0;
  clear_has_call();
}

GenomicInterpretation::~GenomicInterpretation() {
  // @@protoc_insertion_point(destructor:org.phenopackets.schema.v1.GenomicInterpretation)
  SharedDtor();
}

void GenomicInterpretation::SharedDtor() {
  if (has_call()) {
    clear_call();
  }
}

void GenomicInterpretation::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const GenomicInterpretation& GenomicInterpretation::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_GenomicInterpretation_interpretation_2eproto.base);
  return *internal_default_instance();
}


void GenomicInterpretation::clear_call() {
// @@protoc_insertion_point(one_of_clear_start:org.phenopackets.schema.v1.GenomicInterpretation)
  switch (call_case()) {
    case kGene: {
      delete call_.gene_;
      break;
    }
    case kVariant: {
      delete call_.variant_;
      break;
    }
    case CALL_NOT_SET: {
      break;
    }
  }
  _oneof_case_[0] = CALL_NOT_SET;
}


void GenomicInterpretation::Clear() {
// @@protoc_insertion_point(message_clear_start:org.phenopackets.schema.v1.GenomicInterpretation)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  status_ = 0;
  clear_call();
  _internal_metadata_.Clear();
}

#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
const char* GenomicInterpretation::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // .org.phenopackets.schema.v1.GenomicInterpretation.Status status = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
          CHK_(ptr);
          set_status(static_cast<::org::phenopackets::schema::v1::GenomicInterpretation_Status>(val));
        } else goto handle_unusual;
        continue;
      // .org.phenopackets.schema.v1.core.Gene gene = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(mutable_gene(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .org.phenopackets.schema.v1.core.Variant variant = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(mutable_variant(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}
#else  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
bool GenomicInterpretation::MergePartialFromCodedStream(
    ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure
  ::PROTOBUF_NAMESPACE_ID::uint32 tag;
  // @@protoc_insertion_point(parse_start:org.phenopackets.schema.v1.GenomicInterpretation)
  for (;;) {
    ::std::pair<::PROTOBUF_NAMESPACE_ID::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // .org.phenopackets.schema.v1.GenomicInterpretation.Status status = 1;
      case 1: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (8 & 0xFF)) {
          int value = 0;
          DO_((::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadPrimitive<
                   int, ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          set_status(static_cast< ::org::phenopackets::schema::v1::GenomicInterpretation_Status >(value));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .org.phenopackets.schema.v1.core.Gene gene = 2;
      case 2: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (18 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
               input, mutable_gene()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      // .org.phenopackets.schema.v1.core.Variant variant = 3;
      case 3: {
        if (static_cast< ::PROTOBUF_NAMESPACE_ID::uint8>(tag) == (26 & 0xFF)) {
          DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::ReadMessage(
               input, mutable_variant()));
        } else {
          goto handle_unusual;
        }
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0) {
          goto success;
        }
        DO_(::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SkipField(
              input, tag, _internal_metadata_.mutable_unknown_fields()));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:org.phenopackets.schema.v1.GenomicInterpretation)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:org.phenopackets.schema.v1.GenomicInterpretation)
  return false;
#undef DO_
}
#endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER

void GenomicInterpretation::SerializeWithCachedSizes(
    ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:org.phenopackets.schema.v1.GenomicInterpretation)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .org.phenopackets.schema.v1.GenomicInterpretation.Status status = 1;
  if (this->status() != 0) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnum(
      1, this->status(), output);
  }

  // .org.phenopackets.schema.v1.core.Gene gene = 2;
  if (has_gene()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, HasBitSetters::gene(this), output);
  }

  // .org.phenopackets.schema.v1.core.Variant variant = 3;
  if (has_variant()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteMessageMaybeToArray(
      3, HasBitSetters::variant(this), output);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFields(
        _internal_metadata_.unknown_fields(), output);
  }
  // @@protoc_insertion_point(serialize_end:org.phenopackets.schema.v1.GenomicInterpretation)
}

::PROTOBUF_NAMESPACE_ID::uint8* GenomicInterpretation::InternalSerializeWithCachedSizesToArray(
    ::PROTOBUF_NAMESPACE_ID::uint8* target) const {
  // @@protoc_insertion_point(serialize_to_array_start:org.phenopackets.schema.v1.GenomicInterpretation)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .org.phenopackets.schema.v1.GenomicInterpretation.Status status = 1;
  if (this->status() != 0) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->status(), target);
  }

  // .org.phenopackets.schema.v1.core.Gene gene = 2;
  if (has_gene()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        2, HasBitSetters::gene(this), target);
  }

  // .org.phenopackets.schema.v1.core.Variant variant = 3;
  if (has_variant()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessageToArray(
        3, HasBitSetters::variant(this), target);
  }

  if (_internal_metadata_.have_unknown_fields()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields(), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:org.phenopackets.schema.v1.GenomicInterpretation)
  return target;
}

size_t GenomicInterpretation::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:org.phenopackets.schema.v1.GenomicInterpretation)
  size_t total_size = 0;

  if (_internal_metadata_.have_unknown_fields()) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::ComputeUnknownFieldsSize(
        _internal_metadata_.unknown_fields());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .org.phenopackets.schema.v1.GenomicInterpretation.Status status = 1;
  if (this->status() != 0) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->status());
  }

  switch (call_case()) {
    // .org.phenopackets.schema.v1.core.Gene gene = 2;
    case kGene: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *call_.gene_);
      break;
    }
    // .org.phenopackets.schema.v1.core.Variant variant = 3;
    case kVariant: {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *call_.variant_);
      break;
    }
    case CALL_NOT_SET: {
      break;
    }
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GenomicInterpretation::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:org.phenopackets.schema.v1.GenomicInterpretation)
  GOOGLE_DCHECK_NE(&from, this);
  const GenomicInterpretation* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:org.phenopackets.schema.v1.GenomicInterpretation)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:org.phenopackets.schema.v1.GenomicInterpretation)
    MergeFrom(*source);
  }
}

void GenomicInterpretation::MergeFrom(const GenomicInterpretation& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:org.phenopackets.schema.v1.GenomicInterpretation)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from.status() != 0) {
    set_status(from.status());
  }
  switch (from.call_case()) {
    case kGene: {
      mutable_gene()->::org::phenopackets::schema::v1::core::Gene::MergeFrom(from.gene());
      break;
    }
    case kVariant: {
      mutable_variant()->::org::phenopackets::schema::v1::core::Variant::MergeFrom(from.variant());
      break;
    }
    case CALL_NOT_SET: {
      break;
    }
  }
}

void GenomicInterpretation::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:org.phenopackets.schema.v1.GenomicInterpretation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GenomicInterpretation::CopyFrom(const GenomicInterpretation& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:org.phenopackets.schema.v1.GenomicInterpretation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void GenomicInterpretation::Swap(GenomicInterpretation* other) {
  if (other == this) return;
  InternalSwap(other);
}
void GenomicInterpretation::InternalSwap(GenomicInterpretation* other) {
  using std::swap;
  _internal_metadata_.Swap(&other->_internal_metadata_);
  swap(status_, other->status_);
  swap(call_, other->call_);
  swap(_oneof_case_[0], other->_oneof_case_[0]);
}

::PROTOBUF_NAMESPACE_ID::Metadata GenomicInterpretation::GetMetadata() const {
  return GetMetadataStatic();
}


// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace schema
}  // namespace phenopackets
}  // namespace org
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::org::phenopackets::schema::v1::Interpretation* Arena::CreateMaybeMessage< ::org::phenopackets::schema::v1::Interpretation >(Arena* arena) {
  return Arena::CreateInternal< ::org::phenopackets::schema::v1::Interpretation >(arena);
}
template<> PROTOBUF_NOINLINE ::org::phenopackets::schema::v1::Diagnosis* Arena::CreateMaybeMessage< ::org::phenopackets::schema::v1::Diagnosis >(Arena* arena) {
  return Arena::CreateInternal< ::org::phenopackets::schema::v1::Diagnosis >(arena);
}
template<> PROTOBUF_NOINLINE ::org::phenopackets::schema::v1::GenomicInterpretation* Arena::CreateMaybeMessage< ::org::phenopackets::schema::v1::GenomicInterpretation >(Arena* arena) {
  return Arena::CreateInternal< ::org::phenopackets::schema::v1::GenomicInterpretation >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include 




© 2015 - 2024 Weber Informatics LLC | Privacy Policy