csources_v2/c_code/5_13/@m..@slib@spure@sjson.nim.c
2022-12-16 10:54:01 +08:00

2836 lines
106 KiB
C

/* Generated by Nim Compiler v1.9.0 */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <stdio.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_(x, y)
#define nimln_(x, y)
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q;
typedef struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg;
typedef struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g tySequence__MlAD6nAPq9bHKla9cWiIZP0g;
typedef struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g_Content tySequence__MlAD6nAPq9bHKla9cWiIZP0g_Content;
typedef struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ tySequence__oLpBKXzW3hF9aCVMo5EymfQ;
typedef struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ_Content tySequence__oLpBKXzW3hF9aCVMo5EymfQ_Content;
typedef struct tyTuple__awOivLjlO76sGdHY7nQUjQ tyTuple__awOivLjlO76sGdHY7nQUjQ;
typedef struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A;
typedef struct tyObject_KeyError__3UUWz3XMhDptStqtPF49cMA tyObject_KeyError__3UUWz3XMhDptStqtPF49cMA;
typedef struct tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw;
typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
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_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ;
typedef struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ;
typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
typedef struct tyObject_IOError__N09bhl56nRkUaUsonzshECg tyObject_IOError__N09bhl56nRkUaUsonzshECg;
typedef struct tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ;
typedef struct tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg;
typedef struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q tySequence__Ih0V9cYug0VPJyBBGvgEH7Q;
typedef struct tySequence__Ih0V9cYug0VPJyBBGvgEH7Q_Content tySequence__Ih0V9cYug0VPJyBBGvgEH7Q_Content;
typedef struct tyObject_SourceMap__zVPgRO1YHLSfITsOPFuiMA tyObject_SourceMap__zVPgRO1YHLSfITsOPFuiMA;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tyObject_Table__Ji6x6JQ0gVMaFr8AIk18Ug tyObject_Table__Ji6x6JQ0gVMaFr8AIk18Ug;
typedef struct tySequence__SFipDZIkFtPcrLs0AGBBjQ tySequence__SFipDZIkFtPcrLs0AGBBjQ;
typedef struct tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content;
typedef struct tyTuple__8ZxhPt1NwfElsJs8zUSV9bg tyTuple__8ZxhPt1NwfElsJs8zUSV9bg;
typedef struct tyTuple__jq7X5k7hWG0tdTZTDkiyGQ tyTuple__jq7X5k7hWG0tdTZTDkiyGQ;
typedef struct tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A;
typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
typedef NU8 tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg;
struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g {
NI len; tySequence__MlAD6nAPq9bHKla9cWiIZP0g_Content* p;
};
struct tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg {
tySequence__MlAD6nAPq9bHKla9cWiIZP0g data;
NI counter;
NI first;
NI last;
};
struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ {
NI len; tySequence__oLpBKXzW3hF9aCVMo5EymfQ_Content* p;
};
struct tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q {
NIM_BOOL isUnquoted;
tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg kind;
union{
struct {NimStringV2 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;
};
};
struct tyTuple__awOivLjlO76sGdHY7nQUjQ {
NI Field0;
NI Field1;
NimStringV2 Field2;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field3;
};
struct tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A {
NI rc;
NI rootIdx;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI16 align;
NI16 depth;
NU32* display;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
struct RootObj {
TNimTypeV2* m_type;
};
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_KeyError__3UUWz3XMhDptStqtPF49cMA {
tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw Sup;
};
typedef NimStringV2 tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
typedef NU8 tySet_tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg;
struct tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw {
tyObject_ValueError__ke0esfQKJkTSUu9bpZ7VlFw Sup;
};
typedef N_NIMCALL_PTR(void, tyProc__JQrsH08b4uPTH9cyFPlVOZg) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__9bmhFrLahRsL2hltfRDVtlQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
typedef N_NIMCALL_PTR(void, tyProc__3svSoGIUJIsHkaBL7q4DAQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NI pos);
typedef N_NIMCALL_PTR(NI, tyProc__xflqkf2D1uVClg70czEDHA) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s);
typedef N_NIMCALL_PTR(NI, tyProc__c9c0f59ak4YGQ6neEym8LPKw) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringV2* buffer, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA slice);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__7jFfqMk9ajToCz6Hv9atCA4A) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringV2* line);
typedef N_NIMCALL_PTR(NI, tyProc__2VVzVL9bOnKhj1eZKkf9cEuA) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen);
typedef N_NIMCALL_PTR(void, tyProc__ki6p1QyfOkJLQJ9aw5NI0AQ) (tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, void* buffer, NI bufLen);
struct tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ {
RootObj Sup;
tyProc__JQrsH08b4uPTH9cyFPlVOZg closeImpl;
tyProc__9bmhFrLahRsL2hltfRDVtlQ atEndImpl;
tyProc__3svSoGIUJIsHkaBL7q4DAQ setPositionImpl;
tyProc__xflqkf2D1uVClg70czEDHA getPositionImpl;
tyProc__c9c0f59ak4YGQ6neEym8LPKw readDataStrImpl;
tyProc__7jFfqMk9ajToCz6Hv9atCA4A readLineImpl;
tyProc__2VVzVL9bOnKhj1eZKkf9cEuA readDataImpl;
tyProc__2VVzVL9bOnKhj1eZKkf9cEuA peekDataImpl;
tyProc__ki6p1QyfOkJLQJ9aw5NI0AQ writeDataImpl;
tyProc__JQrsH08b4uPTH9cyFPlVOZg flushImpl;
};
struct tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ {
tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ Sup;
FILE* f;
};
typedef NU8 tyEnum_FileMode__4sJyy9aOSN8X63XdWXl5iDg;
struct tyObject_IOError__N09bhl56nRkUaUsonzshECg {
tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
};
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 tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
struct tyObject_SourceMap__zVPgRO1YHLSfITsOPFuiMA {
NI version;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ sources;
tySequence__sM4lkSb7zS6F7OVMvW9cffQ names;
NimStringV2 mappings;
NimStringV2 file;
};
struct tySequence__SFipDZIkFtPcrLs0AGBBjQ {
NI len; tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content* p;
};
struct tyObject_Table__Ji6x6JQ0gVMaFr8AIk18Ug {
tySequence__SFipDZIkFtPcrLs0AGBBjQ data;
NI counter;
};
struct tyTuple__8ZxhPt1NwfElsJs8zUSV9bg {
NI Field0;
NimStringV2 Field1;
NimStringV2 Field2;
};
struct tyTuple__jq7X5k7hWG0tdTZTDkiyGQ {
NimStringV2 Field0;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* Field1;
};
struct tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A {
NimStringV2 keyword;
NimStringV2 link;
NimStringV2 linkTitle;
NimStringV2 linkDesc;
};
#ifndef tySequence__MlAD6nAPq9bHKla9cWiIZP0g_Content_PP
#define tySequence__MlAD6nAPq9bHKla9cWiIZP0g_Content_PP
struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g_Content { NI cap; tyTuple__awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__oLpBKXzW3hF9aCVMo5EymfQ_Content_PP
#define tySequence__oLpBKXzW3hF9aCVMo5EymfQ_Content_PP
struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ_Content { NI cap; tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__MlAD6nAPq9bHKla9cWiIZP0g_Content_PP
#define tySequence__MlAD6nAPq9bHKla9cWiIZP0g_Content_PP
struct tySequence__MlAD6nAPq9bHKla9cWiIZP0g_Content { NI cap; tyTuple__awOivLjlO76sGdHY7nQUjQ 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
struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
NI a;
NI b;
};
typedef NU8 tyEnum_ParserState__Na0rM2Zdr3RpxeNeXbvLrQ;
#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__oLpBKXzW3hF9aCVMo5EymfQ_Content_PP
#define tySequence__oLpBKXzW3hF9aCVMo5EymfQ_Content_PP
struct tySequence__oLpBKXzW3hF9aCVMo5EymfQ_Content { NI cap; tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
#define tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content_PP
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content_PP
#define tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content_PP
struct tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content { NI cap; tyTuple__8ZxhPt1NwfElsJs8zUSV9bg data[SEQ_DECL_SIZE];};
#endif
N_NIMCALL(NimStringV2, rawNewString)(NI cap);
N_LIB_PRIVATE N_NIMCALL(void, escapeJson__pureZjson_4733)(NimStringV2 s, NimStringV2* result);
static N_INLINE(void, appendString)(NimStringV2* dest, NimStringV2 src);
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_NIMCALL(void, prepareAdd)(NimStringV2* s, NI addlen);
N_LIB_PRIVATE N_NIMCALL(void, escapeJsonUnquoted__pureZjson_4712)(NimStringV2 s, NimStringV2* result);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_3)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZassertions_13)(NimStringV2* dest);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toHex__pureZstrutils_1991)(NI x, NI len);
static N_INLINE(void, nimAddCharV1)(NimStringV2* s, NIM_CHAR c);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
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(NIM_BOOL, eqeq___pureZjson_2408)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ x, tySequence__oLpBKXzW3hF9aCVMo5EymfQ y);
static N_INLINE(NI, len__pureZjson_2501)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_33)(NI hcode);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_16)(NimStringV2* dest, NimStringV2 src);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_274)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** dest, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* src);
static N_INLINE(void, nimIncRef)(void* p);
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_60)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_72)(tySequence__MlAD6nAPq9bHKla9cWiIZP0g* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_217)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p, NI alignment);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p, NI align);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_2931)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringV2 key);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_271)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** dest);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_2391)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**, X5BX5D___pureZjson_3005)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringV2 key);
N_LIB_PRIVATE N_NIMCALL(NI, len__pureZjson_3367)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n);
N_LIB_PRIVATE N_NIMCALL(void, toUgly__pureZjson_4743)(NimStringV2* result, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_220)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* dest, tySequence__oLpBKXzW3hF9aCVMo5EymfQ src);
N_LIB_PRIVATE N_NIMCALL(void, setLen__pureZjson_235)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* s, NI newlen);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_412)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* dest, tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_409)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* dest);
N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_176)(NimStringV2* result, NI64 x);
static N_INLINE(void, addFloat__system_4386)(NimStringV2* result, NF x);
N_LIB_PRIVATE N_NIMCALL(void, addFloatRoundtrip__system_4391)(NimStringV2* result, NF x);
N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_5656)(NimStringV2* dst, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* jsonNode, NimStringV2* jsonPath);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size, NI alignment);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr, NimStringV2* a, NI aLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZjson_5735)(tySet_tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg x);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZjson_23)(tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg e);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___stdZassertions_19)(NimStringV2* dest, NimStringV2 src);
N_LIB_PRIVATE N_NIMCALL(void, toPretty__pureZjson_4761)(NimStringV2* result, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI indent, NIM_BOOL ml, NIM_BOOL lstArr, NI currIndent);
N_LIB_PRIVATE N_NIMCALL(void, indent__pureZjson_4701)(NimStringV2* s, NI i);
static N_INLINE(NimStringV2, spaces__pureZstrutils_1132)(NI n);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuRepeatChar)(NIM_CHAR c, NI count);
N_LIB_PRIVATE N_NIMCALL(void, nl__pureZjson_4709)(NimStringV2* s, NIM_BOOL ml);
N_LIB_PRIVATE N_NIMCALL(NI, newIndent__pureZjson_4704)(NI curr, NI indent, NIM_BOOL ml);
N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_5660)(NIM_BOOL* dst, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* jsonNode, NimStringV2* jsonPath);
N_LIB_PRIVATE N_NIMCALL(tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ*, newFileStream__pureZstreams_929)(NimStringV2 filename, tyEnum_FileMode__4sJyy9aOSN8X63XdWXl5iDg mode, NI bufSize);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseJson__pureZjson_5612)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringV2 filename, NIM_BOOL rawIntegers, NIM_BOOL rawFloats);
N_LIB_PRIVATE N_NIMCALL(void, open__pureZparsejson_128)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my, tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* input, NimStringV2 filename, NIM_BOOL rawStringLiterals);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw, getTok__pureZparsejson_621)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseJson__pureZjson_5571)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NIM_BOOL rawIntegers, NIM_BOOL rawFloats, NI depth);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJRawNumber__pureZjson_374)(NimStringV2 s);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObjUninit)(NI size, NI alignment);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJInt__pureZjson_377)(NI64 n);
N_LIB_PRIVATE N_NIMCALL(NI64, nsuParseBiggestInt)(NimStringV2 s);
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source, NI16 targetDepth, NU32 token);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___stdZassertions_33)(Exception** dest, Exception* src, NIM_BOOL cyclic);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJFloat__pureZjson_380)(NF n);
N_LIB_PRIVATE N_NIMCALL(NF, nsuParseFloat)(NimStringV2 s);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJBool__pureZjson_383)(NIM_BOOL b);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJNull__pureZjson_386)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseParseErr__pureZparsejson_796)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NimStringV2 msg);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObject__pureZjson_388)(void);
N_LIB_PRIVATE N_NIMCALL(void, initOrderedTable__pureZjson_390)(NI initialSize, tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* Result);
N_LIB_PRIVATE N_NIMCALL(void, eat__pureZparsejson_837)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw tok);
static N_INLINE(void, X5BX5Deq___pureZjson_2270)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringV2 key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___pureZjson_620)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t, NimStringV2 key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJArray__pureZjson_422)(void);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap, NI elemSize, NI elemAlign);
N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_539)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* father, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* child);
N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_549)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* x, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* value);
static N_INLINE(void, close__pureZparsejson_320)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my);
N_LIB_PRIVATE N_NIMCALL(void, close__pureZlexbase_15)(tyObject_BaseLexer__MAw8rJZtJ279bVV3TWMtXSg* L);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZparsejson_156)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZstreams_844)(tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ** dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_2140)(NI n);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___jsgen_7074)(NimStringV2* elements, NI elementsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_2130)(NimStringV2 s);
N_LIB_PRIVATE N_NIMCALL(NI, len__docgen_11722)(tyObject_Table__Ji6x6JQ0gVMaFr8AIk18Ug t);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___docgen_13491)(tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* o);
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_2 = { 1 | NIM_STRLIT_FLAG, "\"" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_3 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_2};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_4 = { 2 | NIM_STRLIT_FLAG, "\\n" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_5 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_4};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_6 = { 2 | NIM_STRLIT_FLAG, "\\b" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_7 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_6};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_8 = { 2 | NIM_STRLIT_FLAG, "\\f" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_9 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_8};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_10 = { 2 | NIM_STRLIT_FLAG, "\\t" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_11 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_10};
static const struct {
NI cap; NIM_CHAR data[6+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_12 = { 6 | NIM_STRLIT_FLAG, "\\u000b" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_13 = {6, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_12};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_14 = { 2 | NIM_STRLIT_FLAG, "\\r" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_15 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_14};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_16 = { 2 | NIM_STRLIT_FLAG, "\\\"" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_17 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_16};
static const struct {
NI cap; NIM_CHAR data[5+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_18 = { 5 | NIM_STRLIT_FLAG, "\\u000" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_19 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_18};
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_20 = { 4 | NIM_STRLIT_FLAG, "\\u00" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_21 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_20};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_22 = { 2 | NIM_STRLIT_FLAG, "\\\\" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_23 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_22};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_24 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_2};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_25 = { 1 | NIM_STRLIT_FLAG, "[" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_26 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_25};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_27 = { 1 | NIM_STRLIT_FLAG, "," };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_28 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_27};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_29 = { 1 | NIM_STRLIT_FLAG, "]" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_30 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_29};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_31 = { 1 | NIM_STRLIT_FLAG, "{" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_32 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_31};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_33 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_27};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_34 = { 1 | NIM_STRLIT_FLAG, ":" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_35 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_34};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_36 = { 1 | NIM_STRLIT_FLAG, "}" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_37 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_36};
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_38 = { 4 | NIM_STRLIT_FLAG, "true" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_39 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_38};
static const struct {
NI cap; NIM_CHAR data[5+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_40 = { 5 | NIM_STRLIT_FLAG, "false" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_41 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_40};
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_42 = { 4 | NIM_STRLIT_FLAG, "null" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_43 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_42};
static const struct {
NI cap; NIM_CHAR data[5+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_44 = { 5 | NIM_STRLIT_FLAG, "JNull" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_45 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_44};
static const struct {
NI cap; NIM_CHAR data[5+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_46 = { 5 | NIM_STRLIT_FLAG, "JBool" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_47 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_46};
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_48 = { 4 | NIM_STRLIT_FLAG, "JInt" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_49 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_48};
static const struct {
NI cap; NIM_CHAR data[6+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_50 = { 6 | NIM_STRLIT_FLAG, "JFloat" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_51 = {6, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_50};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_52 = { 7 | NIM_STRLIT_FLAG, "JString" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_53 = {7, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_52};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_54 = { 7 | NIM_STRLIT_FLAG, "JObject" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_55 = {7, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_54};
static const struct {
NI cap; NIM_CHAR data[6+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_56 = { 6 | NIM_STRLIT_FLAG, "JArray" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_57 = {6, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_56};
static const struct {
NI cap; NIM_CHAR data[0+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_58 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_59 = {0, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_58};
extern TNimTypeV2 NTIv2__3UUWz3XMhDptStqtPF49cMA_;
static const struct {
NI cap; NIM_CHAR data[15+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_60 = { 15 | NIM_STRLIT_FLAG, "key not found: " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_61 = {15, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_60};
static const struct {
NI cap; NIM_CHAR data[54+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_62 = { 54 | NIM_STRLIT_FLAG, "Incorrect JSON kind. Wanted \'$1\' in \'$2\' but got \'$3\'." };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_63 = {54, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_62};
extern TNimTypeV2 NTIv2__rdnXHgdE6eiyK6cn26vKMw_;
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_64 = {0, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_58};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_65 = {0, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_58};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_66 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_31};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_67 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_68 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_67};
static const struct {
NI cap; NIM_CHAR data[1+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_69 = { 1 | NIM_STRLIT_FLAG, " " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_70 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_69};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_71 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_27};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_72 = { 2 | NIM_STRLIT_FLAG, ": " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_73 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_72};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_74 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_36};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_75 = { 2 | NIM_STRLIT_FLAG, "{}" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_76 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_75};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_77 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_38};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_78 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_40};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_79 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_25};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_80 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_27};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_81 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_29};
static const struct {
NI cap; NIM_CHAR data[2+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_82 = { 2 | NIM_STRLIT_FLAG, "[]" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_83 = {2, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_82};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_84 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_42};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_85 = {0, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_58};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_86 = {15, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_60};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_87 = {54, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_62};
extern TNimTypeV2 NTIv2__N09bhl56nRkUaUsonzshECg_;
static const struct {
NI cap; NIM_CHAR data[23+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_88 = { 23 | NIM_STRLIT_FLAG, "cannot read from file: " };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_89 = {23, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_88};
extern TNimTypeV2 NTIv2__KWIQnzXEOUqdWsnCUL9atyQ_;
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_90 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_36};
static const struct {
NI cap; NIM_CHAR data[21+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_91 = { 21 | NIM_STRLIT_FLAG, "string literal as key" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_92 = {21, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_91};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_93 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_29};
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_94 = {1, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_31};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_95 = { 7 | NIM_STRLIT_FLAG, "version" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_96 = {7, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_95};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_97 = { 7 | NIM_STRLIT_FLAG, "sources" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_98 = {7, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_97};
static const struct {
NI cap; NIM_CHAR data[5+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_99 = { 5 | NIM_STRLIT_FLAG, "names" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_100 = {5, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_99};
static const struct {
NI cap; NIM_CHAR data[8+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_101 = { 8 | NIM_STRLIT_FLAG, "mappings" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_102 = {8, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_101};
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_103 = { 4 | NIM_STRLIT_FLAG, "file" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_104 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_103};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_105 = { 7 | NIM_STRLIT_FLAG, "keyword" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_106 = {7, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_105};
static const struct {
NI cap; NIM_CHAR data[4+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_107 = { 4 | NIM_STRLIT_FLAG, "link" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_108 = {4, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_107};
static const struct {
NI cap; NIM_CHAR data[9+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_109 = { 9 | NIM_STRLIT_FLAG, "linkTitle" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_110 = {9, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_109};
static const struct {
NI cap; NIM_CHAR data[8+1];
} TM__9b9bytt1stv9cZ8uqII7HFgew_111 = { 8 | NIM_STRLIT_FLAG, "linkDesc" };
static const NimStringV2 TM__9b9bytt1stv9cZ8uqII7HFgew_112 = {8, (NimStrPayload*)&TM__9b9bytt1stv9cZ8uqII7HFgew_111};
extern NIM_BOOL nimInErrorMode__system_3994;
extern Exception* currException__system_3668;
extern Exception* currException__system_3668;
extern Exception* currException__system_3668;
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, 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_: ;
}
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(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_3994);
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, escapeJsonUnquoted__pureZjson_4712)(NimStringV2 s, NimStringV2* result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_CHAR c;
NI i;
NI L;
c = (NIM_CHAR)0;
i = ((NI)0);
L = s.len;
{
while (1) {
if (!(i < L)) goto LA3 ;
c = s.p->data[i];
switch (((NU8)(c))) {
case 10:
{
prepareAdd((&(*result)), 2);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_5);
}
break;
case 8:
{
prepareAdd((&(*result)), 2);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_7);
}
break;
case 12:
{
prepareAdd((&(*result)), 2);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_9);
}
break;
case 9:
{
prepareAdd((&(*result)), 2);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_11);
}
break;
case 11:
{
prepareAdd((&(*result)), 6);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_13);
}
break;
case 13:
{
prepareAdd((&(*result)), 2);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_15);
}
break;
case 34:
{
prepareAdd((&(*result)), 2);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_17);
}
break;
case 0 ... 7:
{
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
NimStringV2 T12_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
T12_.len = 0; T12_.p = NIM_NIL;
colontmpD_ = dollar___systemZdollars_3(((NU8)(c)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T12_ = rawNewString(colontmpD_.len + 5);
appendString((&T12_), TM__9b9bytt1stv9cZ8uqII7HFgew_19);
appendString((&T12_), colontmpD_);
colontmpD__2 = T12_;
prepareAdd((&(*result)), colontmpD__2.len + 0);
appendString((&(*result)), colontmpD__2);
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
break;
case 14 ... 31:
{
NimStringV2 colontmpD__3;
NimStringV2 colontmpD__4;
NimStringV2 T14_;
colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
T14_.len = 0; T14_.p = NIM_NIL;
colontmpD__3 = toHex__pureZstrutils_1991(((NU8)(c)), ((NI)2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T14_ = rawNewString(colontmpD__3.len + 4);
appendString((&T14_), TM__9b9bytt1stv9cZ8uqII7HFgew_21);
appendString((&T14_), colontmpD__3);
colontmpD__4 = T14_;
prepareAdd((&(*result)), colontmpD__4.len + 0);
appendString((&(*result)), colontmpD__4);
eqdestroy___stdZassertions_13((&colontmpD__4));
eqdestroy___stdZassertions_13((&colontmpD__3));
}
break;
case 92:
{
prepareAdd((&(*result)), 2);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_23);
}
break;
default:
{
nimAddCharV1((&(*result)), c);
}
break;
}
i += ((NI)1);
} LA3: ;
}
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, escapeJson__pureZjson_4733)(NimStringV2 s, NimStringV2* result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_3);
escapeJsonUnquoted__pureZjson_4712(s, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_24);
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, escapeJson__pureZjson_4736)(NimStringV2 s) {
NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result.len = 0; result.p = NIM_NIL;
result = rawNewString(((NI) ((NI)(s.len + (NI)((NI64)(s.len) >> (NU64)(((NI)3)))))));
escapeJson__pureZjson_4733(s, (&result));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
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;
}
static N_INLINE(NI, len__pureZjson_2501)(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg* t) {
NI result;
result = (NI)0;
result = (*t).counter;
return result;
}
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) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
nimSetMem__systemZmemory_7(p, ((int)0), size);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_33)(NI hcode) {
NIM_BOOL result;
result = (NIM_BOOL)0;
result = !((hcode == ((NI)0)));
return result;
}
static N_INLINE(NI, minuspercent___system_790)(NI x, NI y) {
NI result;
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
return result;
}
static N_INLINE(void, nimIncRef)(void* p) {
NI T1_;
T1_ = (NI)0;
T1_ = minuspercent___system_790(((NI) (ptrdiff_t) (p)), ((NI)16));
(*((tyObject_RefHeader__Gi7WQzlT1ZRToh9a2ueYb4A*) (T1_))).rc += ((NI)16);
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p) {
NIM_BOOL result;
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)16));
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_: ;
}
LA3_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_217)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* dest) {
NI colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmp_ = ((NI)0);
{
while (1) {
NI T3_;
T3_ = (*dest).len;
if (!(colontmp_ < T3_)) goto LA2 ;
{
NIM_BOOL T6_;
T6_ = (NIM_BOOL)0;
T6_ = nimDecRefIsLast((*dest).p->data[colontmp_]);
if (!T6_) goto LA7_;
eqdestroy___pureZjson_60((*dest).p->data[colontmp_]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).p->data[colontmp_], ((NI)8));
}
LA7_: ;
colontmp_ += ((NI)1);
} LA2: ;
}
if ((*dest).p && !((*dest).p->cap & NIM_STRLIT_FLAG)) {
alignedDealloc((*dest).p, NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*));
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_60)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*dest).kind) {
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)4):
{
eqdestroy___stdZassertions_13((&(*dest)._kind_1.str));
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)2):
{
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)3):
{
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)1):
{
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)0):
{
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)5):
{
eqdestroy___pureZjson_72((&(*dest)._kind_6.fields.data));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)6):
{
eqdestroy___pureZjson_217((&(*dest)._kind_7.elems));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_274)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** dest, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* src) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
if (!src) goto LA3_;
nimIncRef(src);
}
LA3_: ;
{
NIM_BOOL T7_;
T7_ = (NIM_BOOL)0;
T7_ = nimDecRefIsLast((*dest));
if (!T7_) goto LA8_;
eqdestroy___pureZjson_60((*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest), ((NI)8));
}
LA8_: ;
(*dest) = src;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_271)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** dest) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLast((*dest));
if (!T3_) goto LA4_;
eqdestroy___pureZjson_60((*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest), ((NI)8));
}
LA4_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZjson_2391)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* a, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* b) {
NIM_BOOL result;
NIM_BOOL oldNimErrFin29_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
{
if (!(a == 0)) goto LA3_;
{
if (!(b == 0)) goto LA7_;
result = NIM_TRUE;
goto BeforeRet_;
}
LA7_: ;
result = NIM_FALSE;
goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
NIM_BOOL T10_;
T10_ = (NIM_BOOL)0;
T10_ = (b == 0);
if (T10_) goto LA11_;
T10_ = !(((*a).kind == (*b).kind));
LA11_: ;
if (!T10_) goto LA12_;
result = NIM_FALSE;
goto BeforeRet_;
}
goto LA1_;
LA12_: ;
{
switch ((*a).kind) {
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)4):
{
result = eqStrings((*a)._kind_1.str, (*b)._kind_1.str);
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)2):
{
result = ((*a)._kind_2.num == (*b)._kind_2.num);
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)3):
{
result = ((*a)._kind_3.fnum == (*b)._kind_3.fnum);
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)1):
{
result = ((*a)._kind_4.bval == (*b)._kind_4.bval);
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)0):
{
result = NIM_TRUE;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)6):
{
result = eqeq___pureZjson_2408((*a)._kind_7.elems, (*b)._kind_7.elems);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)5):
{
{
NI T24_;
NI T25_;
T24_ = (NI)0;
T24_ = len__pureZjson_2501((&(*a)._kind_6.fields));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
T25_ = (NI)0;
T25_ = len__pureZjson_2501((&(*b)._kind_6.fields));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!!((T24_ == T25_))) goto LA26_;
result = NIM_FALSE;
goto BeforeRet_;
}
LA26_: ;
{
NimStringV2 key;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val;
tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg colontmp_;
NI L;
key.len = 0; key.p = NIM_NIL;
val = NIM_NIL;
nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg));
colontmp_ = (*a)._kind_6.fields;
L = len__pureZjson_2501((&colontmp_));
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
{
NI h;
if (!(((NI)0) < colontmp_.counter)) goto LA32_;
h = colontmp_.first;
{
while (1) {
NI nxt;
if (!(((NI)0) <= h)) goto LA35 ;
nxt = colontmp_.data.p->data[h].Field1;
{
NIM_BOOL T38_;
T38_ = (NIM_BOOL)0;
T38_ = isFilled__pureZcollectionsZtables_33(colontmp_.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
if (!T38_) goto LA39_;
eqcopy___stdZassertions_16((&key), colontmp_.data.p->data[h].Field2);
eqcopy___pureZjson_274(&val, colontmp_.data.p->data[h].Field3);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
{
NIM_BOOL T43_;
T43_ = (NIM_BOOL)0;
T43_ = hasKey__pureZjson_2931((&(*b)._kind_6.fields), key);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
if (!!(T43_)) goto LA44_;
result = NIM_FALSE;
eqdestroy___pureZjson_271(&val);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&key));
goto BeforeRet_;
}
LA44_: ;
{
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** T48_;
NIM_BOOL T49_;
T48_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
T48_ = X5BX5D___pureZjson_3005((&(*b)._kind_6.fields), key);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
T49_ = (NIM_BOOL)0;
T49_ = eqeq___pureZjson_2391((*T48_), val);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
if (!!(T49_)) goto LA50_;
result = NIM_FALSE;
eqdestroy___pureZjson_271(&val);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&key));
goto BeforeRet_;
}
LA50_: ;
}
LA39_: ;
h = nxt;
} LA35: ;
}
}
LA32_: ;
{
LA29_:;
}
{
oldNimErrFin29_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___pureZjson_271(&val);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&key));
*nimErr_ = oldNimErrFin29_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
result = NIM_TRUE;
}
break;
}
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, len__pureZjson_3367)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n) {
NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
switch ((*n).kind) {
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)6):
{
NI T2_;
T2_ = (*n)._kind_7.elems.len;
result = T2_;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)5):
{
result = len__pureZjson_2501((&(*n)._kind_6.fields));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
default:
{
}
break;
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___pureZjson_277)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** dest, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* src) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = nimDecRefIsLast((*dest));
if (!T3_) goto LA4_;
eqdestroy___pureZjson_60((*dest));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest), ((NI)8));
}
LA4_: ;
(*dest) = src;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_220)(tySequence__oLpBKXzW3hF9aCVMo5EymfQ* dest, tySequence__oLpBKXzW3hF9aCVMo5EymfQ src) {
NI T1_;
NI colontmp_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
T1_ = src.len;
setLen__pureZjson_235((&(*dest)), T1_);
colontmp_ = ((NI)0);
{
while (1) {
NI T4_;
T4_ = (*dest).len;
if (!(colontmp_ < T4_)) goto LA3 ;
{
if (!src.p->data[colontmp_]) goto LA7_;
nimIncRef(src.p->data[colontmp_]);
}
LA7_: ;
{
NIM_BOOL T11_;
T11_ = (NIM_BOOL)0;
T11_ = nimDecRefIsLast((*dest).p->data[colontmp_]);
if (!T11_) goto LA12_;
eqdestroy___pureZjson_60((*dest).p->data[colontmp_]);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
nimRawDispose((*dest).p->data[colontmp_], ((NI)8));
}
LA12_: ;
(*dest).p->data[colontmp_] = src.p->data[colontmp_];
colontmp_ += ((NI)1);
} LA3: ;
}
}BeforeRet_: ;
}
static N_INLINE(void, addFloat__system_4386)(NimStringV2* result, NF x) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
addFloatRoundtrip__system_4391(result, x);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, toUgly__pureZjson_4743)(NimStringV2* result, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node) {
NIM_BOOL comma;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
comma = NIM_FALSE;
switch ((*node).kind) {
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)6):
{
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_26);
{
tySequence__oLpBKXzW3hF9aCVMo5EymfQ colontmp_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** child;
NI i;
NI L;
NI T3_;
colontmp_.len = 0; colontmp_.p = NIM_NIL;
child = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
eqcopy___pureZjson_220((&colontmp_), (*node)._kind_7.elems);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i = ((NI)0);
T3_ = colontmp_.len;
L = T3_;
{
while (1) {
if (!(i < L)) goto LA5 ;
child = &colontmp_.p->data[i];
{
if (!comma) goto LA8_;
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_28);
}
goto LA6_;
LA8_: ;
{
comma = NIM_TRUE;
}
LA6_: ;
toUgly__pureZjson_4743(result, (*child));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i += ((NI)1);
} LA5: ;
}
eqdestroy___pureZjson_217((&colontmp_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_30);
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)5):
{
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_32);
{
NimStringV2 key;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* value;
tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg colontmp__2;
NI L_2;
key.len = 0; key.p = NIM_NIL;
value = NIM_NIL;
nimZeroMem((void*)(&colontmp__2), sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg));
eqcopy___pureZjson_412((&colontmp__2), (&(*node)._kind_6.fields));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
L_2 = len__pureZjson_2501((&colontmp__2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI h;
if (!(((NI)0) < colontmp__2.counter)) goto LA15_;
h = colontmp__2.first;
{
while (1) {
NI nxt;
if (!(((NI)0) <= h)) goto LA18 ;
nxt = colontmp__2.data.p->data[h].Field1;
{
NIM_BOOL T21_;
T21_ = (NIM_BOOL)0;
T21_ = isFilled__pureZcollectionsZtables_33(colontmp__2.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T21_) goto LA22_;
eqcopy___stdZassertions_16((&key), colontmp__2.data.p->data[h].Field2);
eqcopy___pureZjson_274(&value, colontmp__2.data.p->data[h].Field3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!comma) goto LA26_;
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_33);
}
goto LA24_;
LA26_: ;
{
comma = NIM_TRUE;
}
LA24_: ;
escapeJson__pureZjson_4733(key, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_35);
toUgly__pureZjson_4743(result, value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA22_: ;
h = nxt;
} LA18: ;
}
}
LA15_: ;
eqdestroy___pureZjson_409((&colontmp__2));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___pureZjson_271(&value);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&key));
}
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_37);
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)4):
{
{
if (!(*node).isUnquoted) goto LA32_;
prepareAdd((&(*result)), (*node)._kind_1.str.len + 0);
appendString((&(*result)), (*node)._kind_1.str);
}
goto LA30_;
LA32_: ;
{
escapeJson__pureZjson_4733((*node)._kind_1.str, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA30_: ;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)2):
{
addInt__stdZprivateZdigitsutils_176(result, (*node)._kind_2.num);
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)3):
{
addFloat__system_4386(result, (*node)._kind_3.fnum);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)1):
{
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
NimStringV2 T38_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
T38_.len = 0; T38_.p = NIM_NIL;
{
if (!(*node)._kind_4.bval) goto LA41_;
colontmpD_ = TM__9b9bytt1stv9cZ8uqII7HFgew_39;
T38_ = colontmpD_;
}
goto LA39_;
LA41_: ;
{
colontmpD__2 = TM__9b9bytt1stv9cZ8uqII7HFgew_41;
T38_ = colontmpD__2;
}
LA39_: ;
prepareAdd((&(*result)), T38_.len + 0);
appendString((&(*result)), T38_);
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)0):
{
prepareAdd((&(*result)), 4);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_43);
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZjson_4847)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node) {
NimStringV2 result;
NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result.len = 0; result.p = NIM_NIL;
T1_ = (NI)0;
T1_ = len__pureZjson_3367(node);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = rawNewString(((NI) ((NI)((NU64)(T1_) << (NU64)(((NI)1))))));
toUgly__pureZjson_4743((&result), node);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZjson_23)(tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg e) {
NimStringV2 result;
result.len = 0; result.p = NIM_NIL;
switch (e) {
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)0):
{
result = TM__9b9bytt1stv9cZ8uqII7HFgew_45;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)1):
{
result = TM__9b9bytt1stv9cZ8uqII7HFgew_47;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)2):
{
result = TM__9b9bytt1stv9cZ8uqII7HFgew_49;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)3):
{
result = TM__9b9bytt1stv9cZ8uqII7HFgew_51;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)4):
{
result = TM__9b9bytt1stv9cZ8uqII7HFgew_53;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)5):
{
result = TM__9b9bytt1stv9cZ8uqII7HFgew_55;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)6):
{
result = TM__9b9bytt1stv9cZ8uqII7HFgew_57;
}
break;
}
return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_3530)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NimStringV2 key) {
NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
result = hasKey__pureZjson_2931((&(*node)._kind_6.fields), key);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_5656)(NimStringV2* dst, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* jsonNode, NimStringV2* jsonPath) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
tyObject_KeyError__3UUWz3XMhDptStqtPF49cMA* T6_;
NimStringV2 T7_;
T3_ = (NIM_BOOL)0;
T3_ = eqeq___pureZjson_2391(jsonNode, ((tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T3_) goto LA4_;
T6_ = NIM_NIL;
T6_ = (tyObject_KeyError__3UUWz3XMhDptStqtPF49cMA*) nimNewObj(sizeof(tyObject_KeyError__3UUWz3XMhDptStqtPF49cMA), NIM_ALIGNOF(tyObject_KeyError__3UUWz3XMhDptStqtPF49cMA));
(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__3UUWz3XMhDptStqtPF49cMA_);
(*T6_).Sup.Sup.Sup.name = "KeyError";
T7_.len = 0; T7_.p = NIM_NIL;
T7_ = rawNewString((*jsonPath).len + 15);
appendString((&T7_), TM__9b9bytt1stv9cZ8uqII7HFgew_61);
appendString((&T7_), (*jsonPath));
(*T6_).Sup.Sup.Sup.message = T7_;
(*T6_).Sup.Sup.Sup.parent = ((Exception*) NIM_NIL);
raiseExceptionEx((Exception*)T6_, "KeyError", "initFromJson", "json.nim", 1053);
goto BeforeRet_;
}
goto LA1_;
LA4_: ;
{
NimStringV2 msgX60gensym96_;
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
tyArray__24KAM9afIUgUaqBaEBB6r9bg T12_;
tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw* T13_;
NimStringV2 blitTmp;
if (!!(((*jsonNode).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)4) || (*jsonNode).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)0)))) goto LA9_;
msgX60gensym96_.len = 0; msgX60gensym96_.p = NIM_NIL;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
colontmpD_ = dollar___pureZjson_5735(17);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
T12_[0] = colontmpD_;
T12_[1] = (*jsonPath);
colontmpD__2 = dollar___pureZjson_23((*jsonNode).kind);
T12_[2] = colontmpD__2;
msgX60gensym96_ = nsuFormatOpenArray(TM__9b9bytt1stv9cZ8uqII7HFgew_63, T12_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
T13_ = NIM_NIL;
T13_ = (tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw*) nimNewObj(sizeof(tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw), NIM_ALIGNOF(tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw));
(*T13_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__rdnXHgdE6eiyK6cn26vKMw_);
(*T13_).Sup.Sup.Sup.name = "JsonKindError";
blitTmp = msgX60gensym96_;
msgX60gensym96_.len = 0; msgX60gensym96_.p = NIM_NIL;
(*T13_).Sup.Sup.Sup.message = blitTmp;
(*T13_).Sup.Sup.Sup.parent = ((Exception*) NIM_NIL);
raiseExceptionEx((Exception*)T13_, "JsonKindError", "initFromJson", "json.nim", 1060);
goto LA11_;
{
LA11_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
eqdestroy___stdZassertions_13((&msgX60gensym96_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA9_: ;
LA1_: ;
{
if (!((*jsonNode).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)0))) goto LA18_;
eqsink___stdZassertions_19((&(*dst)), TM__9b9bytt1stv9cZ8uqII7HFgew_64);
}
goto LA16_;
LA18_: ;
{
eqcopy___stdZassertions_16((&(*dst)), (*jsonNode)._kind_1.str);
}
LA16_: ;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, to__stdZjsonutils_561)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node) {
NimStringV2 result;
NimStringV2 jsonPath;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result.len = 0; result.p = NIM_NIL;
jsonPath.len = 0; jsonPath.p = NIM_NIL;
jsonPath = TM__9b9bytt1stv9cZ8uqII7HFgew_59;
initFromJson__pureZjson_5656((&result), node, (&jsonPath));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
eqdestroy___stdZassertions_13((&jsonPath));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
static N_INLINE(NimStringV2, spaces__pureZstrutils_1132)(NI n) {
NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result.len = 0; result.p = NIM_NIL;
result = nsuRepeatChar(32, n);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, indent__pureZjson_4701)(NimStringV2* s, NI i) {
NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD_ = spaces__pureZstrutils_1132(((NI) (i)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
prepareAdd((&(*s)), colontmpD_.len + 0);
appendString((&(*s)), colontmpD_);
eqdestroy___stdZassertions_13((&colontmpD_));
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, nl__pureZjson_4709)(NimStringV2* s, NIM_BOOL ml) {
NimStringV2 T1_;
T1_.len = 0; T1_.p = NIM_NIL;
{
if (!ml) goto LA4_;
T1_ = TM__9b9bytt1stv9cZ8uqII7HFgew_68;
}
goto LA2_;
LA4_: ;
{
T1_ = TM__9b9bytt1stv9cZ8uqII7HFgew_70;
}
LA2_: ;
prepareAdd((&(*s)), T1_.len + 0);
appendString((&(*s)), T1_);
}
N_LIB_PRIVATE N_NIMCALL(NI, newIndent__pureZjson_4704)(NI curr, NI indent, NIM_BOOL ml) {
NI result;
{ result = (NI)0;
{
if (!ml) goto LA3_;
result = (NI)(curr + indent);
goto BeforeRet_;
}
goto LA1_;
LA3_: ;
{
result = indent;
goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, toPretty__pureZjson_4761)(NimStringV2* result, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI indent, NIM_BOOL ml, NIM_BOOL lstArr, NI currIndent) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
switch ((*node).kind) {
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)5):
{
{
if (!lstArr) goto LA4_;
indent__pureZjson_4701(result, currIndent);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA4_: ;
{
NI T8_;
NI i;
T8_ = (NI)0;
T8_ = len__pureZjson_2501((&(*node)._kind_6.fields));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!(((NI)0) < T8_)) goto LA9_;
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_66);
nl__pureZjson_4709(result, ml);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i = ((NI)0);
{
NimStringV2 key;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val;
tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg colontmp_;
NI L;
key.len = 0; key.p = NIM_NIL;
val = NIM_NIL;
nimZeroMem((void*)(&colontmp_), sizeof(tyObject_OrderedTable__ZZvSdVkA2s2sIyifu4cpkg));
eqcopy___pureZjson_412((&colontmp_), (&(*node)._kind_6.fields));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
L = len__pureZjson_2501((&colontmp_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI h;
if (!(((NI)0) < colontmp_.counter)) goto LA14_;
h = colontmp_.first;
{
while (1) {
NI nxt;
if (!(((NI)0) <= h)) goto LA17 ;
nxt = colontmp_.data.p->data[h].Field1;
{
NIM_BOOL T20_;
NI T27_;
NI T28_;
T20_ = (NIM_BOOL)0;
T20_ = isFilled__pureZcollectionsZtables_33(colontmp_.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T20_) goto LA21_;
eqcopy___stdZassertions_16((&key), colontmp_.data.p->data[h].Field2);
eqcopy___pureZjson_274(&val, colontmp_.data.p->data[h].Field3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
if (!(((NI)0) < i)) goto LA25_;
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_71);
nl__pureZjson_4709(result, ml);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA25_: ;
i += ((NI)1);
T27_ = (NI)0;
T27_ = newIndent__pureZjson_4704(currIndent, indent, ml);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
indent__pureZjson_4701(result, T27_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
escapeJson__pureZjson_4733(key, result);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
prepareAdd((&(*result)), 2);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_73);
T28_ = (NI)0;
T28_ = newIndent__pureZjson_4704(currIndent, indent, ml);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
toPretty__pureZjson_4761(result, val, indent, ml, NIM_FALSE, T28_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA21_: ;
h = nxt;
} LA17: ;
}
}
LA14_: ;
eqdestroy___pureZjson_409((&colontmp_));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___pureZjson_271(&val);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&key));
}
nl__pureZjson_4709(result, ml);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
indent__pureZjson_4701(result, currIndent);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_74);
}
goto LA6_;
LA9_: ;
{
prepareAdd((&(*result)), 2);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_76);
}
LA6_: ;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)4):
{
{
if (!lstArr) goto LA33_;
indent__pureZjson_4701(result, currIndent);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA33_: ;
toUgly__pureZjson_4743(result, node);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)2):
{
{
if (!lstArr) goto LA38_;
indent__pureZjson_4701(result, currIndent);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA38_: ;
addInt__stdZprivateZdigitsutils_176(result, (*node)._kind_2.num);
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)3):
{
{
if (!lstArr) goto LA43_;
indent__pureZjson_4701(result, currIndent);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA43_: ;
addFloat__system_4386(result, (*node)._kind_3.fnum);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)1):
{
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
NimStringV2 T50_;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
{
if (!lstArr) goto LA48_;
indent__pureZjson_4701(result, currIndent);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA48_: ;
T50_.len = 0; T50_.p = NIM_NIL;
{
if (!(*node)._kind_4.bval) goto LA53_;
colontmpD_ = TM__9b9bytt1stv9cZ8uqII7HFgew_77;
T50_ = colontmpD_;
}
goto LA51_;
LA53_: ;
{
colontmpD__2 = TM__9b9bytt1stv9cZ8uqII7HFgew_78;
T50_ = colontmpD__2;
}
LA51_: ;
prepareAdd((&(*result)), T50_.len + 0);
appendString((&(*result)), T50_);
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)6):
{
{
if (!lstArr) goto LA59_;
indent__pureZjson_4701(result, currIndent);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA59_: ;
{
NI T63_;
T63_ = (*node)._kind_7.elems.len;
if (!!((T63_ == ((NI)0)))) goto LA64_;
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_79);
nl__pureZjson_4709(result, ml);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI i_2;
NI colontmp__2;
NI T67_;
NI res;
i_2 = (NI)0;
colontmp__2 = (NI)0;
T67_ = (*node)._kind_7.elems.len;
colontmp__2 = (NI)(T67_ - ((NI)1));
res = ((NI)0);
{
while (1) {
NI T74_;
if (!(res <= colontmp__2)) goto LA69 ;
i_2 = res;
{
if (!(((NI)0) < i_2)) goto LA72_;
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_80);
nl__pureZjson_4709(result, ml);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA72_: ;
T74_ = (NI)0;
T74_ = newIndent__pureZjson_4704(currIndent, indent, ml);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
toPretty__pureZjson_4761(result, (*node)._kind_7.elems.p->data[i_2], indent, ml, NIM_TRUE, T74_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
res += ((NI)1);
} LA69: ;
}
}
nl__pureZjson_4709(result, ml);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
indent__pureZjson_4701(result, currIndent);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
prepareAdd((&(*result)), 1);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_81);
}
goto LA61_;
LA64_: ;
{
prepareAdd((&(*result)), 2);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_83);
}
LA61_: ;
}
break;
case ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)0):
{
{
if (!lstArr) goto LA79_;
indent__pureZjson_4701(result, currIndent);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA79_: ;
prepareAdd((&(*result)), 4);
appendString((&(*result)), TM__9b9bytt1stv9cZ8uqII7HFgew_84);
}
break;
}
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, pretty__pureZjson_4843)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node, NI indent) {
NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result.len = 0; result.p = NIM_NIL;
result = TM__9b9bytt1stv9cZ8uqII7HFgew_65;
toPretty__pureZjson_4761((&result), node, indent, NIM_TRUE, NIM_FALSE, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__oLpBKXzW3hF9aCVMo5EymfQ, getElems__pureZjson_524)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* n, tySequence__oLpBKXzW3hF9aCVMo5EymfQ default_0) {
tySequence__oLpBKXzW3hF9aCVMo5EymfQ result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result.len = 0; result.p = NIM_NIL;
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = (n == 0);
if (T3_) goto LA4_;
T3_ = !(((*n).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)6)));
LA4_: ;
if (!T3_) goto LA5_;
eqcopy___pureZjson_220((&result), default_0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
goto LA1_;
LA5_: ;
{
eqcopy___pureZjson_220((&result), (*n)._kind_7.elems);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA1_: ;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initFromJson__pureZjson_5660)(NIM_BOOL* dst, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* jsonNode, NimStringV2* jsonPath) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
{
NIM_BOOL T3_;
tyObject_KeyError__3UUWz3XMhDptStqtPF49cMA* T6_;
NimStringV2 T7_;
T3_ = (NIM_BOOL)0;
T3_ = eqeq___pureZjson_2391(jsonNode, ((tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) NIM_NIL));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T3_) goto LA4_;
T6_ = NIM_NIL;
T6_ = (tyObject_KeyError__3UUWz3XMhDptStqtPF49cMA*) nimNewObj(sizeof(tyObject_KeyError__3UUWz3XMhDptStqtPF49cMA), NIM_ALIGNOF(tyObject_KeyError__3UUWz3XMhDptStqtPF49cMA));
(*T6_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__3UUWz3XMhDptStqtPF49cMA_);
(*T6_).Sup.Sup.Sup.name = "KeyError";
T7_.len = 0; T7_.p = NIM_NIL;
T7_ = rawNewString((*jsonPath).len + 15);
appendString((&T7_), TM__9b9bytt1stv9cZ8uqII7HFgew_86);
appendString((&T7_), (*jsonPath));
(*T6_).Sup.Sup.Sup.message = T7_;
(*T6_).Sup.Sup.Sup.parent = ((Exception*) NIM_NIL);
raiseExceptionEx((Exception*)T6_, "KeyError", "initFromJson", "json.nim", 1053);
goto BeforeRet_;
}
goto LA1_;
LA4_: ;
{
NimStringV2 msgX60gensym100_;
NimStringV2 colontmpD_;
NimStringV2 colontmpD__2;
tyArray__24KAM9afIUgUaqBaEBB6r9bg T12_;
tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw* T13_;
NimStringV2 blitTmp;
if (!!(((*jsonNode).kind == ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)1)))) goto LA9_;
msgX60gensym100_.len = 0; msgX60gensym100_.p = NIM_NIL;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
colontmpD_ = dollar___pureZjson_5735(2);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
T12_[0] = colontmpD_;
T12_[1] = (*jsonPath);
colontmpD__2 = dollar___pureZjson_23((*jsonNode).kind);
T12_[2] = colontmpD__2;
msgX60gensym100_ = nsuFormatOpenArray(TM__9b9bytt1stv9cZ8uqII7HFgew_87, T12_, 3);
if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
T13_ = NIM_NIL;
T13_ = (tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw*) nimNewObj(sizeof(tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw), NIM_ALIGNOF(tyObject_JsonKindError__rdnXHgdE6eiyK6cn26vKMw));
(*T13_).Sup.Sup.Sup.Sup.m_type = (&NTIv2__rdnXHgdE6eiyK6cn26vKMw_);
(*T13_).Sup.Sup.Sup.name = "JsonKindError";
blitTmp = msgX60gensym100_;
msgX60gensym100_.len = 0; msgX60gensym100_.p = NIM_NIL;
(*T13_).Sup.Sup.Sup.message = blitTmp;
(*T13_).Sup.Sup.Sup.parent = ((Exception*) NIM_NIL);
raiseExceptionEx((Exception*)T13_, "JsonKindError", "initFromJson", "json.nim", 1060);
goto LA11_;
{
LA11_:;
}
{
eqdestroy___stdZassertions_13((&colontmpD__2));
eqdestroy___stdZassertions_13((&colontmpD_));
eqdestroy___stdZassertions_13((&msgX60gensym100_));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA1_;
LA9_: ;
LA1_: ;
(*dst) = (*jsonNode)._kind_4.bval;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, to__extccomp_2494)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* node) {
NIM_BOOL result;
NimStringV2 jsonPath;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NIM_BOOL)0;
jsonPath.len = 0; jsonPath.p = NIM_NIL;
jsonPath = TM__9b9bytt1stv9cZ8uqII7HFgew_85;
initFromJson__pureZjson_5660((&result), node, (&jsonPath));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
eqdestroy___stdZassertions_13((&jsonPath));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJRawNumber__pureZjson_374)(NimStringV2 s) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
NimStringV2 colontmpD_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
result = NIM_NIL;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
T1_ = NIM_NIL;
T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) nimNewObjUninit(sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q), NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)4);
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
eqcopy___stdZassertions_16((&colontmpD_), s);
(*T1_)._kind_1.str = colontmpD_;
(*T1_).isUnquoted = NIM_TRUE;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJInt__pureZjson_377)(NI64 n) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
NI64 colontmpD_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
result = NIM_NIL;
colontmpD_ = (NI64)0;
T1_ = NIM_NIL;
T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) nimNewObj(sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q), NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)2);
colontmpD_ = n;
(*T1_)._kind_2.num = colontmpD_;
result = T1_;
return result;
}
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source, NI16 targetDepth, NU32 token) {
NIM_BOOL result;
NIM_BOOL T1_;
result = (NIM_BOOL)0;
T1_ = (NIM_BOOL)0;
T1_ = (targetDepth <= (*source).depth);
if (!(T1_)) goto LA2_;
T1_ = ((*source).display[targetDepth] == token);
LA2_: ;
result = T1_;
return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
Exception* result;
result = NIM_NIL;
result = currException__system_3668;
return result;
}
static N_INLINE(void, popCurrentException)(void) {
eqcopy___stdZassertions_33(&currException__system_3668, (*currException__system_3668).up, NIM_FALSE);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJFloat__pureZjson_380)(NF n) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
NF colontmpD_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
result = NIM_NIL;
colontmpD_ = (NF)0;
T1_ = NIM_NIL;
T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) nimNewObj(sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q), NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)3);
colontmpD_ = n;
(*T1_)._kind_3.fnum = colontmpD_;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJBool__pureZjson_383)(NIM_BOOL b) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
NIM_BOOL colontmpD_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
result = NIM_NIL;
colontmpD_ = (NIM_BOOL)0;
T1_ = NIM_NIL;
T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) nimNewObj(sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q), NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)1);
colontmpD_ = b;
(*T1_)._kind_4.bval = colontmpD_;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJNull__pureZjson_386)(void) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
result = NIM_NIL;
T1_ = NIM_NIL;
T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) nimNewObj(sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q), NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)0);
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJObject__pureZjson_388)(void) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
T1_ = NIM_NIL;
T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) nimNewObj(sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q), NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)5);
initOrderedTable__pureZjson_390(((NI)2), (&(*T1_)._kind_6.fields));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = T1_;
}BeforeRet_: ;
return result;
}
static N_INLINE(void, X5BX5Deq___pureZjson_2270)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* obj, NimStringV2 key, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = NIM_NIL;
colontmpD_ = 0;
eqcopy___pureZjson_274(&colontmpD_, val);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
X5BX5Deq___pureZjson_620((&(*obj)._kind_6.fields), key, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, newJArray__pureZjson_422)(void) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
result = NIM_NIL;
T1_ = NIM_NIL;
T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) nimNewObj(sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q), NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)6);
(*T1_)._kind_7.elems.len = 0; (*T1_)._kind_7.elems.p = (tySequence__oLpBKXzW3hF9aCVMo5EymfQ_Content*) newSeqPayload(0, sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*), NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*));
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(void, add__pureZjson_539)(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* father, tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* child) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
colontmpD_ = NIM_NIL;
colontmpD_ = 0;
eqcopy___pureZjson_274(&colontmpD_, child);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__pureZjson_549((&(*father)._kind_7.elems), colontmpD_);
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseJson__pureZjson_5571)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* p, NIM_BOOL rawIntegers, NIM_BOOL rawFloats, NI depth) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
NIM_BOOL oldNimErrFin51_;
NIM_BOOL oldNimErrFin74_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
switch ((*p).tok) {
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)2):
{
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T2_;
tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T3_;
T2_ = NIM_NIL;
T2_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) nimNewObj(sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q), NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
(*T2_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)4);
(*T2_)._kind_1.str = (*p).a;
(*p).a.len = 0; (*p).a.p = NIM_NIL;
result = T2_;
T3_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
T3_ = getTok__pureZparsejson_621(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T3_);
}
break;
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)3):
{
tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T17_;
{
if (!rawIntegers) goto LA7_;
result = newJRawNumber__pureZjson_374((*p).a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
goto LA5_;
LA7_: ;
{
NI64 T11_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T12_;
T11_ = (NI64)0;
T11_ = nsuParseBiggestInt((*p).a);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
T12_ = NIM_NIL;
T12_ = newJInt__pureZjson_377(T11_);
if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
result = T12_;
if (NIM_UNLIKELY(*nimErr_)) {
LA10_:;
if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 3978211584)) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T16_;
*nimErr_ = NIM_FALSE;
T16_ = NIM_NIL;
T16_ = newJRawNumber__pureZjson_374((*p).a);
if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
result = T16_;
popCurrentException();
LA14_:;
}
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA5_: ;
T17_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
T17_ = getTok__pureZparsejson_621(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T17_);
}
break;
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)4):
{
tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T32_;
{
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T23_;
if (!rawFloats) goto LA21_;
T23_ = NIM_NIL;
T23_ = newJRawNumber__pureZjson_374((*p).a);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = T23_;
}
goto LA19_;
LA21_: ;
{
NF T26_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T27_;
T26_ = (NF)0;
T26_ = nsuParseFloat((*p).a);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
T27_ = NIM_NIL;
T27_ = newJFloat__pureZjson_380(T26_);
if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
result = T27_;
if (NIM_UNLIKELY(*nimErr_)) {
LA25_:;
if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 3978211584)) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T31_;
*nimErr_ = NIM_FALSE;
T31_ = NIM_NIL;
T31_ = newJRawNumber__pureZjson_374((*p).a);
if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
result = T31_;
popCurrentException();
LA29_:;
}
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA19_: ;
T32_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
T32_ = getTok__pureZparsejson_621(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T32_);
}
break;
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)5):
{
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T34_;
tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T35_;
T34_ = NIM_NIL;
T34_ = newJBool__pureZjson_383(NIM_TRUE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = T34_;
T35_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
T35_ = getTok__pureZparsejson_621(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T35_);
}
break;
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)6):
{
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T37_;
tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T38_;
T37_ = NIM_NIL;
T37_ = newJBool__pureZjson_383(NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = T37_;
T38_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
T38_ = getTok__pureZparsejson_621(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T38_);
}
break;
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)7):
{
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T40_;
tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T41_;
T40_ = NIM_NIL;
T40_ = newJNull__pureZjson_386();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = T40_;
T41_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
T41_ = getTok__pureZparsejson_621(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T41_);
}
break;
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)8):
{
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T47_;
tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T48_;
{
if (!(((NI)1000) < depth)) goto LA45_;
raiseParseErr__pureZparsejson_796((&(*p)), TM__9b9bytt1stv9cZ8uqII7HFgew_90);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA45_: ;
T47_ = NIM_NIL;
T47_ = newJObject__pureZjson_388();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = T47_;
T48_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
T48_ = getTok__pureZparsejson_621(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T48_);
{
while (1) {
NimStringV2 key;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* val;
tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T56_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T57_;
tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T62_;
if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)9)))) goto LA50 ;
key.len = 0; key.p = NIM_NIL;
val = NIM_NIL;
{
if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)2)))) goto LA54_;
raiseParseErr__pureZparsejson_796((&(*p)), TM__9b9bytt1stv9cZ8uqII7HFgew_92);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
}
LA54_: ;
eqcopy___stdZassertions_16((&key), (*p).a);
T56_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
T56_ = getTok__pureZparsejson_621(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
(void)(T56_);
eat__pureZparsejson_837(p, ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)12));
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
T57_ = NIM_NIL;
T57_ = parseJson__pureZjson_5571(p, rawIntegers, rawFloats, (NI)(depth + ((NI)1)));
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
val = T57_;
X5BX5Deq___pureZjson_2270(result, key, val);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
{
if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)13)))) goto LA60_;
eqdestroy___pureZjson_271(&val);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&key));
goto LA49;
}
LA60_: ;
T62_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
T62_ = getTok__pureZparsejson_621(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
(void)(T62_);
{
LA51_:;
}
{
oldNimErrFin51_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___pureZjson_271(&val);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___stdZassertions_13((&key));
*nimErr_ = oldNimErrFin51_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA50: ;
} LA49: ;
eat__pureZparsejson_837(p, ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)9));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)10):
{
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T70_;
tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T71_;
{
if (!(((NI)1000) < depth)) goto LA68_;
raiseParseErr__pureZparsejson_796((&(*p)), TM__9b9bytt1stv9cZ8uqII7HFgew_93);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA68_: ;
T70_ = NIM_NIL;
T70_ = newJArray__pureZjson_422();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
result = T70_;
T71_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
T71_ = getTok__pureZparsejson_621(p);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
(void)(T71_);
{
while (1) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T75_;
tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T80_;
if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)11)))) goto LA73 ;
colontmpD_ = NIM_NIL;
T75_ = NIM_NIL;
T75_ = parseJson__pureZjson_5571(p, rawIntegers, rawFloats, (NI)(depth + ((NI)1)));
if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
colontmpD_ = T75_;
add__pureZjson_539(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
{
if (!!(((*p).tok == ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)13)))) goto LA78_;
eqdestroy___pureZjson_271(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto LA72;
}
LA78_: ;
T80_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
T80_ = getTok__pureZparsejson_621(p);
if (NIM_UNLIKELY(*nimErr_)) goto LA74_;
(void)(T80_);
{
LA74_:;
}
{
oldNimErrFin74_ = *nimErr_; *nimErr_ = NIM_FALSE;
eqdestroy___pureZjson_271(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
*nimErr_ = oldNimErrFin74_;
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA73: ;
} LA72: ;
eat__pureZparsejson_837(p, ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)11));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0):
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)9):
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)11):
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)12):
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)13):
case ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)1):
{
raiseParseErr__pureZparsejson_796((&(*p)), TM__9b9bytt1stv9cZ8uqII7HFgew_94);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
break;
}
}BeforeRet_: ;
return result;
}
static N_INLINE(void, close__pureZparsejson_320)(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ* my) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
close__pureZlexbase_15(&my->Sup);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseJson__pureZjson_5612)(tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ* s, NimStringV2 filename, NIM_BOOL rawIntegers, NIM_BOOL rawFloats) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ p;
tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw T3_;
NIM_BOOL oldNimErrFin2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
nimZeroMem((void*)(&p), sizeof(tyObject_JsonParser__KWIQnzXEOUqdWsnCUL9atyQ));
p.Sup.Sup.m_type = (&NTIv2__KWIQnzXEOUqdWsnCUL9atyQ_);
open__pureZparsejson_128((&p), s, filename, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T3_ = (tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)0;
T3_ = getTok__pureZparsejson_621((&p));
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
(void)(T3_);
result = parseJson__pureZjson_5571((&p), rawIntegers, rawFloats, ((NI)0));
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
eat__pureZparsejson_837((&p), ((tyEnum_TokKind__Q9c4KaNqJU4PbXaGht0C7iw)1));
if (NIM_UNLIKELY(*nimErr_)) goto LA2_;
{
LA2_:;
}
{
oldNimErrFin2_ = *nimErr_; *nimErr_ = NIM_FALSE;
close__pureZparsejson_320((&p));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
*nimErr_ = oldNimErrFin2_;
}
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
eqdestroy___pureZparsejson_156((&p));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, parseFile__pureZjson_5624)(NimStringV2 filename) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ* stream;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
stream = NIM_NIL;
stream = newFileStream__pureZstreams_929(filename, ((tyEnum_FileMode__4sJyy9aOSN8X63XdWXl5iDg)0), ((NI)-1));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
tyObject_IOError__N09bhl56nRkUaUsonzshECg* T6_;
NimStringV2 T7_;
if (!(stream == ((tyObject_FileStreamObj__9bEVSsOIpkY9cf5lCtaS39bPQ*) NIM_NIL))) goto LA4_;
T6_ = NIM_NIL;
T6_ = (tyObject_IOError__N09bhl56nRkUaUsonzshECg*) nimNewObj(sizeof(tyObject_IOError__N09bhl56nRkUaUsonzshECg), NIM_ALIGNOF(tyObject_IOError__N09bhl56nRkUaUsonzshECg));
(*T6_).Sup.Sup.Sup.m_type = (&NTIv2__N09bhl56nRkUaUsonzshECg_);
(*T6_).Sup.Sup.name = "IOError";
T7_.len = 0; T7_.p = NIM_NIL;
T7_ = rawNewString(filename.len + 23);
appendString((&T7_), TM__9b9bytt1stv9cZ8uqII7HFgew_89);
appendString((&T7_), filename);
(*T6_).Sup.Sup.message = T7_;
(*T6_).Sup.Sup.parent = ((Exception*) NIM_NIL);
raiseExceptionEx((Exception*)T6_, "IOError", "parseFile", "json.nim", 1045);
goto LA1_;
}
LA4_: ;
result = parseJson__pureZjson_5612((*((tyObject_StreamObj__THYguAi9bSgidczZ3ywEIMQ**) (&(stream)))), filename, NIM_FALSE, NIM_FALSE);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
{
LA1_:;
}
{
eqdestroy___pureZstreams_844(&stream);
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_2130)(NimStringV2 s) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
NimStringV2 colontmpD_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
result = NIM_NIL;
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
T1_ = NIM_NIL;
T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) nimNewObj(sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q), NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)4);
colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
eqcopy___stdZassertions_16((&colontmpD_), s);
(*T1_)._kind_1.str = colontmpD_;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_2156)(NIM_BOOL b) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
NIM_BOOL colontmpD_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
result = NIM_NIL;
colontmpD_ = (NIM_BOOL)0;
T1_ = NIM_NIL;
T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) nimNewObj(sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q), NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)1);
colontmpD_ = b;
(*T1_)._kind_4.bval = colontmpD_;
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_2140)(NI n) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
NI colontmpD_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* T1_;
result = NIM_NIL;
colontmpD_ = (NI)0;
T1_ = NIM_NIL;
T1_ = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*) nimNewObj(sizeof(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q), NIM_ALIGNOF(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q));
(*T1_).kind = ((tyEnum_JsonNodeKind__RUngo7nCHe6O8aBGIcrhtg)2);
colontmpD_ = n;
(*T1_)._kind_2.num = ((NI64) (colontmpD_));
result = T1_;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___jsgen_7074)(NimStringV2* elements, NI elementsLen_0) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newJArray__pureZjson_422();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NimStringV2* elem;
NI i;
elem = (NimStringV2*)0;
i = ((NI)0);
{
while (1) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD_;
if (!(i < elementsLen_0)) goto LA3 ;
colontmpD_ = NIM_NIL;
elem = (&elements[i]);
colontmpD_ = percent___pureZjson_2130((*elem));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__pureZjson_539(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i += ((NI)1);
eqdestroy___pureZjson_271(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA3: ;
}
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___jsgen_7067)(tyObject_SourceMap__zVPgRO1YHLSfITsOPFuiMA* o) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD__2;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD__3;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD__4;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD__5;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
colontmpD__5 = NIM_NIL;
result = newJObject__pureZjson_388();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD_ = percent___pureZjson_2140((*o).version);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
X5BX5Deq___pureZjson_2270(result, TM__9b9bytt1stv9cZ8uqII7HFgew_96, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = percent___jsgen_7074((((*o).sources).p) ? ((*o).sources.p->data) : NIM_NIL, (*o).sources.len);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
X5BX5Deq___pureZjson_2270(result, TM__9b9bytt1stv9cZ8uqII7HFgew_98, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__3 = percent___jsgen_7074((((*o).names).p) ? ((*o).names.p->data) : NIM_NIL, (*o).names.len);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
X5BX5Deq___pureZjson_2270(result, TM__9b9bytt1stv9cZ8uqII7HFgew_100, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__4 = percent___pureZjson_2130((*o).mappings);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
X5BX5Deq___pureZjson_2270(result, TM__9b9bytt1stv9cZ8uqII7HFgew_102, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__5 = percent___pureZjson_2130((*o).file);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
X5BX5Deq___pureZjson_2270(result, TM__9b9bytt1stv9cZ8uqII7HFgew_104, colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___pureZjson_271(&colontmpD__5);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___pureZjson_271(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___pureZjson_271(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___pureZjson_271(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___pureZjson_271(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___docgen_11669)(tyObject_Table__Ji6x6JQ0gVMaFr8AIk18Ug table) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newJObject__pureZjson_388();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NimStringV2 k;
NimStringV2 v;
NI L;
k.len = 0; k.p = NIM_NIL;
v.len = 0; v.p = NIM_NIL;
L = len__docgen_11722(table);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NI h;
NI colontmp_;
NI T3_;
NI res;
h = (NI)0;
colontmp_ = (NI)0;
T3_ = (table.data.len-1);
colontmp_ = T3_;
res = ((NI)0);
{
while (1) {
if (!(res <= colontmp_)) goto LA5 ;
h = res;
{
NIM_BOOL T8_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD_;
T8_ = (NIM_BOOL)0;
T8_ = isFilled__pureZcollectionsZtables_33(table.data.p->data[h].Field0);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
if (!T8_) goto LA9_;
colontmpD_ = NIM_NIL;
eqcopy___stdZassertions_16((&k), table.data.p->data[h].Field1);
eqcopy___stdZassertions_16((&v), table.data.p->data[h].Field2);
colontmpD_ = percent___pureZjson_2130(v);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
X5BX5Deq___pureZjson_2270(result, k, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___pureZjson_271(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}
LA9_: ;
res += ((NI)1);
} LA5: ;
}
}
eqdestroy___stdZassertions_13((&v));
eqdestroy___stdZassertions_13((&k));
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___pureZjson_2159)(tyTuple__jq7X5k7hWG0tdTZTDkiyGQ* keyVals, NI keyValsLen_0) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
{
if (!(keyValsLen_0 == ((NI)0))) goto LA3_;
result = newJArray__pureZjson_422();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
goto BeforeRet_;
}
LA3_: ;
result = newJObject__pureZjson_388();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
NimStringV2* key;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q** val;
NI i;
key = (NimStringV2*)0;
val = (tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q**)0;
i = ((NI)0);
{
while (1) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD_;
if (!(i < keyValsLen_0)) goto LA7 ;
colontmpD_ = NIM_NIL;
key = (&keyVals[i].Field0);
val = &keyVals[i].Field1;
colontmpD_ = 0;
eqcopy___pureZjson_274(&colontmpD_, (*val));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
X5BX5Deq___pureZjson_620((&(*result)._kind_6.fields), (*key), colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i += ((NI)1);
} LA7: ;
}
}
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___docgen_13491)(tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* o) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD_;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD__2;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD__3;
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD__4;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
colontmpD_ = NIM_NIL;
colontmpD__2 = NIM_NIL;
colontmpD__3 = NIM_NIL;
colontmpD__4 = NIM_NIL;
result = newJObject__pureZjson_388();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD_ = percent___pureZjson_2130((*o).keyword);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
X5BX5Deq___pureZjson_2270(result, TM__9b9bytt1stv9cZ8uqII7HFgew_106, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__2 = percent___pureZjson_2130((*o).link);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
X5BX5Deq___pureZjson_2270(result, TM__9b9bytt1stv9cZ8uqII7HFgew_108, colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__3 = percent___pureZjson_2130((*o).linkTitle);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
X5BX5Deq___pureZjson_2270(result, TM__9b9bytt1stv9cZ8uqII7HFgew_110, colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
colontmpD__4 = percent___pureZjson_2130((*o).linkDesc);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
X5BX5Deq___pureZjson_2270(result, TM__9b9bytt1stv9cZ8uqII7HFgew_112, colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___pureZjson_271(&colontmpD__4);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___pureZjson_271(&colontmpD__3);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___pureZjson_271(&colontmpD__2);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
eqdestroy___pureZjson_271(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q*, percent___docgen_13474)(tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* elements, NI elementsLen_0) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = NIM_NIL;
result = newJArray__pureZjson_422();
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
{
tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A* elem;
NI i;
elem = (tyObject_IndexEntry__fxsh1PMzYjb64GNihAaS4A*)0;
i = ((NI)0);
{
while (1) {
tyObject_JsonNodeObj__df9bshXB7C9cTiWPIOtX3j1Q* colontmpD_;
if (!(i < elementsLen_0)) goto LA3 ;
colontmpD_ = NIM_NIL;
elem = (&elements[i]);
colontmpD_ = percent___docgen_13491((&(*elem)));
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
add__pureZjson_539(result, colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
i += ((NI)1);
eqdestroy___pureZjson_271(&colontmpD_);
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
} LA3: ;
}
}
}BeforeRet_: ;
return result;
}