/* Generated by Nim Compiler v1.9.0 */ #define NIM_INTBITS 32 #include "nimbase.h" #include #undef LANGUAGE_C #undef MIPSEB #undef MIPSEL #undef PPC #undef R3000 #undef R4000 #undef i386 #undef linux #undef mips #undef near #undef far #undef powerpc #undef unix #define nimfr_(x, y) #define nimln_(x, y) typedef struct TNimTypeV2 TNimTypeV2; typedef struct tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ; typedef struct NimStrPayload NimStrPayload; typedef struct NimStringV2 NimStringV2; typedef struct tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg; typedef struct RootObj RootObj; typedef struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ; typedef struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q tySequence__Ih0V9cYug0VPJyBBGvgEH7Q; typedef struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q_Content tySequence__Ih0V9cYug0VPJyBBGvgEH7Q_Content; typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A; typedef struct tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ; typedef struct tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ; typedef struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q tyTuple__N4J9cV4JZGem3ljqqj5rT0Q; typedef struct tyObject_CellSeq__z4KasHYddby49cXX2MD4LxQ tyObject_CellSeq__z4KasHYddby49cXX2MD4LxQ; typedef struct tyTuple__0F3Kz25HWtRatQmCDVHWEA tyTuple__0F3Kz25HWtRatQmCDVHWEA; typedef struct tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ; typedef struct tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw; typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA; typedef struct Exception Exception; typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA; typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA_Content tySequence__uB9b75OUPRENsBAu4AnoePA_Content; typedef struct tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw; typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA; struct TNimTypeV2 { void* destructor; NI size; NI16 align; NI16 depth; NU32* display; void* traceImpl; void* typeInfoV1; NI flags; }; struct NimStrPayload { NI cap; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct NimStringV2 { NI len; NimStrPayload* p; }; struct RootObj { TNimTypeV2* m_type; }; typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32]; struct tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg { RootObj Sup; NI bufpos; NimStringV2 buf; tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input; NI lineNumber; NI sentinel; NI lineStart; NI offsetBase; tySet_tyChar__nmiMWKVIe46vacnhAFrQvw refillChars; }; typedef NU8 tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw; typedef NU8 tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA; typedef NU8 tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew; struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q { NI len; tySequence__Ih0V9cYug0VPJyBBGvgEH7Q_Content* p; }; struct tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ { tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg Sup; NimStringV2 a; tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw tok; tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA kind; tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew err; tySequence__Ih0V9cYug0VPJyBBGvgEH7Q state; NimStringV2 filename; NIM_BOOL rawStringLiterals; }; struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A { NI rc; NI rootIdx; }; typedef NU8 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ; struct tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ { NI len; NI cap; tyTuple__N4J9cV4JZGem3ljqqj5rT0Q* d; }; struct tyObject_CellSeq__z4KasHYddby49cXX2MD4LxQ { NI len; NI cap; tyTuple__0F3Kz25HWtRatQmCDVHWEA* d; }; struct tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ { tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ traceStack; tyObject_CellSeq__z4KasHYddby49cXX2MD4LxQ toFree; NI freed; NI touched; NI edges; NI rcSum; NIM_BOOL keepThreshold; }; struct tyTuple__N4J9cV4JZGem3ljqqj5rT0Q { void** Field0; TNimTypeV2* Field1; }; typedef tyTuple__N4J9cV4JZGem3ljqqj5rT0Q tyUncheckedArray__72XmdLy0QAaMtx66AmNKfA[1]; struct tySequence__uB9b75OUPRENsBAu4AnoePA { NI len; tySequence__uB9b75OUPRENsBAu4AnoePA_Content* p; }; struct Exception { RootObj Sup; Exception* parent; NCSTRING name; NimStringV2 message; tySequence__uB9b75OUPRENsBAu4AnoePA trace; Exception* up; }; struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA { Exception Sup; }; struct tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw { tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup; }; struct tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ { tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw Sup; }; typedef NimStringV2 tyArray__sMpvt1sOxOJ3LFGulnbeMQ[4]; struct tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw { tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw Sup; }; typedef NimStringV2 tyArray__FkG8aLMyiZfDjueUwWl3WA[14]; #ifndef tySequence__Ih0V9cYug0VPJyBBGvgEH7Q_Content_PP #define tySequence__Ih0V9cYug0VPJyBBGvgEH7Q_Content_PP struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q_Content { NI cap; tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ data[SEQ_DECL_SIZE];}; #endif #ifndef tySequence__Ih0V9cYug0VPJyBBGvgEH7Q_Content_PP #define tySequence__Ih0V9cYug0VPJyBBGvgEH7Q_Content_PP struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q_Content { NI cap; tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ data[SEQ_DECL_SIZE];}; #endif struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA { NCSTRING procname; NI line; NCSTRING filename; }; #ifndef tySequence__uB9b75OUPRENsBAu4AnoePA_Content_PP #define tySequence__uB9b75OUPRENsBAu4AnoePA_Content_PP struct tySequence__uB9b75OUPRENsBAu4AnoePA_Content { NI cap; tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];}; #endif N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZparsejson_156)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* dest); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest); static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p); static N_INLINE(NI, minuspercent___system_790)(NI x, NI y); N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_3141)(NIM_BOOL isDestroyAction, tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* s, TNimTypeV2* desc); static N_INLINE(NIM_BOOL*, nimErrorFlag)(void); N_LIB_PRIVATE N_NIMCALL(void, nimDestroyAndDispose)(void* p); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZparsejson_168)(tySequence__Ih0V9cYug0VPJyBBGvgEH7Q* dest); N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p, NI align); N_LIB_PRIVATE N_NIMCALL(void, eqtrace___pureZparsejson_165)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* dest, void* env); static N_INLINE(void, nimTraceRefDyn)(void* q, void* env); static N_INLINE(void, add__system_2686)(tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ* s, void** c, TNimTypeV2* t); N_LIB_PRIVATE N_NOCONV(void*, allocImpl__system_1735)(NI size); static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size); static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size); N_LIB_PRIVATE N_NOCONV(void, dealloc)(void* p); N_LIB_PRIVATE N_NIMCALL(void, open__pureZlexbase_131)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input, NI bufLen, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw refillChars); N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src); N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZparsejson_174)(tySequence__Ih0V9cYug0VPJyBBGvgEH7Q* dest, tySequence__Ih0V9cYug0VPJyBBGvgEH7Q src); N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap, NI elemSize, NI elemAlign); N_LIB_PRIVATE N_NIMCALL(void, eqsink___stdZassertions_19)(NimStringV2* dest, NimStringV2 src); N_LIB_PRIVATE N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw, getTok__pureZparsejson_621)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my); N_LIB_PRIVATE N_NIMCALL(void, setLengthStrV2)(NimStringV2* s, NI newLen); N_LIB_PRIVATE N_NIMCALL(void, skip__pureZparsejson_504)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my); N_LIB_PRIVATE N_NIMCALL(NI, handleCR__pureZlexbase_84)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos); N_LIB_PRIVATE N_NIMCALL(NI, handleLF__pureZlexbase_96)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos); N_LIB_PRIVATE N_NIMCALL(void, parseNumber__pureZparsejson_542)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my); static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c); N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s, NI addlen); static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrutils_1820)(NimStringV2 s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars); N_LIB_PRIVATE N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw, parseString__pureZparsejson_394)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my); N_LIB_PRIVATE N_NIMCALL(NI, parseEscapedUTF16__pureZparsejson_380)(NCSTRING buf, NI* pos); static N_INLINE(NIM_BOOL, handleHexChar__stdZprivateZdecode95helpers_1)(NIM_CHAR c, NI* x); static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nuctoUTF8)(NI32 c); N_LIB_PRIVATE N_NIMCALL(void, parseName__pureZparsejson_605)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my); static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b); static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size); static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size); N_LIB_PRIVATE N_NIMCALL(void, add__pureZparsejson_675)(tySequence__Ih0V9cYug0VPJyBBGvgEH7Q* x, tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ value); static N_INLINE(tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ, pop__pureZparsejson_722)(tySequence__Ih0V9cYug0VPJyBBGvgEH7Q* s); N_LIB_PRIVATE N_NIMCALL(void, shrink__pureZparsejson_192)(tySequence__Ih0V9cYug0VPJyBBGvgEH7Q* x, NI newLen); N_LIB_PRIVATE N_NIMCALL(void, next__pureZparsejson_659)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my); N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size, NI alignment); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZparsejson_800)(tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ* dest); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_55)(tySequence__uB9b75OUPRENsBAu4AnoePA* dest); N_LIB_PRIVATE N_NIMCALL(void, eqtrace___pureZparsejson_809)(tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ* dest, void* env); N_LIB_PRIVATE N_NIMCALL(void, eqtrace___stdZassertions_64)(tySequence__uB9b75OUPRENsBAu4AnoePA* dest, void* env); N_LIB_PRIVATE N_NIMCALL(NimStringV2, errorMsgExpected__pureZparsejson_376)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my, NimStringV2 e); N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr, NimStringV2* a, NI aLen_0); N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_3)(NI x); static N_INLINE(NI, getLine__pureZparsejson_360)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my); static N_INLINE(NI, getColumn__pureZparsejson_357)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my); N_LIB_PRIVATE N_NIMCALL(NI, getColNumber__pureZlexbase_146)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L, NI pos); N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space); N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line); N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_5802)(tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw* dest); N_LIB_PRIVATE N_NIMCALL(void, eqtrace___pureZjson_5811)(tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw* dest, void* env); N_LIB_PRIVATE N_NOINLINE(void, raiseParseErr__pureZparsejson_796)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NimStringV2 msg); N_LIB_PRIVATE TNimTypeV2 NTIv2__KWIQnzXEOUqdWsnCUL9atyQ_; static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__nIinruGrC8EPIfjL3PuTvA_3 = { 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; static const struct { NI cap; NIM_CHAR data[0+1]; } TM__nIinruGrC8EPIfjL3PuTvA_4 = { 0 | NIM_STRLIT_FLAG, "" }; static const NimStringV2 TM__nIinruGrC8EPIfjL3PuTvA_5 = {0, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_4}; static const struct { NI cap; NIM_CHAR data[2+1]; } TM__nIinruGrC8EPIfjL3PuTvA_6 = { 2 | NIM_STRLIT_FLAG, "0." }; static const NimStringV2 TM__nIinruGrC8EPIfjL3PuTvA_7 = {2, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_6}; static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__nIinruGrC8EPIfjL3PuTvA_8 = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} ; static const struct { NI cap; NIM_CHAR data[4+1]; } TM__nIinruGrC8EPIfjL3PuTvA_9 = { 4 | NIM_STRLIT_FLAG, "null" }; static const NimStringV2 TM__nIinruGrC8EPIfjL3PuTvA_10 = {4, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_9}; static const struct { NI cap; NIM_CHAR data[4+1]; } TM__nIinruGrC8EPIfjL3PuTvA_11 = { 4 | NIM_STRLIT_FLAG, "true" }; static const NimStringV2 TM__nIinruGrC8EPIfjL3PuTvA_12 = {4, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_11}; static const struct { NI cap; NIM_CHAR data[5+1]; } TM__nIinruGrC8EPIfjL3PuTvA_13 = { 5 | NIM_STRLIT_FLAG, "false" }; static const NimStringV2 TM__nIinruGrC8EPIfjL3PuTvA_14 = {5, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_13}; N_LIB_PRIVATE TNimTypeV2 NTIv2__Ff9b7Z3F83CBVRI2ZoKErcQ_; static const struct { NI cap; NIM_CHAR data[20+1]; } TM__nIinruGrC8EPIfjL3PuTvA_16 = { 20 | NIM_STRLIT_FLAG, "$1($2, $3) Error: $4" }; static const NimStringV2 TM__nIinruGrC8EPIfjL3PuTvA_17 = {20, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_16}; static const struct { NI cap; NIM_CHAR data[9+1]; } TM__nIinruGrC8EPIfjL3PuTvA_18 = { 9 | NIM_STRLIT_FLAG, " expected" }; static const NimStringV2 TM__nIinruGrC8EPIfjL3PuTvA_19 = {9, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_18}; N_LIB_PRIVATE TNimTypeV2 NTIv2__rdnXHgdE6eiyK6cn26vKMw_; static const struct { NI cap; NIM_CHAR data[13+1]; } TM__nIinruGrC8EPIfjL3PuTvA_21 = { 13 | NIM_STRLIT_FLAG, "invalid token" }; static const struct { NI cap; NIM_CHAR data[3+1]; } TM__nIinruGrC8EPIfjL3PuTvA_22 = { 3 | NIM_STRLIT_FLAG, "EOF" }; static const struct { NI cap; NIM_CHAR data[14+1]; } TM__nIinruGrC8EPIfjL3PuTvA_23 = { 14 | NIM_STRLIT_FLAG, "string literal" }; static const struct { NI cap; NIM_CHAR data[11+1]; } TM__nIinruGrC8EPIfjL3PuTvA_24 = { 11 | NIM_STRLIT_FLAG, "int literal" }; static const struct { NI cap; NIM_CHAR data[13+1]; } TM__nIinruGrC8EPIfjL3PuTvA_25 = { 13 | NIM_STRLIT_FLAG, "float literal" }; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__nIinruGrC8EPIfjL3PuTvA_26 = { 1 | NIM_STRLIT_FLAG, "{" }; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__nIinruGrC8EPIfjL3PuTvA_27 = { 1 | NIM_STRLIT_FLAG, "}" }; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__nIinruGrC8EPIfjL3PuTvA_28 = { 1 | NIM_STRLIT_FLAG, "[" }; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__nIinruGrC8EPIfjL3PuTvA_29 = { 1 | NIM_STRLIT_FLAG, "]" }; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__nIinruGrC8EPIfjL3PuTvA_30 = { 1 | NIM_STRLIT_FLAG, ":" }; static const struct { NI cap; NIM_CHAR data[1+1]; } TM__nIinruGrC8EPIfjL3PuTvA_31 = { 1 | NIM_STRLIT_FLAG, "," }; N_LIB_PRIVATE NIM_CONST tyArray__FkG8aLMyiZfDjueUwWl3WA tokToStr__pureZparsejson_79 = {{13, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_21}, {3, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_22}, {14, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_23}, {11, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_24}, {13, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_25}, {4, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_11}, {5, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_13}, {4, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_9}, {1, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_26}, {1, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_27}, {1, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_28}, {1, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_29}, {1, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_30}, {1, (NimStrPayload*)&TM__nIinruGrC8EPIfjL3PuTvA_31}} ; extern NIM_BOOL nimInErrorMode__system_3978; static NIM_CONST NU32 TM__nIinruGrC8EPIfjL3PuTvA_2[3] = {3701606400, 205302784, 1645256448}; N_LIB_PRIVATE TNimTypeV2 NTIv2__KWIQnzXEOUqdWsnCUL9atyQ_ = {.destructor = (void*)eqdestroy___pureZparsejson_156, .size = sizeof(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ), .align = (NI16) NIM_ALIGNOF(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ), .depth = 2, .display = TM__nIinruGrC8EPIfjL3PuTvA_2, .traceImpl = (void*)eqtrace___pureZparsejson_165, .flags = 0}; static NIM_CONST NU32 TM__nIinruGrC8EPIfjL3PuTvA_15[5] = {3701606400, 1285336064, 3000110592, 3978211584, 4290471680}; N_LIB_PRIVATE TNimTypeV2 NTIv2__Ff9b7Z3F83CBVRI2ZoKErcQ_ = {.destructor = (void*)eqdestroy___pureZparsejson_800, .size = sizeof(tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ), .align = (NI16) NIM_ALIGNOF(tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ), .depth = 4, .display = TM__nIinruGrC8EPIfjL3PuTvA_15, .traceImpl = (void*)eqtrace___pureZparsejson_809, .flags = 0}; static NIM_CONST NU32 TM__nIinruGrC8EPIfjL3PuTvA_20[5] = {3701606400, 1285336064, 3000110592, 3978211584, 3654753792}; N_LIB_PRIVATE TNimTypeV2 NTIv2__rdnXHgdE6eiyK6cn26vKMw_ = {.destructor = (void*)eqdestroy___pureZjson_5802, .size = sizeof(tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw), .align = (NI16) NIM_ALIGNOF(tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw), .depth = 4, .display = TM__nIinruGrC8EPIfjL3PuTvA_20, .traceImpl = (void*)eqtrace___pureZjson_5811, .flags = 0}; static N_INLINE(NI, minuspercent___system_790)(NI x, NI y) { NI result; result = (NI)0; result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y)))))); return result; } static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) { NIM_BOOL* result; result = (NIM_BOOL*)0; result = (&nimInErrorMode__system_3978); return result; } static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicDyn)(void* p) { NIM_BOOL result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NIM_BOOL)0; { tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A* cell; NI T5_; if (!!((p == NIM_NIL))) goto LA3_; T5_ = (NI)0; T5_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)8)); cell = ((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T5_)); { if (!((NI)((*cell).rc & ((NI)-16)) == ((NI)0))) goto LA8_; result = NIM_TRUE; } goto LA6_; LA8_: ; { (*cell).rc -= ((NI)16); } LA6_: ; rememberCycle__system_3141(result, cell, (*((TNimTypeV2**) (p)))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA3_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZparsejson_168)(tySequence__Ih0V9cYug0VPJyBBGvgEH7Q* dest) { if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) { alignedDealloc((*dest).p, NIM_ALIGNOF(tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)); } } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZparsejson_156)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* dest) { eqdestroy___stdZassertions_13((&(*dest).Sup.buf)); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLastCyclicDyn((*dest).Sup.input); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest).Sup.input); } LA4_: ; eqdestroy___stdZassertions_13((&(*dest).a)); eqdestroy___pureZparsejson_168((&(*dest).state)); eqdestroy___stdZassertions_13((&(*dest).filename)); } static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) { void* T1_; T1_ = (void*)0; T1_ = memcpy(dest, source, ((size_t) (size))); } static N_INLINE(void, copyMem__system_1719)(void* dest, void* source, NI size) { nimCopyMem(dest, source, size); } static N_INLINE(void, add__system_2686)(tyObject_CellSeq__sGle0igznE2T7vk4dBh5SQ* s, void** c, TNimTypeV2* t) { void** colontmp_; TNimTypeV2* colontmp__2; { tyTuple__N4J9cV4JZGem3ljqqj5rT0Q* d; void* T5_; if (!((*s).cap <= (*s).len)) goto LA3_; (*s).cap = (NI)((NI)((*s).cap * ((NI)3)) / ((NI)2)); T5_ = (void*)0; T5_ = allocImpl__system_1735(((NI) ((NI)((*s).cap * ((NI)8))))); d = ((tyTuple__N4J9cV4JZGem3ljqqj5rT0Q*) (T5_)); copyMem__system_1719(((void*) (d)), ((void*) ((*s).d)), ((NI) ((NI)((*s).len * ((NI)8))))); dealloc(((void*) ((*s).d))); (*s).d = d; } LA3_: ; colontmp_ = c; colontmp__2 = t; (*s).d[(*s).len].Field0 = colontmp_; (*s).d[(*s).len].Field1 = colontmp__2; (*s).len += ((NI)1); } static N_INLINE(void, nimTraceRefDyn)(void* q, void* env) { void** p; p = ((void**) (q)); { tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ* j; if (!!(((*p) == NIM_NIL))) goto LA3_; j = ((tyObject_GcEnv__g0b9ao2MXcYnUpu9b4I8eP9bQ*) (env)); add__system_2686((&(*j).traceStack), p, (*((TNimTypeV2**) ((*p))))); } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(void, eqtrace___pureZparsejson_165)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* dest, void* env) { nimTraceRefDyn(&(*dest).Sup.input, env); } N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZparsejson_174)(tySequence__Ih0V9cYug0VPJyBBGvgEH7Q* dest, tySequence__Ih0V9cYug0VPJyBBGvgEH7Q src) { if ((*dest).p != src.p) { eqdestroy___pureZparsejson_168(dest); } (*dest).len = src.len; (*dest).p = src.p; } N_LIB_PRIVATE N_NIMCALL(void, open__pureZparsejson_128)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input, NimStringV2 filename, NIM_BOOL rawStringLiterals) { tySequence__Ih0V9cYug0VPJyBBGvgEH7Q T1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); open__pureZlexbase_131(&my->Sup, input, ((NI)8192), TM__nIinruGrC8EPIfjL3PuTvA_3); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; eqcopy___stdZassertions_16((&(*my).filename), filename); T1_.len = 0; T1_.p = NIM_NIL; T1_.len = 1; T1_.p = (tySequence__Ih0V9cYug0VPJyBBGvgEH7Q_Content*) newSeqPayload(1, sizeof(tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ), NIM_ALIGNOF(tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)); T1_.p->data[0] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)1); eqsink___pureZparsejson_174((&(*my).state), T1_); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)0); eqsink___stdZassertions_19((&(*my).a), TM__nIinruGrC8EPIfjL3PuTvA_5); (*my).rawStringLiterals = rawStringLiterals; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, skip__pureZparsejson_504)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) { NI pos; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); pos = (*my).Sup.bufpos; { while (1) { switch (((NU8)((*my).Sup.buf.p->data[pos]))) { case 47: { { if (!((NU8)((*my).Sup.buf.p->data[(NI)(pos + ((NI)1))]) == (NU8)(47))) goto LA6_; pos += ((NI)2); { while (1) { switch (((NU8)((*my).Sup.buf.p->data[pos]))) { case 0: { goto LA8; } break; case 13: { pos = handleCR__pureZlexbase_84(&my->Sup, pos); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto LA8; } break; case 10: { pos = handleLF__pureZlexbase_96(&my->Sup, pos); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; goto LA8; } break; default: { pos += ((NI)1); } break; } } } LA8: ; } goto LA4_; LA6_: ; { if (!((NU8)((*my).Sup.buf.p->data[(NI)(pos + ((NI)1))]) == (NU8)(42))) goto LA15_; pos += ((NI)2); { while (1) { switch (((NU8)((*my).Sup.buf.p->data[pos]))) { case 0: { (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)8); goto LA17; } break; case 13: { pos = handleCR__pureZlexbase_84(&my->Sup, pos); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; case 10: { pos = handleLF__pureZlexbase_96(&my->Sup, pos); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; case 42: { pos += ((NI)1); { if (!((NU8)((*my).Sup.buf.p->data[pos]) == (NU8)(47))) goto LA25_; pos += ((NI)1); goto LA17; } LA25_: ; } break; default: { pos += ((NI)1); } break; } } } LA17: ; } goto LA4_; LA15_: ; { goto LA1; } LA4_: ; } break; case 32: case 9: { pos += ((NI)1); } break; case 13: { pos = handleCR__pureZlexbase_84(&my->Sup, pos); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; case 10: { pos = handleLF__pureZlexbase_96(&my->Sup, pos); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; default: { goto LA1; } break; } } } LA1: ; (*my).Sup.bufpos = pos; }BeforeRet_: ; } static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c) { prepareAdd(s, ((NI)1)); (*(*s).p).data[(*s).len] = c; (*(*s).p).data[(NI)((*s).len + ((NI)1))] = 0; (*s).len += ((NI)1); } static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src) { { if (!(((NI)0) < src.len)) goto LA3_; copyMem__system_1719(((void*) ((&(*(*dest).p).data[(*dest).len]))), ((void*) ((&(*src.p).data[((NI)0)]))), ((NI) ((NI)(src.len + ((NI)1))))); (*dest).len += src.len; } LA3_: ; } N_LIB_PRIVATE N_NIMCALL(void, parseNumber__pureZparsejson_542)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) { NI pos; pos = (*my).Sup.bufpos; { if (!((NU8)((*my).Sup.buf.p->data[pos]) == (NU8)(45))) goto LA3_; nimAddCharV1((&(*my).a), 45); pos += ((NI)1); } LA3_: ; { if (!((NU8)((*my).Sup.buf.p->data[pos]) == (NU8)(46))) goto LA7_; prepareAdd((&(*my).a), 2); appendString((&(*my).a), TM__nIinruGrC8EPIfjL3PuTvA_7); pos += ((NI)1); } goto LA5_; LA7_: ; { { while (1) { if (!(((NU8)((*my).Sup.buf.p->data[pos])) >= ((NU8)(48)) && ((NU8)((*my).Sup.buf.p->data[pos])) <= ((NU8)(57)))) goto LA11 ; nimAddCharV1((&(*my).a), (*my).Sup.buf.p->data[pos]); pos += ((NI)1); } LA11: ; } { if (!((NU8)((*my).Sup.buf.p->data[pos]) == (NU8)(46))) goto LA14_; nimAddCharV1((&(*my).a), 46); pos += ((NI)1); } LA14_: ; } LA5_: ; { while (1) { if (!(((NU8)((*my).Sup.buf.p->data[pos])) >= ((NU8)(48)) && ((NU8)((*my).Sup.buf.p->data[pos])) <= ((NU8)(57)))) goto LA17 ; nimAddCharV1((&(*my).a), (*my).Sup.buf.p->data[pos]); pos += ((NI)1); } LA17: ; } { if (!(((NU8)((*my).Sup.buf.p->data[pos])) == ((NU8)(69)) || ((NU8)((*my).Sup.buf.p->data[pos])) == ((NU8)(101)))) goto LA20_; nimAddCharV1((&(*my).a), (*my).Sup.buf.p->data[pos]); pos += ((NI)1); { if (!(((NU8)((*my).Sup.buf.p->data[pos])) == ((NU8)(43)) || ((NU8)((*my).Sup.buf.p->data[pos])) == ((NU8)(45)))) goto LA24_; nimAddCharV1((&(*my).a), (*my).Sup.buf.p->data[pos]); pos += ((NI)1); } LA24_: ; { while (1) { if (!(((NU8)((*my).Sup.buf.p->data[pos])) >= ((NU8)(48)) && ((NU8)((*my).Sup.buf.p->data[pos])) <= ((NU8)(57)))) goto LA27 ; nimAddCharV1((&(*my).a), (*my).Sup.buf.p->data[pos]); pos += ((NI)1); } LA27: ; } } LA20_: ; (*my).Sup.bufpos = pos; } static N_INLINE(NIM_BOOL, handleHexChar__stdZprivateZdecode95helpers_1)(NIM_CHAR c, NI* x) { NIM_BOOL result; result = (NIM_BOOL)0; result = NIM_TRUE; switch (((NU8)(c))) { case 48 ... 57: { (*x) = (NI)((NI)((NU32)((*x)) << (NU32)(((NI)4))) | (NI)(((NU8)(c)) - ((NI)48))); } break; case 97 ... 102: { (*x) = (NI)((NI)((NU32)((*x)) << (NU32)(((NI)4))) | (NI)((NI)(((NU8)(c)) - ((NI)97)) + ((NI)10))); } break; case 65 ... 70: { (*x) = (NI)((NI)((NU32)((*x)) << (NU32)(((NI)4))) | (NI)((NI)(((NU8)(c)) - ((NI)65)) + ((NI)10))); } break; default: { result = NIM_FALSE; } break; } return result; } N_LIB_PRIVATE N_NIMCALL(NI, parseEscapedUTF16__pureZparsejson_380)(NCSTRING buf, NI* pos) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; result = ((NI)0); { NI _; NI res; _ = (NI)0; res = ((NI)0); { while (1) { if (!(res <= ((NI)3))) goto LA3 ; _ = res; { NIM_BOOL T6_; T6_ = (NIM_BOOL)0; T6_ = handleHexChar__stdZprivateZdecode95helpers_1(buf[(*pos)], (&result)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T6_) goto LA7_; (*pos) += ((NI)1); } goto LA4_; LA7_: ; { result = ((NI)-1); goto BeforeRet_; } LA4_: ; res += ((NI)1); } LA3: ; } } }BeforeRet_: ; return result; } static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s) { NCSTRING result; result = (NCSTRING)0; { if (!(s.len == ((NI)0))) goto LA3_; result = ""; } goto LA1_; LA3_: ; { result = ((NCSTRING) ((*s.p).data)); } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw, parseString__pureZparsejson_394)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) { tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw result; NI pos; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0; result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)2); pos = (NI)((*my).Sup.bufpos + ((NI)1)); { if (!(*my).rawStringLiterals) goto LA3_; nimAddCharV1((&(*my).a), 34); } LA3_: ; { while (1) { switch (((NU8)((*my).Sup.buf.p->data[pos]))) { case 0: { (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)7); result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0); goto LA5; } break; case 34: { { if (!(*my).rawStringLiterals) goto LA11_; nimAddCharV1((&(*my).a), 34); } LA11_: ; pos += ((NI)1); goto LA5; } break; case 92: { { if (!(*my).rawStringLiterals) goto LA16_; nimAddCharV1((&(*my).a), 92); } LA16_: ; switch (((NU8)((*my).Sup.buf.p->data[(NI)(pos + ((NI)1))]))) { case 92: case 34: case 39: case 47: { nimAddCharV1((&(*my).a), (*my).Sup.buf.p->data[(NI)(pos + ((NI)1))]); pos += ((NI)2); } break; case 98: { nimAddCharV1((&(*my).a), 8); pos += ((NI)2); } break; case 102: { nimAddCharV1((&(*my).a), 12); pos += ((NI)2); } break; case 110: { nimAddCharV1((&(*my).a), 10); pos += ((NI)2); } break; case 114: { nimAddCharV1((&(*my).a), 13); pos += ((NI)2); } break; case 116: { nimAddCharV1((&(*my).a), 9); pos += ((NI)2); } break; case 118: { nimAddCharV1((&(*my).a), 11); pos += ((NI)2); } break; case 117: { NI pos2; NI r; { if (!(*my).rawStringLiterals) goto LA28_; nimAddCharV1((&(*my).a), 117); } LA28_: ; pos += ((NI)2); pos2 = pos; r = parseEscapedUTF16__pureZparsejson_380(nimToCStringConv((*my).Sup.buf), (&pos)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { if (!(r < ((NI)0))) goto LA32_; (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)1); goto LA5; } LA32_: ; { NI s; if (!((NI)(r & ((NI)64512)) == ((NI)55296))) goto LA36_; { NIM_BOOL T40_; T40_ = (NIM_BOOL)0; T40_ = !(((NU8)((*my).Sup.buf.p->data[pos]) == (NU8)(92))); if (T40_) goto LA41_; T40_ = !(((NU8)((*my).Sup.buf.p->data[(NI)(pos + ((NI)1))]) == (NU8)(117))); LA41_: ; if (!T40_) goto LA42_; (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)1); goto LA5; } LA42_: ; pos += ((NI)2); s = parseEscapedUTF16__pureZparsejson_380(nimToCStringConv((*my).Sup.buf), (&pos)); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NIM_BOOL T46_; T46_ = (NIM_BOOL)0; T46_ = ((NI)(s & ((NI)64512)) == ((NI)56320)); if (!(T46_)) goto LA47_; T46_ = (((NI)0) < s); LA47_: ; if (!T46_) goto LA48_; r = (NI)(((NI)65536) + (NI)((NI)((NU32)((NI)(r - ((NI)55296))) << (NU32)(((NI)10))) | (NI)(s - ((NI)56320)))); } goto LA44_; LA48_: ; { (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)1); goto LA5; } LA44_: ; } LA36_: ; { NI length; if (!(*my).rawStringLiterals) goto LA53_; length = (NI)(pos - pos2); { NI i; NI res; i = (NI)0; res = ((NI)1); { while (1) { if (!(res <= length)) goto LA57 ; i = res; { if (!(((NU8)((*my).Sup.buf.p->data[pos2])) >= ((NU8)(48)) && ((NU8)((*my).Sup.buf.p->data[pos2])) <= ((NU8)(57)) || ((NU8)((*my).Sup.buf.p->data[pos2])) >= ((NU8)(65)) && ((NU8)((*my).Sup.buf.p->data[pos2])) <= ((NU8)(70)) || ((NU8)((*my).Sup.buf.p->data[pos2])) >= ((NU8)(97)) && ((NU8)((*my).Sup.buf.p->data[pos2])) <= ((NU8)(102)))) goto LA60_; nimAddCharV1((&(*my).a), (*my).Sup.buf.p->data[pos2]); pos2 += ((NI)1); } goto LA58_; LA60_: ; { goto LA55; } LA58_: ; res += ((NI)1); } LA57: ; } } LA55: ; } goto LA51_; LA53_: ; { NimStringV2 colontmpD_; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; colontmpD_ = nuctoUTF8(((NI32) (r))); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; prepareAdd((&(*my).a), colontmpD_.len + 0); appendString((&(*my).a), colontmpD_); eqdestroy___stdZassertions_13((&colontmpD_)); } LA51_: ; } break; default: { nimAddCharV1((&(*my).a), (*my).Sup.buf.p->data[pos]); pos += ((NI)1); } break; } } break; case 13: { pos = handleCR__pureZlexbase_84(&my->Sup, pos); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; nimAddCharV1((&(*my).a), 13); } break; case 10: { pos = handleLF__pureZlexbase_96(&my->Sup, pos); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; nimAddCharV1((&(*my).a), 10); } break; default: { nimAddCharV1((&(*my).a), (*my).Sup.buf.p->data[pos]); pos += ((NI)1); } break; } } } LA5: ; (*my).Sup.bufpos = pos; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, parseName__pureZparsejson_605)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) { NI pos; pos = (*my).Sup.bufpos; { if (!(((NU8)((*my).Sup.buf.p->data[pos])) >= ((NU8)(97)) && ((NU8)((*my).Sup.buf.p->data[pos])) <= ((NU8)(122)) || ((NU8)((*my).Sup.buf.p->data[pos])) >= ((NU8)(65)) && ((NU8)((*my).Sup.buf.p->data[pos])) <= ((NU8)(90)) || ((NU8)((*my).Sup.buf.p->data[pos])) == ((NU8)(95)))) goto LA3_; { while (1) { if (!(((NU8)((*my).Sup.buf.p->data[pos])) >= ((NU8)(97)) && ((NU8)((*my).Sup.buf.p->data[pos])) <= ((NU8)(122)) || ((NU8)((*my).Sup.buf.p->data[pos])) >= ((NU8)(65)) && ((NU8)((*my).Sup.buf.p->data[pos])) <= ((NU8)(90)) || ((NU8)((*my).Sup.buf.p->data[pos])) >= ((NU8)(48)) && ((NU8)((*my).Sup.buf.p->data[pos])) <= ((NU8)(57)) || ((NU8)((*my).Sup.buf.p->data[pos])) == ((NU8)(95)))) goto LA6 ; nimAddCharV1((&(*my).a), (*my).Sup.buf.p->data[pos]); pos += ((NI)1); } LA6: ; } } LA3_: ; (*my).Sup.bufpos = pos; } static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) { int result; result = (int)0; result = memcmp(a, b, ((size_t) (size))); return result; } static N_INLINE(NIM_BOOL, equalMem__system_1727)(void* a, void* b, NI size) { NIM_BOOL result; int T1_; result = (NIM_BOOL)0; T1_ = (int)0; T1_ = nimCmpMem(a, b, size); result = (T1_ == ((NI32)0)); return result; } static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a, NimStringV2 b) { NIM_BOOL result; NI alen; NI blen; { result = (NIM_BOOL)0; alen = a.len; blen = b.len; { if (!(alen == blen)) goto LA3_; { if (!(alen == ((NI)0))) goto LA7_; result = NIM_TRUE; goto BeforeRet_; } LA7_: ; result = equalMem__system_1727(((void*) ((&a.p->data[((NI)0)]))), ((void*) ((&b.p->data[((NI)0)]))), ((NI) (alen))); goto BeforeRet_; } LA3_: ; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw, getTok__pureZparsejson_621)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) { tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0; setLengthStrV2((&(*my).a), ((NI)0)); skip__pureZparsejson_504(my); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; switch (((NU8)((*my).Sup.buf.p->data[(*my).Sup.bufpos]))) { case 45: case 46: case 48 ... 57: { parseNumber__pureZparsejson_542(my); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; { NIM_BOOL T4_; T4_ = (NIM_BOOL)0; T4_ = contains__pureZstrutils_1820((*my).a, TM__nIinruGrC8EPIfjL3PuTvA_8); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (!T4_) goto LA5_; result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)4); } goto LA2_; LA5_: ; { result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)3); } LA2_: ; } break; case 34: { result = parseString__pureZparsejson_394(my); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; case 91: { (*my).Sup.bufpos += ((NI)1); result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)10); } break; case 123: { (*my).Sup.bufpos += ((NI)1); result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)8); } break; case 93: { (*my).Sup.bufpos += ((NI)1); result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)11); } break; case 125: { (*my).Sup.bufpos += ((NI)1); result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)9); } break; case 44: { (*my).Sup.bufpos += ((NI)1); result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)13); } break; case 58: { (*my).Sup.bufpos += ((NI)1); result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)12); } break; case 0: { result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)1); } break; case 97 ... 122: case 65 ... 90: case 95: { parseName__pureZparsejson_605(my); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; if (eqStrings((*my).a, TM__nIinruGrC8EPIfjL3PuTvA_10)) goto LA17_; if (eqStrings((*my).a, TM__nIinruGrC8EPIfjL3PuTvA_12)) goto LA18_; if (eqStrings((*my).a, TM__nIinruGrC8EPIfjL3PuTvA_14)) goto LA19_; goto LA20_; LA17_: ; { result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)7); } goto LA21_; LA18_: ; { result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)5); } goto LA21_; LA19_: ; { result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)6); } goto LA21_; LA20_: ; { result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0); } LA21_: ; } break; default: { (*my).Sup.bufpos += ((NI)1); result = ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0); } break; } (*my).tok = result; }BeforeRet_: ; return result; } static N_INLINE(tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ, pop__pureZparsejson_722)(tySequence__Ih0V9cYug0VPJyBBGvgEH7Q* s) { tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ result; NI L; NI T1_; result = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0; T1_ = (*s).len; L = (NI)(T1_ - ((NI)1)); result = (*s).p->data[L]; (*s).p->data[L] = 0; shrink__pureZparsejson_192(s, ((NI) (L))); return result; } N_LIB_PRIVATE N_NIMCALL(void, next__pureZparsejson_659)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) { tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw tk; NI i; NI T1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); tk = getTok__pureZparsejson_621(my); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; T1_ = (*my).state.len; i = (NI)(T1_ - ((NI)1)); switch ((*my).state.p->data[i]) { case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0): { { if (!(tk == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)1))) goto LA5_; (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)1); } goto LA3_; LA5_: ; { (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)0); (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)9); } LA3_: ; } break; case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)1): { switch (tk) { case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)2): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)3): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)4): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)5): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)6): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)7): { (*my).state.p->data[i] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) (tk)); } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)10): { add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)3)); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)10); } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)8): { add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)2)); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)8); } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)1): { (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)1); } break; default: { (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)0); (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)9); } break; } } break; case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)2): { switch (tk) { case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)2): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)3): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)4): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)5): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)6): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)7): { add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)6)); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) (tk)); } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)10): { add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)6)); add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)3)); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)10); } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)8): { add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)6)); add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)2)); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)8); } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)9): { tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T19_; (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)9); T19_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0; T19_ = pop__pureZparsejson_722((&(*my).state)); (void)(T19_); } break; default: { (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)0); (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)6); } break; } } break; case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)3): { switch (tk) { case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)2): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)3): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)4): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)5): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)6): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)7): { add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)4)); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) (tk)); } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)10): { add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)4)); add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)3)); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)10); } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)8): { add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)4)); add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)2)); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)8); } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)11): { tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T26_; (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)11); T26_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0; T26_ = pop__pureZparsejson_722((&(*my).state)); (void)(T26_); } break; default: { (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)0); (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)5); } break; } } break; case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)4): { switch (tk) { case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)13): { tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T30_; T30_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0; T30_ = pop__pureZparsejson_722((&(*my).state)); (void)(T30_); next__pureZparsejson_659(my); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)11): { tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T32_; tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T33_; (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)11); T32_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0; T32_ = pop__pureZparsejson_722((&(*my).state)); (void)(T32_); T33_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0; T33_ = pop__pureZparsejson_722((&(*my).state)); (void)(T33_); } break; default: { (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)0); (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)5); } break; } } break; case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)5): { switch (tk) { case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)13): { tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T37_; T37_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0; T37_ = pop__pureZparsejson_722((&(*my).state)); (void)(T37_); next__pureZparsejson_659(my); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)9): { tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T39_; tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ T40_; (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)9); T39_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0; T39_ = pop__pureZparsejson_722((&(*my).state)); (void)(T39_); T40_ = (tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)0; T40_ = pop__pureZparsejson_722((&(*my).state)); (void)(T40_); } break; default: { (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)0); (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)6); } break; } } break; case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)6): { switch (tk) { case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)12): { (*my).state.p->data[i] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)7); next__pureZparsejson_659(my); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } break; default: { (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)0); (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)3); } break; } } break; case ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)7): { switch (tk) { case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)2): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)3): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)4): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)5): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)6): case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)7): { (*my).state.p->data[i] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)5); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA) (tk)); } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)10): { (*my).state.p->data[i] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)5); add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)3)); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)10); } break; case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)8): { (*my).state.p->data[i] = ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)5); add__pureZparsejson_675((&(*my).state), ((tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ)2)); (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)8); } break; default: { (*my).kind = ((tyEnum_JsonEventKind__0zjE9c54eTrq224F5wMcaFA)0); (*my).err = ((tyEnum_JsonError__G9cw5MrJXJrcpID5JXaplew)10); } break; } } break; } }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZparsejson_800)(tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ* dest) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLastCyclicDyn((*dest).Sup.Sup.Sup.parent); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest).Sup.Sup.Sup.parent); } LA4_: ; eqdestroy___stdZassertions_13((&(*dest).Sup.Sup.Sup.message)); eqdestroy___stdZassertions_55((&(*dest).Sup.Sup.Sup.trace)); { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = nimDecRefIsLastCyclicDyn((*dest).Sup.Sup.Sup.up); if (!T8_) goto LA9_; nimDestroyAndDispose((*dest).Sup.Sup.Sup.up); } LA9_: ; } N_LIB_PRIVATE N_NIMCALL(void, eqtrace___pureZparsejson_809)(tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ* dest, void* env) { nimTraceRefDyn(&(*dest).Sup.Sup.Sup.parent, env); eqtrace___stdZassertions_64((&(*dest).Sup.Sup.Sup.trace), env); nimTraceRefDyn(&(*dest).Sup.Sup.Sup.up, env); } static N_INLINE(NI, getLine__pureZparsejson_360)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) { NI result; result = (NI)0; result = (*my).Sup.lineNumber; return result; } static N_INLINE(NI, getColumn__pureZparsejson_357)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) { NI result; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result = (NI)0; result = getColNumber__pureZlexbase_146((&(*my).Sup), (*my).Sup.bufpos); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NIMCALL(NimStringV2, errorMsgExpected__pureZparsejson_376)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my, NimStringV2 e) { NimStringV2 result; NimStringV2 colontmpD_; NimStringV2 colontmpD__2; NimStringV2 colontmpD__3; tyArray__sMpvt1sOxOJ3LFGulnbeMQ T2_; NI T3_; NI T4_; NimStringV2 T5_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); result.len = 0; result.p = NIM_NIL; colontmpD_.len = 0; colontmpD_.p = NIM_NIL; colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL; colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL; T2_[0] = (*my).filename; T3_ = (NI)0; T3_ = getLine__pureZparsejson_360(my); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; colontmpD_ = dollar___systemZdollars_3(T3_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T2_[1] = colontmpD_; T4_ = (NI)0; T4_ = getColumn__pureZparsejson_357(my); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; colontmpD__2 = dollar___systemZdollars_3(T4_); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; T2_[2] = colontmpD__2; T5_.len = 0; T5_.p = NIM_NIL; T5_ = rawNewString(e.len + 9); appendString((&T5_), e); appendString((&T5_), TM__nIinruGrC8EPIfjL3PuTvA_19); colontmpD__3 = T5_; T2_[3] = colontmpD__3; result = nsuFormatOpenArray(TM__nIinruGrC8EPIfjL3PuTvA_17, T2_, 4); if (NIM_UNLIKELY(*nimErr_)) goto LA1_; { LA1_:; } { eqdestroy___stdZassertions_13((&colontmpD__3)); eqdestroy___stdZassertions_13((&colontmpD__2)); eqdestroy___stdZassertions_13((&colontmpD_)); } if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; }BeforeRet_: ; return result; } N_LIB_PRIVATE N_NOINLINE(void, raiseParseErr__pureZparsejson_796)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NimStringV2 msg) { tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ* T1_; NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); T1_ = NIM_NIL; T1_ = (tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ*) nimNewObj(sizeof(tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ), NIM_ALIGNOF(tyObject_JsonParsingError__Ff9b7Z3F83CBVRI2ZoKErcQ)); (*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__Ff9b7Z3F83CBVRI2ZoKErcQ_); (*T1_).Sup.Sup.Sup.name = "JsonParsingError"; (*T1_).Sup.Sup.Sup.message = errorMsgExpected__pureZparsejson_376(p, msg); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (*T1_).Sup.Sup.Sup.parent = ((Exception*) NIM_NIL); raiseExceptionEx((Exception*)T1_, "JsonParsingError", "raiseParseErr", "parsejson.nim", 518); goto BeforeRet_; }BeforeRet_: ; } N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_5802)(tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw* dest) { { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = nimDecRefIsLastCyclicDyn((*dest).Sup.Sup.Sup.parent); if (!T3_) goto LA4_; nimDestroyAndDispose((*dest).Sup.Sup.Sup.parent); } LA4_: ; eqdestroy___stdZassertions_13((&(*dest).Sup.Sup.Sup.message)); eqdestroy___stdZassertions_55((&(*dest).Sup.Sup.Sup.trace)); { NIM_BOOL T8_; T8_ = (NIM_BOOL)0; T8_ = nimDecRefIsLastCyclicDyn((*dest).Sup.Sup.Sup.up); if (!T8_) goto LA9_; nimDestroyAndDispose((*dest).Sup.Sup.Sup.up); } LA9_: ; } N_LIB_PRIVATE N_NIMCALL(void, eqtrace___pureZjson_5811)(tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw* dest, void* env) { nimTraceRefDyn(&(*dest).Sup.Sup.Sup.parent, env); eqtrace___stdZassertions_64((&(*dest).Sup.Sup.Sup.trace), env); nimTraceRefDyn(&(*dest).Sup.Sup.Sup.up, env); } N_LIB_PRIVATE N_NIMCALL(void, eat__pureZparsejson_837)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw tok) { NIM_BOOL* nimErr_; {nimErr_ = nimErrorFlag(); { tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T5_; if (!((*p).tok == tok)) goto LA3_; T5_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0; T5_ = getTok__pureZparsejson_621(p); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; (void)(T5_); } goto LA1_; LA3_: ; { raiseParseErr__pureZparsejson_796((&(*p)), tokToStr__pureZparsejson_79[(tok)- 0]); if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_; } LA1_: ; }BeforeRet_: ; }