Files
csources-nimble/nimble-linux/@mnimblepkg@sjsonhelpers.nim.c

570 lines
26 KiB
C

/* Generated by Nim Compiler v1.6.11 */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#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;
}