// This file was generated by
//     //third_party/jni_zero/jni_zero.py
// For
//     J.N

#include <iterator>

#include "overridden/jni_zero_internal.h"

extern const int64_t kJniZeroHashWhole = 2249885413155022725LL;
extern const int64_t kJniZeroHashPriority = 0LL;

namespace jni_zero::internal {

// Class Index Definitions.

// CalledByNative Table and Indices.

std::atomic<jclass> cached_jclasses[0];
std::atomic<jmethodID> cached_method_ids[0];

extern const char kClassNameStringPool[] = "";
extern const uint16_t kClassNameOffsets[0] = {};

extern const CalledByNativeDescriptor kCbnDescriptors[0] = {
};

extern const char kMethodNameStringPool[] = "";

extern const char kDescriptorStringPool[] = "";


}  // namespace jni_zero::internal

// Forward Declarations.
JNI_ZERO_MUXED_ENTRYPOINT int32_t Muxed_org_jni_1zero_SampleProxyEdgeCases_addStructB(
    JNIEnv* env,
    jobject caller,
    jobject b);
JNI_ZERO_MUXED_ENTRYPOINT jobject Muxed_org_jni_1zero_SampleProxyEdgeCases_arrayTypes1(
    JNIEnv* env,
    jobject a,
    jobject b);
JNI_ZERO_MUXED_ENTRYPOINT jobject Muxed_org_jni_1zero_SampleProxyEdgeCases_arrayTypes2(
    JNIEnv* env,
    jobject a,
    jobject b);
JNI_ZERO_MUXED_ENTRYPOINT void Muxed_org_jni_1zero_SampleProxyEdgeCases_foo__weirdly__escaped_name1(
    JNIEnv* env);
JNI_ZERO_MUXED_ENTRYPOINT jobject Muxed_org_jni_1zero_SampleProxyEdgeCases_genericsWithNestedClassArray(
    JNIEnv* env,
    jobject arg);
JNI_ZERO_MUXED_ENTRYPOINT void Muxed_org_jni_1zero_SampleProxyEdgeCases_setBool(
    JNIEnv* env,
    jobject b,
    jobject i);
JNI_ZERO_MUXED_ENTRYPOINT bool Muxed_org_jni_1zero_SampleProxyEdgeCases_setStringBuilder(
    JNIEnv* env,
    jobject sb);
JNI_ZERO_MUXED_ENTRYPOINT int32_t Muxed_org_jni_1zero_SampleProxyEdgeCases_setStringBuilder(
    JNIEnv* env,
    int32_t sb);

// Multiplexing Methods.
JNI_ZERO_BOUNDARY_EXPORT void Java_J_N_V(JNIEnv* env, jclass jcaller) {
  return Muxed_org_jni_1zero_SampleProxyEdgeCases_foo__weirdly__escaped_name1(env);
}
JNI_ZERO_BOUNDARY_EXPORT int32_t Java_J_N_II(JNIEnv* env, jclass jcaller, int32_t p0) {
  return Muxed_org_jni_1zero_SampleProxyEdgeCases_setStringBuilder(env, p0);
}
JNI_ZERO_BOUNDARY_EXPORT jobject Java_J_N_OO(JNIEnv* env, jclass jcaller, jobject p0) {
  return Muxed_org_jni_1zero_SampleProxyEdgeCases_genericsWithNestedClassArray(env, p0);
}
JNI_ZERO_BOUNDARY_EXPORT bool Java_J_N_ZO(JNIEnv* env, jclass jcaller, jobject p0) {
  return Muxed_org_jni_1zero_SampleProxyEdgeCases_setStringBuilder(env, p0);
}
JNI_ZERO_BOUNDARY_EXPORT void Java_J_N_VOO(JNIEnv* env, jclass jcaller, jobject p0, jobject p1) {
  return Muxed_org_jni_1zero_SampleProxyEdgeCases_setBool(env, p0, p1);
}
JNI_ZERO_BOUNDARY_EXPORT int32_t Java_J_N_IOO(JNIEnv* env, jclass jcaller, jobject p0, jobject p1) {
  return Muxed_org_jni_1zero_SampleProxyEdgeCases_addStructB(env, p0, p1);
}
JNI_ZERO_BOUNDARY_EXPORT jobject Java_J_N_OOO(
    JNIEnv* env,
    jclass jcaller,
    int32_t switch_num,
    jobject p0,
    jobject p1) {
  JNI_ZERO_DCHECK(switch_num >= 0 && switch_num < 2);
  switch (switch_num) {
    case 0:
      return Muxed_org_jni_1zero_SampleProxyEdgeCases_arrayTypes1(env, p0, p1);
    case 1:
      return Muxed_org_jni_1zero_SampleProxyEdgeCases_arrayTypes2(env, p0, p1);
    default:
      __builtin_unreachable();
  }
}

