namespace ugcs::vsm::java_internals

namespace java_internals {

// structs

template <typename T_ret>
struct MethodCallSelector;

template <>
struct MethodCallSelector<jshort>;

template <>
struct MethodCallSelector<jint>;

template <>
struct MethodCallSelector<jlong>;

template <>
struct MethodCallSelector<jfloat>;

template <>
struct MethodCallSelector<jchar>;

template <>
struct MethodCallSelector<jboolean>;

template <>
struct MethodCallSelector<jbyte>;

template <>
struct MethodCallSelector<void>;

template <>
struct MethodCallSelector<jobject>;

template <>
struct MethodCallSelector<jdouble>;

// classes

template <>
class Array<jobject>;

template <typename T>
class Array;

class ArrayBase;
class ObjectArray;

template <typename T>
class PrimitiveArray;

} // namespace java_internals