/ nimble-linux / @mnimblepkg@sjsonhelpers.nim.c
@mnimblepkg@sjsonhelpers.nim.c
1 /* Generated by Nim Compiler v1.6.11 */ 2 #define NIM_INTBITS 64 3 4 #include "nimbase.h" 5 #include <string.h> 6 #undef LANGUAGE_C 7 #undef MIPSEB 8 #undef MIPSEL 9 #undef PPC 10 #undef R3000 11 #undef R4000 12 #undef i386 13 #undef linux 14 #undef mips 15 #undef near 16 #undef far 17 #undef powerpc 18 #undef unix 19 # define nimfr_(proc, file) \ 20 TFrame FR_; \ 21 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_); 22 23 # define nimfrs_(proc, file, slots, length) \ 24 struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \ 25 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_); 26 27 # define nimln_(n, file) \ 28 FR_.line = n; FR_.filename = file; 29 typedef struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q; 30 typedef struct NimStringDesc NimStringDesc; 31 typedef struct TGenericSeq TGenericSeq; 32 typedef struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg; 33 typedef struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g tySequence__MlAD6nAPq9bHKla9cWiIZP0g; 34 typedef struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ tySequence__oLpBKXzW3hF9aCVMo5EymfQ; 35 typedef struct TNimType TNimType; 36 typedef struct TNimNode TNimNode; 37 typedef struct tyTuple__awOivLjlO76sGdHY7nQUjQ tyTuple__awOivLjlO76sGdHY7nQUjQ; 38 typedef NU8 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg; 39 struct TGenericSeq { 40 NI len; 41 NI reserved; 42 }; 43 struct NimStringDesc { 44 TGenericSeq Sup; 45 NIM_CHAR data[SEQ_DECL_SIZE]; 46 }; 47 struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg { 48 tySequence__MlAD6nAPq9bHKla9cWiIZP0g* data; 49 NI counter; 50 NI first; 51 NI last; 52 }; 53 struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q { 54 NIM_BOOL isUnquoted; 55 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg kind; 56 union{ 57 struct {NimStringDesc* str; 58 } _kind_1; 59 struct {NI64 num; 60 } _kind_2; 61 struct {NF fnum; 62 } _kind_3; 63 struct {NIM_BOOL bval; 64 } _kind_4; 65 struct {tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg fields; 66 } _kind_6; 67 struct {tySequence__oLpBKXzW3hF9aCVMo5EymfQ* elems; 68 } _kind_7; 69 }; 70 }; 71 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A; 72 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ; 73 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op); 74 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p); 75 struct TNimType { 76 NI size; 77 NI align; 78 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind; 79 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags; 80 TNimType* base; 81 TNimNode* node; 82 void* finalizer; 83 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker; 84 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; 85 }; 86 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ; 87 struct TNimNode { 88 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind; 89 NI offset; 90 TNimType* typ; 91 NCSTRING name; 92 NI len; 93 TNimNode** sons; 94 }; 95 struct tyTuple__awOivLjlO76sGdHY7nQUjQ { 96 NI Field0; 97 NI Field1; 98 NimStringDesc* Field2; 99 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field3; 100 }; 101 struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ { 102 TGenericSeq Sup; 103 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE]; 104 }; 105 struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g { 106 TGenericSeq Sup; 107 tyTuple__awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE]; 108 }; 109 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObject__pureZjson_102)(void); 110 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg); 111 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src); 112 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size); 113 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size); 114 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ); 115 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space); 116 static N_INLINE(void, nimZeroMem)(void* p, NI size); 117 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size); 118 N_LIB_PRIVATE N_NOINLINE(void, raiseFieldError2)(NimStringDesc* f, NimStringDesc* discVal); 119 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprDiscriminant)(NI e, TNimType* typ); 120 static N_INLINE(NI, len__pureZjson_2169)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t); 121 static N_INLINE(void, nimFrame)(TFrame* s); 122 N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void); 123 static N_INLINE(void, popFrame)(void); 124 N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n); 125 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode); 126 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, cleanUpEmptyObjects__nimblepkgZjsonhelpers_55)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj); 127 N_LIB_PRIVATE N_NIMCALL(NI, len__pureZjson_3019)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n); 128 N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_248)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val); 129 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJArray__pureZjson_133)(void); 130 N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_232)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* father, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* child); 131 N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void); 132 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObjectIfKeyNotExists__nimblepkgZjsonhelpers_2)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key); 133 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_3190)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* key); 134 static N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, X5BX5D___pureZjson_3073)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* name); 135 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**, X5BX5D___pureZjson_2667)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringDesc* key); 136 static N_INLINE(NimStringDesc*, X5BX5D___nimblepkgZjsonhelpers_39)(NimStringDesc** s, NI sLen_0, NI i); 137 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src); 138 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); 139 extern TNimType NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_; 140 STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_3, "field \'fields\' is not accessible for type \'JsonNodeObj\' using \'kind = ", 70); 141 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); 142 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); 143 STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_6, "field \'elems\' is not accessible for type \'JsonNodeObj\' using \'kind = ", 69); 144 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); 145 STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_9, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim(21, 10) `obj.kind == JObject` ", 93); 146 STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_11, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim(7, 10) `obj.kind == JObject` ", 92); 147 STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_12, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim(513, 9) `not isNil(node)` ", 97); 148 STRING_LITERAL(TM__VgKRrkuzkPa2uIWwsxiHKg_13, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim(514, 9) `node.kind == JObject` ", 102); 149 extern TFrame* framePtr__system_2564; 150 extern TFrame* framePtr__system_2564; 151 extern TFrame* framePtr__system_2564; 152 extern TFrame* framePtr__system_2564; 153 extern TFrame* framePtr__system_2564; 154 extern TFrame* framePtr__system_2564; 155 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) { 156 void* T1_; 157 T1_ = (void*)0; 158 T1_ = memcpy(dest, source, ((size_t) (size))); 159 } 160 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) { 161 nimCopyMem(dest, source, size); 162 } 163 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) { 164 { 165 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_; 166 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1))))); 167 (*dest).Sup.len += (*src).Sup.len; 168 } 169 LA3_: ; 170 } 171 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) { 172 void* T1_; 173 T1_ = (void*)0; 174 T1_ = memset(a, v, ((size_t) (size))); 175 } 176 static N_INLINE(void, nimZeroMem)(void* p, NI size) { 177 nimSetMem__systemZmemory_7(p, ((int) 0), size); 178 } 179 static N_INLINE(void, nimFrame)(TFrame* s) { 180 { 181 if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_; 182 (*s).calldepth = ((NI16) 0); 183 } 184 goto LA1_; 185 LA3_: ; 186 { 187 (*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1)); 188 } 189 LA1_: ; 190 (*s).prev = framePtr__system_2564; 191 framePtr__system_2564 = s; 192 { 193 if (!((*s).calldepth == ((NI16) 2000))) goto LA8_; 194 callDepthLimitReached__system_2997(); 195 } 196 LA8_: ; 197 } 198 static N_INLINE(void, popFrame)(void) { 199 framePtr__system_2564 = (*framePtr__system_2564).prev; 200 } 201 static N_INLINE(NI, len__pureZjson_2169)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t) { 202 NI result; 203 nimfr_("len", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); 204 result = (NI)0; 205 nimln_(1509, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); 206 result = (*t).counter; 207 popFrame(); 208 return result; 209 } 210 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) { 211 NIM_BOOL result; 212 nimfr_("isFilled", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/hashcommon.nim"); 213 result = (NIM_BOOL)0; 214 nimln_(22, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/hashcommon.nim"); 215 result = !((hcode == ((NI) 0))); 216 popFrame(); 217 return result; 218 } 219 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, cleanUpEmptyObjects__nimblepkgZjsonhelpers_55)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj) { 220 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result; 221 nimfr_("cleanUpEmptyObjects", "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 222 result = NIM_NIL; 223 nimln_(32, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 224 { 225 if (!((*obj).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5))) goto LA3_; 226 nimln_(33, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 227 result = newJObject__pureZjson_102(); 228 { 229 NimStringDesc* key; 230 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* value; 231 key = NIM_NIL; 232 value = NIM_NIL; 233 nimln_(837, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); 234 { 235 NimStringDesc* T10_; 236 if (!!(((*obj).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5)))) goto LA8_; 237 T10_ = NIM_NIL; 238 T10_ = rawNewString((reprEnum((NI)(*obj).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_)) ? reprEnum((NI)(*obj).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))->Sup.len : 0) + 148); 239 appendString(T10_, ((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_2)); 240 appendString(T10_, reprEnum((NI)(*obj).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))); 241 failedAssertImpl__systemZassertions_56(T10_); 242 } 243 LA8_: ; 244 { 245 NimStringDesc* key_2; 246 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val; 247 tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg colontmp_; 248 NI L; 249 key_2 = NIM_NIL; 250 val = NIM_NIL; 251 nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg)); 252 nimln_(838, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); 253 if (!(((32 &((NU8)1<<((NU)((*obj).kind)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_3), reprDiscriminant(((NI)(*obj).kind) + (NI)IL64(0), (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))); } 254 colontmp_.data = (*obj)._kind_6.fields.data; 255 colontmp_.counter = (*obj)._kind_6.fields.counter; 256 colontmp_.first = (*obj)._kind_6.fields.first; 257 colontmp_.last = (*obj)._kind_6.fields.last; 258 nimln_(1717, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); 259 L = len__pureZjson_2169((&colontmp_)); 260 nimln_(1718, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); 261 { 262 NI h; 263 nimln_(1298, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); 264 if (!(((NI) 0) < colontmp_.counter)) goto LA14_; 265 nimln_(1299, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); 266 h = colontmp_.first; 267 { 268 nimln_(1300, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); 269 while (1) { 270 NI nxt; 271 if (!(((NI) 0) <= h)) goto LA17; 272 nimln_(1301, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); 273 if (h < 0 || h >= (colontmp_.data ? colontmp_.data->Sup.len : 0)){ raiseIndexError2(h,(colontmp_.data ? colontmp_.data->Sup.len : 0)-1); } 274 nxt = colontmp_.data->data[h].Field1; 275 nimln_(1302, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); 276 { 277 NIM_BOOL T20_; 278 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* newValue; 279 if (h < 0 || h >= (colontmp_.data ? colontmp_.data->Sup.len : 0)){ raiseIndexError2(h,(colontmp_.data ? colontmp_.data->Sup.len : 0)-1); } 280 T20_ = (NIM_BOOL)0; 281 T20_ = isFilled__pureZcollectionsZtables_31(colontmp_.data->data[h].Field0); 282 if (!T20_) goto LA21_; 283 nimln_(838, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); 284 if (h < 0 || h >= (colontmp_.data ? colontmp_.data->Sup.len : 0)){ raiseIndexError2(h,(colontmp_.data ? colontmp_.data->Sup.len : 0)-1); } 285 key_2 = colontmp_.data->data[h].Field2; 286 if (h < 0 || h >= (colontmp_.data ? colontmp_.data->Sup.len : 0)){ raiseIndexError2(h,(colontmp_.data ? colontmp_.data->Sup.len : 0)-1); } 287 val = colontmp_.data->data[h].Field3; 288 nimln_(34, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 289 key = key_2; 290 value = val; 291 nimln_(35, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 292 newValue = cleanUpEmptyObjects__nimblepkgZjsonhelpers_55(value); 293 nimln_(34, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 294 { 295 NIM_BOOL T25_; 296 NI T27_; 297 nimln_(36, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 298 T25_ = (NIM_BOOL)0; 299 T25_ = !(((96 &((NU8)1<<((NU)((*newValue).kind)&7U)))!=0)); 300 if (T25_) goto LA26_; 301 T27_ = (NI)0; 302 T27_ = len__pureZjson_3019(newValue); 303 T25_ = !((T27_ == ((NI) 0))); 304 LA26_: ; 305 if (!T25_) goto LA28_; 306 nimln_(37, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 307 add__pureZjson_248(result, key, newValue); 308 } 309 LA28_: ; 310 nimln_(1720, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); 311 { 312 NI T32_; 313 T32_ = (NI)0; 314 T32_ = len__pureZjson_2169((&colontmp_)); 315 if (!!((T32_ == L))) goto LA33_; 316 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_4)); 317 } 318 LA33_: ; 319 } 320 LA21_: ; 321 nimln_(1304, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/collections/tables.nim"); 322 h = nxt; 323 } LA17: ; 324 } 325 } 326 LA14_: ; 327 } 328 } 329 } 330 goto LA1_; 331 LA3_: ; 332 { 333 nimln_(38, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 334 if (!((*obj).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6))) goto LA36_; 335 nimln_(39, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 336 result = newJArray__pureZjson_133(); 337 { 338 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* value_2; 339 value_2 = NIM_NIL; 340 nimln_(824, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); 341 { 342 NimStringDesc* T43_; 343 if (!!(((*obj).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 6)))) goto LA41_; 344 T43_ = NIM_NIL; 345 T43_ = rawNewString((reprEnum((NI)(*obj).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_)) ? reprEnum((NI)(*obj).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))->Sup.len : 0) + 147); 346 appendString(T43_, ((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_5)); 347 appendString(T43_, reprEnum((NI)(*obj).kind, (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))); 348 failedAssertImpl__systemZassertions_56(T43_); 349 } 350 LA41_: ; 351 { 352 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** i; 353 tySequence__oLpBKXzW3hF9aCVMo5EymfQ* colontmp__2; 354 NI i_2; 355 NI L_2; 356 NI T45_; 357 i = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0; 358 colontmp__2 = NIM_NIL; 359 nimln_(825, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); 360 if (!(((64 &((NU8)1<<((NU)((*obj).kind)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_6), reprDiscriminant(((NI)(*obj).kind) + (NI)IL64(0), (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))); } 361 colontmp__2 = (*obj)._kind_7.elems; 362 nimln_(235, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim"); 363 i_2 = ((NI) 0); 364 nimln_(236, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim"); 365 T45_ = (colontmp__2 ? colontmp__2->Sup.len : 0); 366 L_2 = T45_; 367 { 368 nimln_(237, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim"); 369 while (1) { 370 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* newValue_2; 371 NI TM__VgKRrkuzkPa2uIWwsxiHKg_7; 372 if (!(i_2 < L_2)) goto LA47; 373 nimln_(825, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); 374 if (i_2 < 0 || i_2 >= (colontmp__2 ? colontmp__2->Sup.len : 0)){ raiseIndexError2(i_2,(colontmp__2 ? colontmp__2->Sup.len : 0)-1); } 375 i = &colontmp__2->data[i_2]; 376 nimln_(40, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 377 value_2 = (*i); 378 nimln_(41, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 379 newValue_2 = cleanUpEmptyObjects__nimblepkgZjsonhelpers_55(value_2); 380 nimln_(40, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 381 { 382 NIM_BOOL T50_; 383 NI T52_; 384 nimln_(42, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 385 T50_ = (NIM_BOOL)0; 386 T50_ = !(((96 &((NU8)1<<((NU)((*newValue_2).kind)&7U)))!=0)); 387 if (T50_) goto LA51_; 388 T52_ = (NI)0; 389 T52_ = len__pureZjson_3019(newValue_2); 390 T50_ = !((T52_ == ((NI) 0))); 391 LA51_: ; 392 if (!T50_) goto LA53_; 393 nimln_(43, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 394 add__pureZjson_232(result, newValue_2); 395 } 396 LA53_: ; 397 nimln_(239, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim"); 398 if (nimAddInt(i_2, ((NI) 1), &TM__VgKRrkuzkPa2uIWwsxiHKg_7)) { raiseOverflow(); }; 399 i_2 = (NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_7); 400 nimln_(240, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators.nim"); 401 { 402 NI T57_; 403 T57_ = (colontmp__2 ? colontmp__2->Sup.len : 0); 404 if (!!((T57_ == L_2))) goto LA58_; 405 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_8)); 406 } 407 LA58_: ; 408 } LA47: ; 409 } 410 } 411 } 412 } 413 goto LA1_; 414 LA36_: ; 415 { 416 nimln_(45, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 417 result = obj; 418 } 419 LA1_: ; 420 popFrame(); 421 return result; 422 } 423 static N_INLINE(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, X5BX5D___pureZjson_3073)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringDesc* name) { 424 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result; 425 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** T9_; 426 nimfr_("[]", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); 427 result = NIM_NIL; 428 nimln_(513, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); 429 { 430 if (!!(!((node == 0)))) goto LA3_; 431 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_12)); 432 } 433 LA3_: ; 434 nimln_(514, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); 435 { 436 if (!!(((*node).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5)))) goto LA7_; 437 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_13)); 438 } 439 LA7_: ; 440 nimln_(517, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/pure/json.nim"); 441 if (!(((32 &((NU8)1<<((NU)((*node).kind)&7U)))!=0))) { raiseFieldError2(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_3), reprDiscriminant(((NI)(*node).kind) + (NI)IL64(0), (&NTIjsonnodekind__RUngo7nCHe6O8aBGIcrhtg_))); } 442 T9_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0; 443 T9_ = X5BX5D___pureZjson_2667((&(*node)._kind_6.fields), name); 444 result = (*T9_); 445 popFrame(); 446 return result; 447 } 448 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObjectIfKeyNotExists__nimblepkgZjsonhelpers_2)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc* key) { 449 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result; 450 nimfr_("newJObjectIfKeyNotExists", "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 451 { result = NIM_NIL; 452 nimln_(7, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 453 { 454 if (!!(((*obj).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5)))) goto LA3_; 455 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_11)); 456 } 457 LA3_: ; 458 nimln_(8, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 459 { 460 NIM_BOOL T7_; 461 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* newObj_1; 462 T7_ = (NIM_BOOL)0; 463 T7_ = hasKey__pureZjson_3190(obj, key); 464 if (!!(T7_)) goto LA8_; 465 nimln_(9, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 466 newObj_1 = newJObject__pureZjson_102(); 467 nimln_(10, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 468 add__pureZjson_248(obj, key, newObj_1); 469 nimln_(11, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 470 result = newObj_1; 471 goto BeforeRet_; 472 } 473 goto LA5_; 474 LA8_: ; 475 { 476 nimln_(13, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 477 result = X5BX5D___pureZjson_3073(obj, key); 478 goto BeforeRet_; 479 } 480 LA5_: ; 481 }BeforeRet_: ; 482 popFrame(); 483 return result; 484 } 485 static N_INLINE(NimStringDesc*, X5BX5D___nimblepkgZjsonhelpers_39)(NimStringDesc** s, NI sLen_0, NI i) { 486 NimStringDesc* result; 487 NI TM__VgKRrkuzkPa2uIWwsxiHKg_15; 488 nimfr_("[]", "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim"); 489 result = NIM_NIL; 490 nimln_(2642, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system.nim"); 491 if (nimSubInt(sLen_0, i, &TM__VgKRrkuzkPa2uIWwsxiHKg_15)) { raiseOverflow(); }; 492 if ((NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_15) < 0 || (NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_15) >= sLen_0){ raiseIndexError2((NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_15),sLen_0-1); } 493 result = copyString(s[(NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_15)]); 494 popFrame(); 495 return result; 496 } 497 N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, addIfNotExist__nimblepkgZjsonhelpers_16)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringDesc** keys, NI keysLen_0, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val) { 498 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result; 499 tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj_2; 500 nimfr_("addIfNotExist", "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 501 { result = NIM_NIL; 502 nimln_(21, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 503 { 504 if (!!(((*obj).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg) 5)))) goto LA3_; 505 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__VgKRrkuzkPa2uIWwsxiHKg_9)); 506 } 507 LA3_: ; 508 nimln_(22, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 509 obj_2 = obj; 510 { 511 NI i; 512 NI colontmp_; 513 NI TM__VgKRrkuzkPa2uIWwsxiHKg_10; 514 NI i_2; 515 i = (NI)0; 516 colontmp_ = (NI)0; 517 nimln_(23, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 518 if (nimSubInt(keysLen_0, ((NI) 1), &TM__VgKRrkuzkPa2uIWwsxiHKg_10)) { raiseOverflow(); }; 519 colontmp_ = (NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_10); 520 nimln_(119, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim"); 521 i_2 = ((NI) 0); 522 { 523 nimln_(120, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim"); 524 while (1) { 525 NI TM__VgKRrkuzkPa2uIWwsxiHKg_14; 526 if (!(i_2 < colontmp_)) goto LA7; 527 nimln_(23, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 528 i = i_2; 529 if (i < 0 || i >= keysLen_0){ raiseIndexError2(i,keysLen_0-1); } 530 obj_2 = newJObjectIfKeyNotExists__nimblepkgZjsonhelpers_2(obj_2, keys[i]); 531 nimln_(122, "/home/yyoncho/.choosenim/toolchains/nim-#version-1-6/lib/system/iterators_1.nim"); 532 if (nimAddInt(i_2, ((NI) 1), &TM__VgKRrkuzkPa2uIWwsxiHKg_14)) { raiseOverflow(); }; 533 i_2 = (NI)(TM__VgKRrkuzkPa2uIWwsxiHKg_14); 534 } LA7: ; 535 } 536 } 537 nimln_(25, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 538 { 539 NimStringDesc* T10_; 540 NIM_BOOL T11_; 541 NimStringDesc* T14_; 542 T10_ = NIM_NIL; 543 T10_ = X5BX5D___nimblepkgZjsonhelpers_39(keys, keysLen_0, ((NI) 1)); 544 T11_ = (NIM_BOOL)0; 545 T11_ = hasKey__pureZjson_3190(obj_2, T10_); 546 if (!!(T11_)) goto LA12_; 547 nimln_(26, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 548 T14_ = NIM_NIL; 549 T14_ = X5BX5D___nimblepkgZjsonhelpers_39(keys, keysLen_0, ((NI) 1)); 550 add__pureZjson_248(obj_2, T14_, val); 551 nimln_(27, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 552 result = val; 553 goto BeforeRet_; 554 } 555 goto LA8_; 556 LA12_: ; 557 { 558 NimStringDesc* T16_; 559 nimln_(29, "/home/yyoncho/Sources/nim/nimble/src/nimblepkg/jsonhelpers.nim"); 560 T16_ = NIM_NIL; 561 T16_ = X5BX5D___nimblepkgZjsonhelpers_39(keys, keysLen_0, ((NI) 1)); 562 result = X5BX5D___pureZjson_3073(obj_2, T16_); 563 goto BeforeRet_; 564 } 565 LA8_: ; 566 }BeforeRet_: ; 567 popFrame(); 568 return result; 569 }