/* Generated by Nim Compiler v1.6.11 */ #define NIM_INTBITS 64 #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_(proc, file) \ TFrame FR_; \ FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_); # define nimfrs_(proc, file, slots, length) \ struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \ FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_); # define nimln_(n, file) \ FR_.line = n; FR_.filename = file; typedef struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q; typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg; typedef struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g tySequence__MlAD6nAPq9bHKla9cWiIZP0g; typedef struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ tySequence__oLpBKXzW3hF9aCVMo5EymfQ; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct tyTuple__awOivLjlO76sGdHY7nQUjQ tyTuple__awOivLjlO76sGdHY7nQUjQ; typedef NU8 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg { tySequence__MlAD6nAPq9bHKla9cWiIZP0g* data; NI counter; NI first; NI last; }; struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q { NIM_BOOL isUnquoted; tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg kind; union{ struct {NimStringDesc* str; } _kind_1; struct {NI64 num; } _kind_2; struct {NF fnum; } _kind_3; struct {NIM_BOOL bval; } _kind_4; struct {tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg fields; } _kind_6; struct {tySequence__oLpBKXzW3hF9aCVMo5EymfQ* elems; } _kind_7; }; }; typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ; typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op); typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p); struct TNimType { NI size; NI align; tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind; tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags; TNimType* base; TNimNode* node; void* finalizer; tyProc__ojoeKfW4VYIm36I9cpDTQIg marker; tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ; struct TNimNode { tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; struct tyTuple__awOivLjlO76sGdHY7nQUjQ { NI Field0; NI Field1; NimStringDesc* Field2; tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field3; }; struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ { TGenericSeq Sup; tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE]; }; struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g { TGenericSeq Sup; tyTuple__awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE]; }; N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObject__pureZjson_102)(void); N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg); static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src); static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size); static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space); static N_INLINE(void, nimZeroMem)(void* p, NI size); static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size); N_LIB_PRIVATE N_NOINLINE(void, raiseFieldError2)(NimStringDesc* f, NimStringDesc* discVal); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprDiscriminant)(NI e, TNimType* typ); static N_INLINE(NI, len__pureZjson_2169)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t); static N_INLINE(void, nimFrame)(TFrame* s); N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void); static N_INLINE(void, popFrame)(void); N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n); static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode); N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, cleanUpEmptyObjects__nimblepkgZjsonhelpers_55)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj); N_LIB_PRIVATE N_NIMCALL(NI, len__pureZjson_3019)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n); N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_248)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val); N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJArray__pureZjson_133)(void); N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_232)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* father, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* child); N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void); N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObjectIfKeyNotExists__nimblepkgZjsonhelpers_2)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key); N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_3190)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* key); static N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, X5BX5D___pureZjson_3073)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* name); N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**, X5BX5D___pureZjson_2667)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key); static N_INLINE(NimStringDesc*, X5BX5D___nimblepkgZjsonhelpers_39)(NimStringDesc** s, NI sLen_0, NI i); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src); STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_2, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim(837, 10) `node.kind == JObject` : pairs() can not iterate a JsonNode of kind ", 148); extern TNimType NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_; STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_3, "field \'fields\' is not accessible for type \'JsonNodeObj\' using \'kind = ", 70); STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_4, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim(1720, 11) `len(t) == L` the length of the table changed while iterating over it", 164); STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_5, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim(824, 10) `node.kind == JArray` : items() can not iterate a JsonNode of kind ", 147); STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_6, "field \'elems\' is not accessible for type \'JsonNodeObj\' using \'kind = ", 69); STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_8, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim(240, 11) `len(a) == L` the length of the seq changed while iterating over it", 154); STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_9, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim(21, 10) `obj.kind == JObject` ", 93); STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_11, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim(7, 10) `obj.kind == JObject` ", 92); STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_12, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim(513, 9) `not isNil(node)` ", 97); STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_13, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim(514, 9) `node.kind == JObject` ", 102); extern TFrame* framePtr__system_2564; extern TFrame* framePtr__system_2564; extern TFrame* framePtr__system_2564; extern TFrame* framePtr__system_2564; extern TFrame* framePtr__system_2564; extern TFrame* framePtr__system_2564; 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_1727)(void* dest, void* source, NI size) { nimCopyMem(dest, source, size); } static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) { { if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_; copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1))))); (*dest).Sup.len += (*src).Sup.len; } LA3_: ; } static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) { void* T1_; T1_ = (void*)0; T1_ = memset(a, v, ((size_t) (size))); } static N_INLINE(void, nimZeroMem)(void* p, NI size) { nimSetMem__systemZmemory_7(p, ((int) 0), size); } static N_INLINE(void, nimFrame)(TFrame* s) { { if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_; (*s).calldepth = ((NI16) 0); } goto LA1_; LA3_: ; { (*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1)); } LA1_: ; (*s).prev = framePtr__system_2564; framePtr__system_2564 = s; { if (!((*s).calldepth == ((NI16) 2000))) goto LA8_; callDepthLimitReached__system_2997(); } LA8_: ; } static N_INLINE(void, popFrame)(void) { framePtr__system_2564 = (*framePtr__system_2564).prev; } static N_INLINE(NI, len__pureZjson_2169)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t) { NI result; nimfr_("len", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); result = (NI)0; nimln_(1509, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); result = (*t).counter; popFrame(); return result; } static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) { NIM_BOOL result; nimfr_("isFilled", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/hashcommon.nim"); result = (NIM_BOOL)0; nimln_(22, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/hashcommon.nim"); result = !((hcode == ((NI) 0))); popFrame(); return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, cleanUpEmptyObjects__nimblepkgZjsonhelpers_55)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj) { tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result; nimfr_("cleanUpEmptyObjects", "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); result = NIM_NIL; nimln_(32, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); { if (!((*obj).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5))) goto LA3_; nimln_(33, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); result = newJObject__pureZjson_102(); { NimStringDesc* key; tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* value; key = NIM_NIL; value = NIM_NIL; nimln_(837, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); { NimStringDesc* T10_; if (!!(((*obj).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5)))) goto LA8_; T10_ = NIM_NIL; T10_ = rawNewString((reprEnum((NI)(*obj).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_)) ? reprEnum((NI)(*obj).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))->Sup.len : 0) + 148); appendString(T10_, ((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_2)); appendString(T10_, reprEnum((NI)(*obj).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))); failedAssertImpl__systemZassertions_56(T10_); } LA8_: ; { NimStringDesc* key_2; tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val; tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg colontmp_; NI L; key_2 = NIM_NIL; val = NIM_NIL; nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg)); nimln_(838, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); if (!(((32 &((NU8)1<<((NU)((*obj).kind)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_3), reprDiscriminant(((NI)(*obj).kind) + (NI)IL64(0), (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))); } colontmp_.data = (*obj)._kind_6.fields.data; colontmp_.counter = (*obj)._kind_6.fields.counter; colontmp_.first = (*obj)._kind_6.fields.first; colontmp_.last = (*obj)._kind_6.fields.last; nimln_(1717, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); L = len__pureZjson_2169((&colontmp_)); nimln_(1718, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); { NI h; nimln_(1298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); if (!(((NI) 0) < colontmp_.counter)) goto LA14_; nimln_(1299, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); h = colontmp_.first; { nimln_(1300, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); while (1) { NI nxt; if (!(((NI) 0) <= h)) goto LA17; nimln_(1301, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); if (h < 0 || h >= (colontmp_.data ? colontmp_.data->Sup.len : 0)){ raiseIndexError2(h,(colontmp_.data ? colontmp_.data->Sup.len : 0)-1); } nxt = colontmp_.data->data[h].Field1; nimln_(1302, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); { NIM_BOOL T20_; tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* newValue; if (h < 0 || h >= (colontmp_.data ? colontmp_.data->Sup.len : 0)){ raiseIndexError2(h,(colontmp_.data ? colontmp_.data->Sup.len : 0)-1); } T20_ = (NIM_BOOL)0; T20_ = isFilled__pureZcollectionsZtables_31(colontmp_.data->data[h].Field0); if (!T20_) goto LA21_; nimln_(838, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); if (h < 0 || h >= (colontmp_.data ? colontmp_.data->Sup.len : 0)){ raiseIndexError2(h,(colontmp_.data ? colontmp_.data->Sup.len : 0)-1); } key_2 = colontmp_.data->data[h].Field2; if (h < 0 || h >= (colontmp_.data ? colontmp_.data->Sup.len : 0)){ raiseIndexError2(h,(colontmp_.data ? colontmp_.data->Sup.len : 0)-1); } val = colontmp_.data->data[h].Field3; nimln_(34, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); key = key_2; value = val; nimln_(35, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); newValue = cleanUpEmptyObjects__nimblepkgZjsonhelpers_55(value); nimln_(34, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); { NIM_BOOL T25_; NI T27_; nimln_(36, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); T25_ = (NIM_BOOL)0; T25_ = !(((96 &((NU8)1<<((NU)((*newValue).kind)&7U)))!=0)); if (T25_) goto LA26_; T27_ = (NI)0; T27_ = len__pureZjson_3019(newValue); T25_ = !((T27_ == ((NI) 0))); LA26_: ; if (!T25_) goto LA28_; nimln_(37, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); add__pureZjson_248(result, key, newValue); } LA28_: ; nimln_(1720, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); { NI T32_; T32_ = (NI)0; T32_ = len__pureZjson_2169((&colontmp_)); if (!!((T32_ == L))) goto LA33_; failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_4)); } LA33_: ; } LA21_: ; nimln_(1304, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); h = nxt; } LA17: ; } } LA14_: ; } } } goto LA1_; LA3_: ; { nimln_(38, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); if (!((*obj).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6))) goto LA36_; nimln_(39, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); result = newJArray__pureZjson_133(); { tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* value_2; value_2 = NIM_NIL; nimln_(824, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); { NimStringDesc* T43_; if (!!(((*obj).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6)))) goto LA41_; T43_ = NIM_NIL; T43_ = rawNewString((reprEnum((NI)(*obj).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_)) ? reprEnum((NI)(*obj).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))->Sup.len : 0) + 147); appendString(T43_, ((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_5)); appendString(T43_, reprEnum((NI)(*obj).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))); failedAssertImpl__systemZassertions_56(T43_); } LA41_: ; { tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** i; tySequence__oLpBKXzW3hF9aCVMo5EymfQ* colontmp__2; NI i_2; NI L_2; NI T45_; i = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0; colontmp__2 = NIM_NIL; nimln_(825, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); if (!(((64 &((NU8)1<<((NU)((*obj).kind)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_6), reprDiscriminant(((NI)(*obj).kind) + (NI)IL64(0), (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))); } colontmp__2 = (*obj)._kind_7.elems; nimln_(235, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim"); i_2 = ((NI) 0); nimln_(236, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim"); T45_ = (colontmp__2 ? colontmp__2->Sup.len : 0); L_2 = T45_; { nimln_(237, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim"); while (1) { tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* newValue_2; NI TM__VgKRrkuzkPa2uIWwsxiHKg_7; if (!(i_2 < L_2)) goto LA47; nimln_(825, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); if (i_2 < 0 || i_2 >= (colontmp__2 ? colontmp__2->Sup.len : 0)){ raiseIndexError2(i_2,(colontmp__2 ? colontmp__2->Sup.len : 0)-1); } i = &colontmp__2->data[i_2]; nimln_(40, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); value_2 = (*i); nimln_(41, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); newValue_2 = cleanUpEmptyObjects__nimblepkgZjsonhelpers_55(value_2); nimln_(40, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); { NIM_BOOL T50_; NI T52_; nimln_(42, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); T50_ = (NIM_BOOL)0; T50_ = !(((96 &((NU8)1<<((NU)((*newValue_2).kind)&7U)))!=0)); if (T50_) goto LA51_; T52_ = (NI)0; T52_ = len__pureZjson_3019(newValue_2); T50_ = !((T52_ == ((NI) 0))); LA51_: ; if (!T50_) goto LA53_; nimln_(43, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); add__pureZjson_232(result, newValue_2); } LA53_: ; nimln_(239, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim"); if (nimAddInt(i_2, ((NI) 1), &TM__VgKRrkuzkPa2uIWwsxiHKg_7)) { raiseOverflow(); }; i_2 = (NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_7); nimln_(240, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim"); { NI T57_; T57_ = (colontmp__2 ? colontmp__2->Sup.len : 0); if (!!((T57_ == L_2))) goto LA58_; failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_8)); } LA58_: ; } LA47: ; } } } } goto LA1_; LA36_: ; { nimln_(45, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); result = obj; } LA1_: ; popFrame(); return result; } static N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, X5BX5D___pureZjson_3073)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* name) { tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result; tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** T9_; nimfr_("[]", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); result = NIM_NIL; nimln_(513, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); { if (!!(!((node == 0)))) goto LA3_; failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_12)); } LA3_: ; nimln_(514, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); { if (!!(((*node).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5)))) goto LA7_; failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_13)); } LA7_: ; nimln_(517, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); if (!(((32 &((NU8)1<<((NU)((*node).kind)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_3), reprDiscriminant(((NI)(*node).kind) + (NI)IL64(0), (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))); } T9_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0; T9_ = X5BX5D___pureZjson_2667((&(*node)._kind_6.fields), name); result = (*T9_); popFrame(); return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObjectIfKeyNotExists__nimblepkgZjsonhelpers_2)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key) { tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result; nimfr_("newJObjectIfKeyNotExists", "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); { result = NIM_NIL; nimln_(7, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); { if (!!(((*obj).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5)))) goto LA3_; failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_11)); } LA3_: ; nimln_(8, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); { NIM_BOOL T7_; tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* newObj_1; T7_ = (NIM_BOOL)0; T7_ = hasKey__pureZjson_3190(obj, key); if (!!(T7_)) goto LA8_; nimln_(9, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); newObj_1 = newJObject__pureZjson_102(); nimln_(10, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); add__pureZjson_248(obj, key, newObj_1); nimln_(11, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); result = newObj_1; goto BeforeRet_; } goto LA5_; LA8_: ; { nimln_(13, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); result = X5BX5D___pureZjson_3073(obj, key); goto BeforeRet_; } LA5_: ; }BeforeRet_: ; popFrame(); return result; } static N_INLINE(NimStringDesc*, X5BX5D___nimblepkgZjsonhelpers_39)(NimStringDesc** s, NI sLen_0, NI i) { NimStringDesc* result; NI TM__VgKRrkuzkPa2uIWwsxiHKg_15; nimfr_("[]", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim"); result = NIM_NIL; nimln_(2642, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim"); if (nimSubInt(sLen_0, i, &TM__VgKRrkuzkPa2uIWwsxiHKg_15)) { raiseOverflow(); }; if ((NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_15) < 0 || (NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_15) >= sLen_0){ raiseIndexError2((NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_15),sLen_0-1); } result = copyString(s[(NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_15)]); popFrame(); return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, addIfNotExist__nimblepkgZjsonhelpers_16)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc** keys, NI keysLen_0, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val) { tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result; tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj_2; nimfr_("addIfNotExist", "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); { result = NIM_NIL; nimln_(21, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); { if (!!(((*obj).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5)))) goto LA3_; failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_9)); } LA3_: ; nimln_(22, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); obj_2 = obj; { NI i; NI colontmp_; NI TM__VgKRrkuzkPa2uIWwsxiHKg_10; NI i_2; i = (NI)0; colontmp_ = (NI)0; nimln_(23, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); if (nimSubInt(keysLen_0, ((NI) 1), &TM__VgKRrkuzkPa2uIWwsxiHKg_10)) { raiseOverflow(); }; colontmp_ = (NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_10); nimln_(119, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim"); i_2 = ((NI) 0); { nimln_(120, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim"); while (1) { NI TM__VgKRrkuzkPa2uIWwsxiHKg_14; if (!(i_2 < colontmp_)) goto LA7; nimln_(23, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); i = i_2; if (i < 0 || i >= keysLen_0){ raiseIndexError2(i,keysLen_0-1); } obj_2 = newJObjectIfKeyNotExists__nimblepkgZjsonhelpers_2(obj_2, keys[i]); nimln_(122, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim"); if (nimAddInt(i_2, ((NI) 1), &TM__VgKRrkuzkPa2uIWwsxiHKg_14)) { raiseOverflow(); }; i_2 = (NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_14); } LA7: ; } } nimln_(25, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); { NimStringDesc* T10_; NIM_BOOL T11_; NimStringDesc* T14_; T10_ = NIM_NIL; T10_ = X5BX5D___nimblepkgZjsonhelpers_39(keys, keysLen_0, ((NI) 1)); T11_ = (NIM_BOOL)0; T11_ = hasKey__pureZjson_3190(obj_2, T10_); if (!!(T11_)) goto LA12_; nimln_(26, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); T14_ = NIM_NIL; T14_ = X5BX5D___nimblepkgZjsonhelpers_39(keys, keysLen_0, ((NI) 1)); add__pureZjson_248(obj_2, T14_, val); nimln_(27, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); result = val; goto BeforeRet_; } goto LA8_; LA12_: ; { NimStringDesc* T16_; nimln_(29, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); T16_ = NIM_NIL; T16_ = X5BX5D___nimblepkgZjsonhelpers_39(keys, keysLen_0, ((NI) 1)); result = X5BX5D___pureZjson_3073(obj_2, T16_); goto BeforeRet_; } LA8_: ; }BeforeRet_: ; popFrame(); return result; }