#include <hxcpp.h>

#ifndef INCLUDED_luxe_utils_json_JSONTokenType
#include <luxe/utils/json/JSONTokenType.h>
#endif
namespace luxe{
namespace utils{
namespace json{

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tCOLON;

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tCOMMA;

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tFALSE;

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tLEFT_BRACE;

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tLEFT_BRACKET;

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tNAN;

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tNULL;

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tNUMBER;

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tRIGHT_BRACE;

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tRIGHT_BRACKET;

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tSTRING;

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tTRUE;

::luxe::utils::json::JSONTokenType JSONTokenType_obj::tUNKNOWN;

HX_DEFINE_CREATE_ENUM(JSONTokenType_obj)

int JSONTokenType_obj::__FindIndex(::String inName)
{
	if (inName==HX_CSTRING("tCOLON")) return 6;
	if (inName==HX_CSTRING("tCOMMA")) return 1;
	if (inName==HX_CSTRING("tFALSE")) return 8;
	if (inName==HX_CSTRING("tLEFT_BRACE")) return 2;
	if (inName==HX_CSTRING("tLEFT_BRACKET")) return 4;
	if (inName==HX_CSTRING("tNAN")) return 12;
	if (inName==HX_CSTRING("tNULL")) return 9;
	if (inName==HX_CSTRING("tNUMBER")) return 11;
	if (inName==HX_CSTRING("tRIGHT_BRACE")) return 3;
	if (inName==HX_CSTRING("tRIGHT_BRACKET")) return 5;
	if (inName==HX_CSTRING("tSTRING")) return 10;
	if (inName==HX_CSTRING("tTRUE")) return 7;
	if (inName==HX_CSTRING("tUNKNOWN")) return 0;
	return super::__FindIndex(inName);
}

int JSONTokenType_obj::__FindArgCount(::String inName)
{
	if (inName==HX_CSTRING("tCOLON")) return 0;
	if (inName==HX_CSTRING("tCOMMA")) return 0;
	if (inName==HX_CSTRING("tFALSE")) return 0;
	if (inName==HX_CSTRING("tLEFT_BRACE")) return 0;
	if (inName==HX_CSTRING("tLEFT_BRACKET")) return 0;
	if (inName==HX_CSTRING("tNAN")) return 0;
	if (inName==HX_CSTRING("tNULL")) return 0;
	if (inName==HX_CSTRING("tNUMBER")) return 0;
	if (inName==HX_CSTRING("tRIGHT_BRACE")) return 0;
	if (inName==HX_CSTRING("tRIGHT_BRACKET")) return 0;
	if (inName==HX_CSTRING("tSTRING")) return 0;
	if (inName==HX_CSTRING("tTRUE")) return 0;
	if (inName==HX_CSTRING("tUNKNOWN")) return 0;
	return super::__FindArgCount(inName);
}

Dynamic JSONTokenType_obj::__Field(const ::String &inName,bool inCallProp)
{
	if (inName==HX_CSTRING("tCOLON")) return tCOLON;
	if (inName==HX_CSTRING("tCOMMA")) return tCOMMA;
	if (inName==HX_CSTRING("tFALSE")) return tFALSE;
	if (inName==HX_CSTRING("tLEFT_BRACE")) return tLEFT_BRACE;
	if (inName==HX_CSTRING("tLEFT_BRACKET")) return tLEFT_BRACKET;
	if (inName==HX_CSTRING("tNAN")) return tNAN;
	if (inName==HX_CSTRING("tNULL")) return tNULL;
	if (inName==HX_CSTRING("tNUMBER")) return tNUMBER;
	if (inName==HX_CSTRING("tRIGHT_BRACE")) return tRIGHT_BRACE;
	if (inName==HX_CSTRING("tRIGHT_BRACKET")) return tRIGHT_BRACKET;
	if (inName==HX_CSTRING("tSTRING")) return tSTRING;
	if (inName==HX_CSTRING("tTRUE")) return tTRUE;
	if (inName==HX_CSTRING("tUNKNOWN")) return tUNKNOWN;
	return super::__Field(inName,inCallProp);
}

static ::String sStaticFields[] = {
	HX_CSTRING("tUNKNOWN"),
	HX_CSTRING("tCOMMA"),
	HX_CSTRING("tLEFT_BRACE"),
	HX_CSTRING("tRIGHT_BRACE"),
	HX_CSTRING("tLEFT_BRACKET"),
	HX_CSTRING("tRIGHT_BRACKET"),
	HX_CSTRING("tCOLON"),
	HX_CSTRING("tTRUE"),
	HX_CSTRING("tFALSE"),
	HX_CSTRING("tNULL"),
	HX_CSTRING("tSTRING"),
	HX_CSTRING("tNUMBER"),
	HX_CSTRING("tNAN"),
	::String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tCOLON,"tCOLON");
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tCOMMA,"tCOMMA");
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tFALSE,"tFALSE");
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tLEFT_BRACE,"tLEFT_BRACE");
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tLEFT_BRACKET,"tLEFT_BRACKET");
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tNAN,"tNAN");
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tNULL,"tNULL");
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tNUMBER,"tNUMBER");
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tRIGHT_BRACE,"tRIGHT_BRACE");
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tRIGHT_BRACKET,"tRIGHT_BRACKET");
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tSTRING,"tSTRING");
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tTRUE,"tTRUE");
	HX_MARK_MEMBER_NAME(JSONTokenType_obj::tUNKNOWN,"tUNKNOWN");
};

#ifdef HXCPP_VISIT_ALLOCS
static void sVisitStatic(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::__mClass,"__mClass");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tCOLON,"tCOLON");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tCOMMA,"tCOMMA");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tFALSE,"tFALSE");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tLEFT_BRACE,"tLEFT_BRACE");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tLEFT_BRACKET,"tLEFT_BRACKET");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tNAN,"tNAN");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tNULL,"tNULL");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tNUMBER,"tNUMBER");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tRIGHT_BRACE,"tRIGHT_BRACE");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tRIGHT_BRACKET,"tRIGHT_BRACKET");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tSTRING,"tSTRING");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tTRUE,"tTRUE");
	HX_VISIT_MEMBER_NAME(JSONTokenType_obj::tUNKNOWN,"tUNKNOWN");
};
#endif

static ::String sMemberFields[] = { ::String(null()) };
Class JSONTokenType_obj::__mClass;

Dynamic __Create_JSONTokenType_obj() { return new JSONTokenType_obj; }

void JSONTokenType_obj::__register()
{

hx::Static(__mClass) = hx::RegisterClass(HX_CSTRING("luxe.utils.json.JSONTokenType"), hx::TCanCast< JSONTokenType_obj >,sStaticFields,sMemberFields,
	&__Create_JSONTokenType_obj, &__Create,
	&super::__SGetClass(), &CreateJSONTokenType_obj, sMarkStatics
#ifdef HXCPP_VISIT_ALLOCS
    , sVisitStatic
#endif
#ifdef HXCPP_SCRIPTABLE
    , 0
#endif
);
}

void JSONTokenType_obj::__boot()
{
hx::Static(tCOLON) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tCOLON"),6);
hx::Static(tCOMMA) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tCOMMA"),1);
hx::Static(tFALSE) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tFALSE"),8);
hx::Static(tLEFT_BRACE) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tLEFT_BRACE"),2);
hx::Static(tLEFT_BRACKET) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tLEFT_BRACKET"),4);
hx::Static(tNAN) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tNAN"),12);
hx::Static(tNULL) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tNULL"),9);
hx::Static(tNUMBER) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tNUMBER"),11);
hx::Static(tRIGHT_BRACE) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tRIGHT_BRACE"),3);
hx::Static(tRIGHT_BRACKET) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tRIGHT_BRACKET"),5);
hx::Static(tSTRING) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tSTRING"),10);
hx::Static(tTRUE) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tTRUE"),7);
hx::Static(tUNKNOWN) = hx::CreateEnum< JSONTokenType_obj >(HX_CSTRING("tUNKNOWN"),0);
}


} // end namespace luxe
} // end namespace utils
} // end namespace json
