// -*- mode: C++ -*-

/* This file is auto-generated by run_glean_parser.py.
   It is only for internal use by types in
   toolkit/components/glean/bindings/private */

#include "mozilla/glean/bindings/Event.h"
#include "mozilla/glean/GleanMetrics.h"

namespace mozilla::glean {

template <>
/*static*/ const nsCString impl::EventMetric<NoExtraKeys>::ExtraStringForKey(uint32_t aKey) {
  MOZ_ASSERT_UNREACHABLE("What are you doing here? No extra keys!");
  return ""_ns;
}

template <>
/*static*/ const nsCString impl::EventMetric<test_nested::EventMetricWithExtraExtra>::ExtraStringForKey(uint32_t aKey) {
  using test_nested::EventMetricWithExtraExtra;
  switch (aKey) {
    case 0: {
      return "an_extra_key"_ns;
    }
    case 1: {
      return "another_extra_key"_ns;
    }
    default: {
      MOZ_ASSERT_UNREACHABLE("Impossible event key reached.");
      return ""_ns;
    }
  }
}

};  // namespace mozilla::glean
