/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ /* Compiled for: Linux, amd64, gcc */ /* Command for C compiler: gcc -c -w -O3 -fno-strict-aliasing -I/afs/athena.mit.edu/software/nim-lang_v0.16.0/nim-0.16.0/lib -o tools/nimsuggest/nimcache/compiler_types.o tools/nimsuggest/nimcache/compiler_types.c */ #define NIM_INTBITS 64 #include "nimbase.h" #include #undef linux typedef struct Tnode_bROa11lyF5vxEN9aYNbHmhw Tnode_bROa11lyF5vxEN9aYNbHmhw; typedef struct Ttype_LTUWCZolpovw9cWE3JBWSUw Ttype_LTUWCZolpovw9cWE3JBWSUw; typedef struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw; typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct Tsym_AXG7xcvKqaxY6koRX1xkCw Tsym_AXG7xcvKqaxY6koRX1xkCw; typedef struct Tident_4umxGerWTHGPwUms7Yqu3g Tident_4umxGerWTHGPwUms7Yqu3g; typedef struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ; typedef struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg Tidobj_raN9cHVgzmvaXisezY9aGg9cg; typedef struct TNimObject TNimObject; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct TY_zuqP4Riz26Oi5fWgPYVEgA TY_zuqP4Riz26Oi5fWgPYVEgA; typedef struct TY_iGkpo9aKQdr3NWelKC4cnJA TY_iGkpo9aKQdr3NWelKC4cnJA; typedef struct Tloc_EtHNvCB0bgfu9bFjzx9cb6aA Tloc_EtHNvCB0bgfu9bFjzx9cb6aA; typedef struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ Ropeobj_HF4qJnb6xiOddgPmsxodtQ; typedef struct TY_DXS6mEo7PVUFJkirsQ9bNQA TY_DXS6mEo7PVUFJkirsQ9bNQA; typedef struct Tstrtable_f07aOS3dr28kGa5wcE29aFA Tstrtable_f07aOS3dr28kGa5wcE29aFA; typedef struct TY_sksVpmPRIkNR9axiwtD1Guw TY_sksVpmPRIkNR9axiwtD1Guw; typedef struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA Tlib_4f9aBgmqEuj7uWJdBBGcRgA; typedef struct TY_dRkMGUPOSmkGlhHeIeiomQ TY_dRkMGUPOSmkGlhHeIeiomQ; typedef struct TY_XOVT24GHXwqiEj5GCsEGCA TY_XOVT24GHXwqiEj5GCsEGCA; typedef struct Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg; typedef struct TY_8Np6tlClE5az1CyqZdN19bQ TY_8Np6tlClE5az1CyqZdN19bQ; typedef struct TY_1v9bKyksXWMsm0vNwmZ4EuQ TY_1v9bKyksXWMsm0vNwmZ4EuQ; typedef struct Intset_PQrmFm4BXFkFSVOUl1ojSg Intset_PQrmFm4BXFkFSVOUl1ojSg; typedef struct Trunk_ul49aWfv9aes8cutmeltT3gQ Trunk_ul49aWfv9aes8cutmeltT3gQ; typedef struct TY_9brg1xNurxcus33lU4IE1Dw TY_9brg1xNurxcus33lU4IE1Dw; typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg; typedef struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA; typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q; struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw { NI16 line; NI16 col; NI32 fileindex; }; typedef NU16 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set; typedef NU8 Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct Tnode_bROa11lyF5vxEN9aYNbHmhw { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info; Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set flags; Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind; union{ struct {NI64 intval; } S1; struct {NF floatval; } S2; struct {NimStringDesc* strval; } S3; struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; } S4; struct {Tident_4umxGerWTHGPwUms7Yqu3g* ident; } S5; struct {TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons; } S6; } kindU; NimStringDesc* comment; }; typedef NU8 Ordinaltype_ZU6odCXXrXxl9axSbawmvng; typedef NU64 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set; typedef NU8 Tnimkind_jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set; typedef N_NIMCALL_PTR(void, TY_ojoeKfW4VYIm36I9cpDTQIg) (void* p0, NI op0); typedef N_NIMCALL_PTR(void*, TY_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p0); struct TNimType { NI size; Tnimkind_jIBKr1ejBgsfM33Kxw4j7A kind; Tnimtypeflag_v8QUszD1sWlSIWZz7mC4bQ_Set flags; TNimType* base; TNimNode* node; void* finalizer; TY_ojoeKfW4VYIm36I9cpDTQIg marker; TY_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; struct TNimObject { TNimType* m_type; }; struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg { TNimObject Sup; NI id; }; typedef NU8 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag; typedef NU8 Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA; typedef NU32 Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set; typedef NU8 Tlockind_O7PRFZKuiBBWbku09cayVBg; typedef NU8 Tstorageloc_JK9cKMX3XnqHaUky9b6gkGEw; typedef NU16 Tlocflag_o2bqJgR4ceIupnUSpxiudA_Set; struct Tloc_EtHNvCB0bgfu9bFjzx9cb6aA { Tlockind_O7PRFZKuiBBWbku09cayVBg k; Tstorageloc_JK9cKMX3XnqHaUky9b6gkGEw s; Tlocflag_o2bqJgR4ceIupnUSpxiudA_Set flags; Ttype_LTUWCZolpovw9cWE3JBWSUw* t; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* r; }; struct Ttype_LTUWCZolpovw9cWE3JBWSUw { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind; Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA callconv; Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set flags; TY_zuqP4Riz26Oi5fWgPYVEgA* sons; Tnode_bROa11lyF5vxEN9aYNbHmhw* n; Tsym_AXG7xcvKqaxY6koRX1xkCw* owner; Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; Tsym_AXG7xcvKqaxY6koRX1xkCw* destructor; Tsym_AXG7xcvKqaxY6koRX1xkCw* deepcopy; Tsym_AXG7xcvKqaxY6koRX1xkCw* assignment; TY_iGkpo9aKQdr3NWelKC4cnJA* methods; NI64 size; NI16 align; NI16 locklevel; Tloc_EtHNvCB0bgfu9bFjzx9cb6aA loc; Ttype_LTUWCZolpovw9cWE3JBWSUw* typeinst; }; typedef NU8 Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw; typedef NU8 Tsymkind_cNCW9acsSznmEccl1fgQwkw; struct Tstrtable_f07aOS3dr28kGa5wcE29aFA { NI counter; TY_sksVpmPRIkNR9axiwtD1Guw* data; }; typedef NU16 Tmagic_shZhZOdbVC5nnFvcXQAImg; typedef NU32 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set; typedef NU32 Toption_WspMeQySXNP2XoTWR5MTgg_Set; struct Tsym_AXG7xcvKqaxY6koRX1xkCw { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; Tsymkind_cNCW9acsSznmEccl1fgQwkw kind; union{ struct {TY_zuqP4Riz26Oi5fWgPYVEgA* typeinstcache; } S1; struct {TY_DXS6mEo7PVUFJkirsQ9bNQA* procinstcache; Tsym_AXG7xcvKqaxY6koRX1xkCw* gcunsafetyreason; } S2; struct {TY_DXS6mEo7PVUFJkirsQ9bNQA* usedgenerics; Tstrtable_f07aOS3dr28kGa5wcE29aFA tab; } S3; struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* guard; NI bitsize; } S4; } kindU; Tmagic_shZhZOdbVC5nnFvcXQAImg magic; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ; Tident_4umxGerWTHGPwUms7Yqu3g* name; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info; Tsym_AXG7xcvKqaxY6koRX1xkCw* owner; Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set flags; Tnode_bROa11lyF5vxEN9aYNbHmhw* ast; Toption_WspMeQySXNP2XoTWR5MTgg_Set options; NI position; NI offset; Tloc_EtHNvCB0bgfu9bFjzx9cb6aA loc; Tlib_4f9aBgmqEuj7uWJdBBGcRgA* annex; Tnode_bROa11lyF5vxEN9aYNbHmhw* constraint; TY_dRkMGUPOSmkGlhHeIeiomQ* allusages; }; typedef NU8 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw; struct Tident_4umxGerWTHGPwUms7Yqu3g { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; NimStringDesc* s; Tident_4umxGerWTHGPwUms7Yqu3g* next; NI h; }; typedef NU8 Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw; typedef NimStringDesc* TY_bbp1aDajeunm5PPjRzxB3A[63]; struct TY_XOVT24GHXwqiEj5GCsEGCA { NimStringDesc* Field0; NI Field1; }; typedef NU8 Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set; typedef NimStringDesc* TY_t1sx1FVcaX4m77XqENedIQ[10]; typedef NU8 Tdistinctcompare_9bNKHGs63atuMFXnAleTveg; typedef NU8 Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set; struct Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg { Tdistinctcompare_9bNKHGs63atuMFXnAleTveg cmp; NI reccheck; Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags; TY_8Np6tlClE5az1CyqZdN19bQ* s; }; typedef NU8 Ttypecmpflag_72pgRXSg7774cr9aCWVPORw; struct TY_1v9bKyksXWMsm0vNwmZ4EuQ { NI Field0; NI Field1; }; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; typedef N_NIMCALL_PTR(NIM_BOOL, TY_NyobeEdbOSlSSjn9aphc2Fg) (Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, TNimObject* closure0); struct Intset_PQrmFm4BXFkFSVOUl1ojSg { NI counter; NI max; Trunk_ul49aWfv9aes8cutmeltT3gQ* head; TY_9brg1xNurxcus33lU4IE1Dw* data; }; typedef NU16 Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw; typedef NU8 Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ; typedef NU8 Ttypeallowedflag_wySCBkY0DFkxIXMhoVC4cw_Set; typedef NU8 Ttypeallowedflag_wySCBkY0DFkxIXMhoVC4cw; typedef NimStringDesc* TY_nHXaesL0DJZHyVS07ARPRA[1]; typedef N_NIMCALL_PTR(NIM_BOOL, TY_f9aI9cpkJD9arSwlllnVyZsvw) (Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); struct TY_a09bGTAl9ceOKTAytYdkbyKg { NI Field0; Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1; }; struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ { TNimObject Sup; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* left; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* right; NI length; NimStringDesc* data; }; struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q { TNimObject Sup; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* prev; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* next; }; typedef NU8 Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ; struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup; Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ kind; NIM_BOOL generated; NIM_BOOL isoverriden; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* name; Tnode_bROa11lyF5vxEN9aYNbHmhw* path; }; typedef NI TY_9a8QARi5WsUggNU9bom7kzTQ[8]; struct Trunk_ul49aWfv9aes8cutmeltT3gQ { Trunk_ul49aWfv9aes8cutmeltT3gQ* next; NI key; TY_9a8QARi5WsUggNU9bom7kzTQ bits; }; struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA { Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes; NI compilesid; }; struct TY_8Np6tlClE5az1CyqZdN19bQ { TGenericSeq Sup; TY_1v9bKyksXWMsm0vNwmZ4EuQ data[SEQ_DECL_SIZE]; }; struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ { TGenericSeq Sup; Tnode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE]; }; struct TY_zuqP4Riz26Oi5fWgPYVEgA { TGenericSeq Sup; Ttype_LTUWCZolpovw9cWE3JBWSUw* data[SEQ_DECL_SIZE]; }; struct TY_iGkpo9aKQdr3NWelKC4cnJA { TGenericSeq Sup; TY_a09bGTAl9ceOKTAytYdkbyKg data[SEQ_DECL_SIZE]; }; struct TY_DXS6mEo7PVUFJkirsQ9bNQA { TGenericSeq Sup; Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE]; }; struct TY_sksVpmPRIkNR9axiwtD1Guw { TGenericSeq Sup; Tsym_AXG7xcvKqaxY6koRX1xkCw* data[SEQ_DECL_SIZE]; }; struct TY_dRkMGUPOSmkGlhHeIeiomQ { TGenericSeq Sup; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw data[SEQ_DECL_SIZE]; }; struct TY_9brg1xNurxcus33lU4IE1Dw { TGenericSeq Sup; Trunk_ul49aWfv9aes8cutmeltT3gQ* data[SEQ_DECL_SIZE]; }; N_NIMCALL(Ordinaltype_ZU6odCXXrXxl9axSbawmvng, classify_cHv9bjI47MqMiPg4S9bMpgpw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skiptypes_pLCdCGDuirMe9cspwviV9aVA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set kinds0); N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); static N_INLINE(NIM_BOOL, isintlit_UBQknCC9aYWKMNMK4dmeTlQtypes)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0); static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0); N_NIMCALL(NimStringDesc*, nimInt64ToStr)(NI64 x0); N_NIMCALL(NimStringDesc*, rawNewString)(NI space0); static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0); static N_INLINE(void, addtypeflags_FkNtBzSgOeN9cOW1QlQgmZAtypes)(NimStringDesc** name0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0); N_NIMCALL(NimStringDesc*, typetostring_iUZlBdvGqNPVN17wd9aVBNw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0); N_NIMCALL(NI, sonslen_gG7hUAX9cA629ahMLVL3xN4w)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0); N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0); N_NIMCALL(NI, len_gG7hUAX9cA629ahMLVL3xN4w_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0); N_NIMCALL(void, internalerror_5XY9cUy7hZmUusM38U9cYYdw)(NimStringDesc* errmsg0); N_NIMCALL(NimStringDesc*, HEX24_k53Ge4e9cDjc7y9c5uML7sPQ)(TY_XOVT24GHXwqiEj5GCsEGCA x0); N_NIMCALL(NimStringDesc*, rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set renderflags0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, base_46gPaVDDGhiU69b2oKDJZuA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NimStringDesc*, rangetostr_AfATazhewxRGQkx0D24ufA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NimStringDesc*, valuetostring_ENsrF120OrufdnT9cC1VTDA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0); N_NIMCALL(NimStringDesc*, nimFloatToStr)(NF f0); N_NIMCALL(NI, sonslen_qPWPHw7WgJeEVYUdcaRIig)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s0, NI newlen0); static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAparser)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0); static N_INLINE(void, addsep_MU0XMi5AVpdh0BqjLN4aUgtypes)(NimStringDesc** dest0, NimStringDesc* sep0, NI startlen0); N_NIMCALL(NimStringDesc*, HEX24_7U5mhhMT9aokoOIuJFuFlgw)(NI16 x0); N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr0, NimStringDesc* a0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, elemtype_46gPaVDDGhiU69b2oKDJZuA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, lastson_E41DMKHtT9c6sAMyyvhmSIw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0); N_NIMCALL(void, initsametypeclosure_2P7fxxcDXEp7I2U7Lvg2Ow)(Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* Result); N_NOINLINE(void, chckNil)(void* p0); N_NIMCALL(NIM_BOOL, sametypeaux_jufViiaZhlISjPYcUqDq4A)(Ttype_LTUWCZolpovw9cWE3JBWSUw* x0, Ttype_LTUWCZolpovw9cWE3JBWSUw* y0, Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skipgenericalias_46gPaVDDGhiU69b2oKDJZuA_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NIM_BOOL, isgenericalias_XI7vH8jtAcp7rWqTmfZOSg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); static N_INLINE(NIM_BOOL, sameflags_8v4PltvnKUFVoINNTE260gtypes)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0); N_NIMCALL(NIM_BOOL, exprstructuralequivalent_XApnXRaD9btY9a4pkMO0ITTg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0, NIM_BOOL strictsymequality0); N_NIMCALL(NIM_BOOL, containsorincl_7l663Oqh9aIWgZmcIVG0fcA)(Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0); static N_INLINE(NIM_BOOL, contains_fyTcpO9cj9bNGb2IG09bkkbgAtypes)(TY_1v9bKyksXWMsm0vNwmZ4EuQ* a0, NI a0Len0, TY_1v9bKyksXWMsm0vNwmZ4EuQ item0); static N_INLINE(NI, find_zsQhi9afMWfjVjhN29c3B4Qgtypes)(TY_1v9bKyksXWMsm0vNwmZ4EuQ* a0, NI a0Len0, TY_1v9bKyksXWMsm0vNwmZ4EuQ item0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_acdBa63tG7KT1YiswWh3aw)(TY_1v9bKyksXWMsm0vNwmZ4EuQ x0, TY_1v9bKyksXWMsm0vNwmZ4EuQ y0); static N_NIMCALL(void, Marker_TY_8Np6tlClE5az1CyqZdN19bQ)(void* p, NI op); N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0); N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0); N_NIMCALL(NIM_BOOL, sameobjectstructures_1zgxfz85pZKmnPKeJCdIgg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0); N_NIMCALL(NIM_BOOL, sametypeornilaux_1zgxfz85pZKmnPKeJCdIgg_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0); N_NIMCALL(NIM_BOOL, sameobjecttree_p2Gkr9cujTwj6KyP27x5biA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0, Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0); static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0); static N_INLINE(NIM_BOOL, equalmem_fmeFeLBvgmAHG9bC8ETS9bYQropes)(void* a0, void* b0, NI size0); N_NIMCALL(NIM_BOOL, sametuple_1zgxfz85pZKmnPKeJCdIgg_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0); N_NIMCALL(void, internalerror_MXmtqrCmYwtOPkDCFgUWKQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* errmsg0); N_NIMCALL(NIM_BOOL, samechildrenaux_1zgxfz85pZKmnPKeJCdIgg_4)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0); N_NIMCALL(NIM_BOOL, sameconstraints_WK4tUt32lZCKwW9a889a8iZA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0); N_NIMCALL(NIM_BOOL, samevalue_1Qdwg1ZguEjbL3mmgPJD3w)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0); N_NIMCALL(NIM_BOOL, iterovertype_rDNOWZMlejde2paeU0RUPw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, TY_NyobeEdbOSlSSjn9aphc2Fg iter0, TNimObject* closure0); N_NIMCALL(void, initintset_a9a80eJplB17xrdZJ41Baww)(Intset_PQrmFm4BXFkFSVOUl1ojSg* Result); N_NIMCALL(NIM_BOOL, iterovertypeaux_lCvieyNneYr00sIeGgjzrQ)(Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, TY_NyobeEdbOSlSSjn9aphc2Fg iter0, TNimObject* closure0); N_NIMCALL(NIM_BOOL, containsorincl_B0EhVMrh5BBBZOOtYjAvVg)(Intset_PQrmFm4BXFkFSVOUl1ojSg* s0, NI key0); N_NIMCALL(NIM_BOOL, iterovernode_IQ3sEyjkF9bhgYTOyoLg9aAA)(Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_NyobeEdbOSlSSjn9aphc2Fg iter0, TNimObject* closure0); N_NIMCALL(NIM_BOOL, containsgenerictypeiter_wFBp0ZmhldCEmaYdVP9cn1Q)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, TNimObject* closure0); N_NIMCALL(NI64, firstord_HUiBYxvKiECXCv8BzQNheg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NI64, getordvalue_MzTDl1zEXJLD4sql7PhCwA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, localerror_VpilfPWbplGz6ny7O9cfr2g_2)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0); N_NIMCALL(NimStringDesc*, reprEnum)(NI e0, TNimType* typ0); N_NIMCALL(NI64, lastord_HUiBYxvKiECXCv8BzQNheg_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NI64, lengthord_HUiBYxvKiECXCv8BzQNheg_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NIM_BOOL, isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NIM_BOOL, compatibleeffectsaux_0LGOh2tH40vyDRxMMzL9bOA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* se0, Tnode_bROa11lyF5vxEN9aYNbHmhw* re0); N_NIMCALL(NI, safeinheritancediff_kaOr3lZpnYFOzmAx9cN5LiA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0); N_NIMCALL(NI, inheritancediff_kaOr3lZpnYFOzmAx9cN5LiA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0); N_NIMCALL(NIM_BOOL, sameobjecttypes_bXxjiP8HPzKjOso3AVsG5w)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0); N_NIMCALL(NIM_BOOL, isemptycontainer_XI7vH8jtAcp7rWqTmfZOSg_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NI64, computesize_spMpEAO8ubfQavMigOxQdA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(NI64, computesizeaux_GWNdBwQ9anoYjYTj9a3aaE6w)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, NI64* a0); N_NIMCALL(NI64, align_cVCSd8KLZiZIqEQdp6syvA)(NI64 address0, NI64 alignment0); N_NIMCALL(NIM_BOOL, isobjectwithtypefieldpredicate_XI7vH8jtAcp7rWqTmfZOSg_4)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NI64, computerecsizeaux_0IY3g4Cu1G3IOCydXK9cynw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI64* a0, NI64* curroffset0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lastson_esDJA7239bJDiq4UrX9aHCjg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags0); N_NIMCALL(void, incl_iUpE9bYmIR0fROyJskQwN8g)(Intset_PQrmFm4BXFkFSVOUl1ojSg* s0, NI key0); N_NIMCALL(NIM_BOOL, contains_sYBLNwnPJlAFi0nfWU79awg)(Intset_PQrmFm4BXFkFSVOUl1ojSg* s0, NI key0); N_NIMCALL(Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ, equalparam_JF35V7e64xw0eFBfT9cGw9bQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* a0, Tsym_AXG7xcvKqaxY6koRX1xkCw* b0); N_NIMCALL(NIM_BOOL, sametypeornil_EjIk4Kwv9bxfpaU9cx49cCrBQ_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ)(Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Ttypeallowedflag_wySCBkY0DFkxIXMhoVC4cw_Set flags_uFQQWjvFo9c9aC1ZbtaUJRUw); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, typeallowednode_QDz2PYRBTDJyLlPFaePFFg)(Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Ttypeallowedflag_wySCBkY0DFkxIXMhoVC4cw_Set flags0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, copytype_50MJeIR3xcM7dF9b6Ly3suQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, NIM_BOOL keepid0); N_NIMCALL(NimStringDesc*, msgkindtostring_kJEp1LOlREvndFddptY76g)(Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw kind0); N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, taketype_VM8RGT89aBlDx8Yn1kr5N5w)(Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0, Ttype_LTUWCZolpovw9cWE3JBWSUw* arg0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, copytree_lz8T1F9c0YwEOpUnrAUYgjg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* src0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, skipconv_6rsSLwtlU9c53a6w69be5JlQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, searchtypefor_3SLCGCToH7PVANYoKMalhQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, TY_f9aI9cpkJD9arSwlllnVyZsvw predicate0); N_NIMCALL(NIM_BOOL, searchtypeforaux_dv6oBbCVP7QCl9ckDiqeA5Q)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, TY_f9aI9cpkJD9arSwlllnVyZsvw predicate0, Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0); N_NIMCALL(NIM_BOOL, searchtypenodeforaux_y21FBuTu1o4k8AIbL9bXNbQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_f9aI9cpkJD9arSwlllnVyZsvw p0, Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0); N_NIMCALL(NIM_BOOL, isgcref_XI7vH8jtAcp7rWqTmfZOSg_6)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); TNimType NTI_1v9bKyksXWMsm0vNwmZ4EuQ; extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA; TNimType NTI_8Np6tlClE5az1CyqZdN19bQ; extern NI intsize_a1bNgZBNVciKYuzCi2sD5A; extern TNimType NTI_9a3YiReNVD0IJHWFKgXRe9ag; extern NI floatsize_9aPM39cxaqttCZlYIk3psY3g; extern NI ptrsize_3AYcIlvHY9bTK1eNdc8MESQ; STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_2, "", 0); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_3, " literal(", 9); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_4, ")", 1); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_5, " not nil", 8); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_6, "None", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_7, "bool", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_8, "Char", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_9, "empty", 5); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_10, "Alias", 5); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_11, "nil", 3); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_12, "untyped", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_13, "typed", 5); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_14, "typeDesc", 8); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_15, "GenericInvocation", 17); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_16, "GenericBody", 11); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_17, "GenericInst", 11); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_18, "GenericParam", 12); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_19, "distinct $1", 11); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_20, "enum", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_21, "ordinal[$1]", 11); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_22, "array[$1, $2]", 13); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_23, "object", 6); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_24, "tuple", 5); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_25, "set[$1]", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_26, "range[$1]", 9); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_27, "ptr ", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_28, "ref ", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_29, "var ", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_30, "seq[$1]", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_31, "proc", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_32, "pointer", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_33, "OpenArray[$1]", 13); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_34, "string", 6); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_35, "CString", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_36, "Forward", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_37, "int", 3); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_38, "int8", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_39, "int16", 5); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_40, "int32", 5); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_41, "int64", 5); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_42, "float", 5); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_43, "float32", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_44, "float64", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_45, "float128", 8); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_46, "uint", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_47, "uint8", 5); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_48, "uint16", 6); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_49, "uint32", 6); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_50, "uint64", 6); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_51, "unused0", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_52, "unused1", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_53, "unused2", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_54, "varargs[$1]", 11); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_55, "unused", 6); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_56, "Error Type", 10); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_57, "BuiltInTypeClass", 16); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_58, "UserTypeClass", 13); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_59, "UserTypeClassInst", 17); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_60, "CompositeTypeClass", 18); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_61, "and", 3); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_62, "or", 2); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_63, "not", 3); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_64, "any", 3); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_65, "static", 6); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_66, "TypeFromExpr", 12); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_67, "FieldAccessor", 13); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_68, "void", 4); NIM_CONST TY_bbp1aDajeunm5PPjRzxB3A typetostr_8K1bQMe7v9aG2S8LV9co9bpwQ = {((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_6), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_7), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_8), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_9), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_10), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_11), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_12), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_13), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_14), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_15), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_16), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_17), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_18), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_19), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_20), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_21), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_22), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_23), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_24), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_25), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_26), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_27), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_28), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_29), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_30), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_31), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_32), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_33), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_34), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_35), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_36), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_37), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_38), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_39), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_40), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_41), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_42), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_43), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_44), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_45), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_46), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_47), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_48), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_49), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_50), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_51), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_52), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_53), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_54), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_55), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_56), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_57), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_58), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_59), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_60), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_61), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_62), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_63), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_64), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_65), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_66), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_67), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_68)} ; STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_69, "int literal(", 12); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_70, ", ", 2); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_71, "typedesc", 8); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_72, "typedesc[", 9); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_73, "]", 1); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_75, "compiler/types.nim", 18); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_PpBJsMJcrcWrpLTS6mci1g_74 = {((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_75), ((NI) 454)} ; STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_76, "static[", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_77, "(", 1); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_PpBJsMJcrcWrpLTS6mci1g_78 = {((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_75), ((NI) 461)} ; STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_79, "var", 3); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_80, "ref", 3); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_81, "ptr", 3); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_82, "seq", 3); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_83, "array", 5); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_84, "set", 3); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_85, "range", 5); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_86, "distinct", 8); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_87, "openarray", 9); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_88, "[", 1); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_89, " and ", 5); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_90, " or ", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_91, "not ", 4); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_PpBJsMJcrcWrpLTS6mci1g_92 = {((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_75), ((NI) 492)} ; STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_93, "array[", 6); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_94, "", 15); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_95, "..", 2); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_96, "seq[", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_97, "ordinal[", 8); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_98, "set[", 4); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_99, "openarray[", 10); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_100, "distinct ", 9); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_101, "tuple[", 6); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_102, ": ", 2); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_103, "tuple[]", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_104, "range ", 6); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_105, "iterator (", 10); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_106, "proc (", 6); extern NIM_CONST TY_t1sx1FVcaX4m77XqENedIQ Callingconvtostr_oBp2P4atsy9a7A9avgprVSeg; STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_107, "noSideEffect", 12); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_108, "gcsafe", 6); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_109, "locks: ", 7); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_110, "{.", 2); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_111, ".}", 2); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_113, "sameTuple", 9); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_PpBJsMJcrcWrpLTS6mci1g_114 = {((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_75), ((NI) 733)} ; STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_115, "sameFlags", 9); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_116, "invalid kind for first(", 23); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_117, "invalid kind for last(", 22); NIM_CONST Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set abstractinst_dLigiD0wrfdW59cejPpTktA = 43280; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_PpBJsMJcrcWrpLTS6mci1g_118 = {((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_75), ((NI) 1383)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_PpBJsMJcrcWrpLTS6mci1g_119 = {((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_75), ((NI) 1384)} ; STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_120, "getProcHeader", 13); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_121, "computeRecSizeAux(record case branch)", 37); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_122, "getSize: ", 9); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_123, "typeAllowedAux", 14); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_PpBJsMJcrcWrpLTS6mci1g_124 = {((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_75), ((NI) 1360)} ; STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_125, " = ", 3); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_126, ") ", 2); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_127, "searchTypeNodeForAux(record case branch)", 40); STRING_LITERAL(T_PpBJsMJcrcWrpLTS6mci1g_128, "searchTypeNodeForAux()", 22); N_NIMCALL(Ordinaltype_ZU6odCXXrXxl9axSbawmvng, classify_cHv9bjI47MqMiPg4S9bMpgpw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { Ordinaltype_ZU6odCXXrXxl9axSbawmvng result0; result0 = (Ordinaltype_ZU6odCXXrXxl9axSbawmvng)0; { if (!(t0 == NIM_NIL)) goto LA3; result0 = ((Ordinaltype_ZU6odCXXrXxl9axSbawmvng) 0); } goto LA1; LA3: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC6; LOC6 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC6 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t0, 9480464); switch ((*LOC6).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 39): { result0 = ((Ordinaltype_ZU6odCXXrXxl9axSbawmvng) 2); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14): { result0 = ((Ordinaltype_ZU6odCXXrXxl9axSbawmvng) 1); } break; default: { result0 = ((Ordinaltype_ZU6odCXXrXxl9axSbawmvng) 0); } break; } } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, skipconv_6rsSLwtlU9c53a6w69be5JlQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 67): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 66): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 70): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 68): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 69): { { Ordinaltype_ZU6odCXXrXxl9axSbawmvng LOC4; Ordinaltype_ZU6odCXXrXxl9axSbawmvng LOC5; LOC4 = (Ordinaltype_ZU6odCXXrXxl9axSbawmvng)0; LOC4 = classify_cHv9bjI47MqMiPg4S9bMpgpw((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ); LOC5 = (Ordinaltype_ZU6odCXXrXxl9axSbawmvng)0; LOC5 = classify_cHv9bjI47MqMiPg4S9bMpgpw((*n0).typ); if (!(LOC4 == LOC5)) goto LA6; result0 = (*n0).kindU.S6.sons->data[((NI) 0)]; } LA6: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 60): { { Ordinaltype_ZU6odCXXrXxl9axSbawmvng LOC11; Ordinaltype_ZU6odCXXrXxl9axSbawmvng LOC12; LOC11 = (Ordinaltype_ZU6odCXXrXxl9axSbawmvng)0; LOC11 = classify_cHv9bjI47MqMiPg4S9bMpgpw((*(*n0).kindU.S6.sons->data[((NI) 1)]).typ); LOC12 = (Ordinaltype_ZU6odCXXrXxl9axSbawmvng)0; LOC12 = classify_cHv9bjI47MqMiPg4S9bMpgpw((*n0).typ); if (!(LOC11 == LOC12)) goto LA13; result0 = (*n0).kindU.S6.sons->data[((NI) 1)]; } LA13: ; } break; default: { } break; } return result0; } static N_INLINE(NIM_BOOL, isintlit_UBQknCC9aYWKMNMK4dmeTlQtypes)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NIM_BOOL result0; NIM_BOOL LOC1; NIM_BOOL LOC2; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC2 = (NIM_BOOL)0; LOC2 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); if (!(LOC2)) goto LA3; LOC2 = !(((*t0).n == NIM_NIL)); LA3: ; LOC1 = LOC2; if (!(LOC1)) goto LA4; LOC1 = ((*(*t0).n).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6)); LA4: ; result0 = LOC1; return result0; } static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0) { void* LOC1; LOC1 = (void*)0; LOC1 = memcpy(dest0, source0, ((size_t) (size0))); } static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) { copymem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1))))); (*dest0).Sup.len += (*src0).Sup.len; } static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0) { (*dest0).data[((*dest0).Sup.len)- 0] = c0; (*dest0).data[((NI)((*dest0).Sup.len + ((NI) 1)))- 0] = 0; (*dest0).Sup.len += ((NI) 1); } static N_INLINE(void, addtypeflags_FkNtBzSgOeN9cOW1QlQgmZAtypes)(NimStringDesc** name0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0) { { if (!(((*typ0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0)) goto LA3; (*name0) = resizeString((*name0), 8); appendString((*name0), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_5)); } LA3: ; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, base_46gPaVDDGhiU69b2oKDJZuA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = (*t0).sons->data[((NI) 0)]; return result0; } N_NIMCALL(NimStringDesc*, valuetostring_ENsrF120OrufdnT9cC1VTDA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; switch ((*a0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 15): { result0 = nimInt64ToStr((*a0).kindU.S1.intval); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 19): { result0 = nimFloatToStr((*a0).kindU.S2.floatval); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22): { result0 = copyString((*a0).kindU.S3.strval); } break; default: { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_94)); } break; } return result0; } N_NIMCALL(NimStringDesc*, rangetostr_AfATazhewxRGQkx0D24ufA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NimStringDesc* result0; NimStringDesc* LOC1; NimStringDesc* LOC2; NimStringDesc* LOC3; result0 = (NimStringDesc*)0; LOC1 = (NimStringDesc*)0; LOC2 = (NimStringDesc*)0; LOC2 = valuetostring_ENsrF120OrufdnT9cC1VTDA((*n0).kindU.S6.sons->data[((NI) 0)]); LOC3 = (NimStringDesc*)0; LOC3 = valuetostring_ENsrF120OrufdnT9cC1VTDA((*n0).kindU.S6.sons->data[((NI) 1)]); LOC1 = rawNewString(LOC2->Sup.len + LOC3->Sup.len + 2); appendString(LOC1, LOC2); appendString(LOC1, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_95)); appendString(LOC1, LOC3); result0 = LOC1; return result0; } static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAparser)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NI result0; result0 = (NI)0; { if (!((*n0).kindU.S6.sons == 0)) goto LA3; result0 = ((NI) 0); } goto LA1; LA3: ; { result0 = ((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0); } LA1: ; return result0; } static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = (*n0).kindU.S6.sons->data[i0]; return result0; } static N_INLINE(void, addsep_MU0XMi5AVpdh0BqjLN4aUgtypes)(NimStringDesc** dest0, NimStringDesc* sep0, NI startlen0) { { if (!(((NI) (startlen0)) < ((*dest0) ? (*dest0)->Sup.len : 0))) goto LA3; (*dest0) = resizeString((*dest0), sep0->Sup.len + 0); appendString((*dest0), sep0); } LA3: ; } N_NIMCALL(NimStringDesc*, typetostring_iUZlBdvGqNPVN17wd9aVBNw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0) { NimStringDesc* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; { result0 = (NimStringDesc*)0; t0 = typ0; result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_2)); { if (!(t0 == NIM_NIL)) goto LA3; goto BeforeRet; } LA3: ; { NIM_BOOL LOC7; NIM_BOOL LOC8; LOC7 = (NIM_BOOL)0; LOC8 = (NIM_BOOL)0; LOC8 = ((25 &(1U<<((NU)(prefer0)&7U)))!=0); if (!(LOC8)) goto LA9; LOC8 = !(((*t0).sym == NIM_NIL)); LA9: ; LOC7 = LOC8; if (!(LOC7)) goto LA10; LOC7 = !((((*(*t0).sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 29))&31U)))!=0)); LA10: ; if (!LOC7) goto LA11; { NIM_BOOL LOC15; NimStringDesc* LOC19; NimStringDesc* LOC20; LOC15 = (NIM_BOOL)0; LOC15 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); if (!(LOC15)) goto LA16; LOC15 = isintlit_UBQknCC9aYWKMNMK4dmeTlQtypes(t0); LA16: ; if (!LOC15) goto LA17; LOC19 = (NimStringDesc*)0; LOC20 = (NimStringDesc*)0; LOC20 = nimInt64ToStr((*(*t0).n).kindU.S1.intval); LOC19 = rawNewString((*(*(*t0).sym).name).s->Sup.len + LOC20->Sup.len + 10); appendString(LOC19, (*(*(*t0).sym).name).s); appendString(LOC19, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_3)); appendString(LOC19, LOC20); appendString(LOC19, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_4)); result0 = LOC19; } goto LA13; LA17: ; { NIM_BOOL LOC22; LOC22 = (NIM_BOOL)0; LOC22 = (prefer0 == ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); if (LOC22) goto LA23; LOC22 = ((*(*t0).sym).owner == 0); LA23: ; if (!LOC22) goto LA24; result0 = copyString((*(*(*t0).sym).name).s); } goto LA13; LA24: ; { NimStringDesc* LOC27; LOC27 = (NimStringDesc*)0; LOC27 = rawNewString((*(*(*(*t0).sym).owner).name).s->Sup.len + (*(*(*t0).sym).name).s->Sup.len + 1); appendString(LOC27, (*(*(*(*t0).sym).owner).name).s); appendChar(LOC27, 46); appendString(LOC27, (*(*(*t0).sym).name).s); result0 = LOC27; } LA13: ; addtypeflags_FkNtBzSgOeN9cOW1QlQgmZAtypes((&result0), t0); goto BeforeRet; } LA11: ; switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31): { { NIM_BOOL LOC31; NIM_BOOL LOC32; LOC31 = (NIM_BOOL)0; LOC32 = (NIM_BOOL)0; LOC32 = isintlit_UBQknCC9aYWKMNMK4dmeTlQtypes(t0); LOC31 = !(LOC32); if (LOC31) goto LA33; LOC31 = (prefer0 == ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 2)); LA33: ; if (!LOC31) goto LA34; result0 = copyString(typetostr_8K1bQMe7v9aG2S8LV9co9bpwQ[((*t0).kind)- 0]); } goto LA29; LA34: ; { { if (!(prefer0 == ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 4))) goto LA39; result0 = nimInt64ToStr((*(*t0).n).kindU.S1.intval); } goto LA37; LA39: ; { NimStringDesc* LOC42; NimStringDesc* LOC43; LOC42 = (NimStringDesc*)0; LOC43 = (NimStringDesc*)0; LOC43 = nimInt64ToStr((*(*t0).n).kindU.S1.intval); LOC42 = rawNewString(LOC43->Sup.len + 13); appendString(LOC42, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_69)); appendString(LOC42, LOC43); appendString(LOC42, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_4)); result0 = LOC42; } LA37: ; } LA29: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9): { NimStringDesc* LOC45; NimStringDesc* LOC46; LOC45 = (NimStringDesc*)0; LOC46 = (NimStringDesc*)0; LOC46 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC45 = rawNewString(LOC46->Sup.len + 1); appendString(LOC45, LOC46); appendChar(LOC45, 91); result0 = LOC45; { NI i_qzBeRxaiTAu2y7k6Q5OF1g; NI HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA; NI LOC48; NI res_29aduy4ouogj4kq1KODc42A; i_qzBeRxaiTAu2y7k6Q5OF1g = (NI)0; HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA = (NI)0; LOC48 = (NI)0; LOC48 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA = (NI)((NI)(LOC48 - ((NI) 1)) - ((NI) (!(((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9)))))); res_29aduy4ouogj4kq1KODc42A = ((NI) 1); { while (1) { NimStringDesc* LOC55; if (!(res_29aduy4ouogj4kq1KODc42A <= HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA)) goto LA50; i_qzBeRxaiTAu2y7k6Q5OF1g = res_29aduy4ouogj4kq1KODc42A; { if (!(((NI) 1) < i_qzBeRxaiTAu2y7k6Q5OF1g)) goto LA53; result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_70)); } LA53: ; LOC55 = (NimStringDesc*)0; LOC55 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[i_qzBeRxaiTAu2y7k6Q5OF1g], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 4)); result0 = resizeString(result0, LOC55->Sup.len + 0); appendString(result0, LOC55); res_29aduy4ouogj4kq1KODc42A += ((NI) 1); } LA50: ; } } result0 = addChar(result0, 93); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): { { if (!((*(*t0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA59; result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_71)); } goto LA57; LA59: ; { NimStringDesc* LOC62; NimStringDesc* LOC63; LOC62 = (NimStringDesc*)0; LOC63 = (NimStringDesc*)0; LOC63 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC62 = rawNewString(LOC63->Sup.len + 10); appendString(LOC62, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_72)); appendString(LOC62, LOC63); appendString(LOC62, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_73)); result0 = LOC62; } LA57: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59): { { NI LOC67; NimStringDesc* LOC70; LOC67 = (NI)0; LOC67 = len_gG7hUAX9cA629ahMLVL3xN4w_2(t0); if (!!((((NI) 0) < LOC67))) goto LA68; LOC70 = (NimStringDesc*)0; LOC70 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_PpBJsMJcrcWrpLTS6mci1g_74); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC70); } LA68: ; { NIM_BOOL LOC73; LOC73 = (NIM_BOOL)0; LOC73 = (prefer0 == ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 4)); if (!(LOC73)) goto LA74; LOC73 = !(((*t0).n == NIM_NIL)); LA74: ; if (!LOC73) goto LA75; result0 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA((*t0).n, 0); } goto LA71; LA75: ; { NimStringDesc* LOC78; NimStringDesc* LOC79; LOC78 = (NimStringDesc*)0; LOC79 = (NimStringDesc*)0; LOC79 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC78 = rawNewString(LOC79->Sup.len + 8); appendString(LOC78, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_76)); appendString(LOC78, LOC79); appendString(LOC78, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_73)); result0 = LOC78; { NimStringDesc* LOC84; NimStringDesc* LOC85; if (!!(((*t0).n == NIM_NIL))) goto LA82; LOC84 = (NimStringDesc*)0; LOC85 = (NimStringDesc*)0; LOC85 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA((*t0).n, 0); LOC84 = rawNewString(LOC85->Sup.len + 2); appendString(LOC84, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_77)); appendString(LOC84, LOC85); appendString(LOC84, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_4)); result0 = resizeString(result0, LOC84->Sup.len + 0); appendString(result0, LOC84); } LA82: ; } LA71: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 52): { { NIM_BOOL LOC89; NimStringDesc* LOC93; LOC89 = (NIM_BOOL)0; LOC89 = !(((*t0).sym == NIM_NIL)); if (!(LOC89)) goto LA90; LOC89 = !(((*(*t0).sym).owner == NIM_NIL)); LA90: ; if (!!(LOC89)) goto LA91; LOC93 = (NimStringDesc*)0; LOC93 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_PpBJsMJcrcWrpLTS6mci1g_78); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC93); } LA91: ; result0 = copyString((*(*(*(*t0).sym).owner).name).s); goto BeforeRet; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 51): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC95; LOC95 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC95 = base_46gPaVDDGhiU69b2oKDJZuA(t0); switch ((*LOC95).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_79)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_80)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_81)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_82)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_83)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_84)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_85)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_86)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_31)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_23)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_24)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_87)); } break; default: { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC109; LOC109 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC109 = base_46gPaVDDGhiU69b2oKDJZuA(t0); result0 = copyString(typetostr_8K1bQMe7v9aG2S8LV9co9bpwQ[((*LOC109).kind)- 0]); } break; } } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 53): { Ttype_LTUWCZolpovw9cWE3JBWSUw* body0; NimStringDesc* LOC111; body0 = base_46gPaVDDGhiU69b2oKDJZuA(t0); LOC111 = (NimStringDesc*)0; LOC111 = rawNewString((*(*(*body0).sym).name).s->Sup.len + 1); appendString(LOC111, (*(*(*body0).sym).name).s); appendString(LOC111, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_88)); result0 = LOC111; { NI i_qzBeRxaiTAu2y7k6Q5OF1g_2; NI HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_2; NI LOC113; NI res_29aduy4ouogj4kq1KODc42A_2; i_qzBeRxaiTAu2y7k6Q5OF1g_2 = (NI)0; HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_2 = (NI)0; LOC113 = (NI)0; LOC113 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_2 = (NI)(LOC113 - ((NI) 2)); res_29aduy4ouogj4kq1KODc42A_2 = ((NI) 1); { while (1) { NimStringDesc* LOC120; if (!(res_29aduy4ouogj4kq1KODc42A_2 <= HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_2)) goto LA115; i_qzBeRxaiTAu2y7k6Q5OF1g_2 = res_29aduy4ouogj4kq1KODc42A_2; { if (!(((NI) 1) < i_qzBeRxaiTAu2y7k6Q5OF1g_2)) goto LA118; result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_70)); } LA118: ; LOC120 = (NimStringDesc*)0; LOC120 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[i_qzBeRxaiTAu2y7k6Q5OF1g_2], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); result0 = resizeString(result0, LOC120->Sup.len + 0); appendString(result0, LOC120); res_29aduy4ouogj4kq1KODc42A_2 += ((NI) 1); } LA115: ; } } result0 = resizeString(result0, 1); appendString(result0, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_73)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 55): { NimStringDesc* LOC122; NimStringDesc* LOC123; NimStringDesc* LOC124; LOC122 = (NimStringDesc*)0; LOC123 = (NimStringDesc*)0; LOC123 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC124 = (NimStringDesc*)0; LOC124 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 1)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC122 = rawNewString(LOC123->Sup.len + LOC124->Sup.len + 5); appendString(LOC122, LOC123); appendString(LOC122, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_89)); appendString(LOC122, LOC124); result0 = LOC122; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 56): { NimStringDesc* LOC126; NimStringDesc* LOC127; NimStringDesc* LOC128; LOC126 = (NimStringDesc*)0; LOC127 = (NimStringDesc*)0; LOC127 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC128 = (NimStringDesc*)0; LOC128 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 1)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC126 = rawNewString(LOC127->Sup.len + LOC128->Sup.len + 4); appendString(LOC126, LOC127); appendString(LOC126, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_90)); appendString(LOC126, LOC128); result0 = LOC126; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 57): { NimStringDesc* LOC130; NimStringDesc* LOC131; LOC130 = (NimStringDesc*)0; LOC131 = (NimStringDesc*)0; LOC131 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC130 = rawNewString(LOC131->Sup.len + 4); appendString(LOC130, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_91)); appendString(LOC130, LOC131); result0 = LOC130; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6): { { NI LOC135; NimStringDesc* LOC138; LOC135 = (NI)0; LOC135 = len_gG7hUAX9cA629ahMLVL3xN4w_2(t0); if (!!((LOC135 == ((NI) 0)))) goto LA136; LOC138 = (NimStringDesc*)0; LOC138 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_PpBJsMJcrcWrpLTS6mci1g_92); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC138); } LA136: ; result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_12)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 60): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 61): { result0 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA((*t0).n, 0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { { NimStringDesc* LOC145; NimStringDesc* LOC146; NimStringDesc* LOC147; if (!((*(*t0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20))) goto LA143; LOC145 = (NimStringDesc*)0; LOC146 = (NimStringDesc*)0; LOC146 = rangetostr_AfATazhewxRGQkx0D24ufA((*(*t0).sons->data[((NI) 0)]).n); LOC147 = (NimStringDesc*)0; LOC147 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 1)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC145 = rawNewString(LOC146->Sup.len + LOC147->Sup.len + 9); appendString(LOC145, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_93)); appendString(LOC145, LOC146); appendString(LOC145, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_70)); appendString(LOC145, LOC147); appendChar(LOC145, 93); result0 = LOC145; } goto LA141; LA143: ; { NimStringDesc* LOC149; NimStringDesc* LOC150; NimStringDesc* LOC151; LOC149 = (NimStringDesc*)0; LOC150 = (NimStringDesc*)0; LOC150 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC151 = (NimStringDesc*)0; LOC151 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 1)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC149 = rawNewString(LOC150->Sup.len + LOC151->Sup.len + 9); appendString(LOC149, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_93)); appendString(LOC149, LOC150); appendString(LOC149, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_70)); appendString(LOC149, LOC151); appendChar(LOC149, 93); result0 = LOC149; } LA141: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): { NimStringDesc* LOC153; NimStringDesc* LOC154; LOC153 = (NimStringDesc*)0; LOC154 = (NimStringDesc*)0; LOC154 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC153 = rawNewString(LOC154->Sup.len + 5); appendString(LOC153, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_96)); appendString(LOC153, LOC154); appendChar(LOC153, 93); result0 = LOC153; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 15): { NimStringDesc* LOC156; NimStringDesc* LOC157; LOC156 = (NimStringDesc*)0; LOC157 = (NimStringDesc*)0; LOC157 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC156 = rawNewString(LOC157->Sup.len + 9); appendString(LOC156, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_97)); appendString(LOC156, LOC157); appendChar(LOC156, 93); result0 = LOC156; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): { NimStringDesc* LOC159; NimStringDesc* LOC160; LOC159 = (NimStringDesc*)0; LOC160 = (NimStringDesc*)0; LOC160 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC159 = rawNewString(LOC160->Sup.len + 5); appendString(LOC159, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_98)); appendString(LOC159, LOC160); appendChar(LOC159, 93); result0 = LOC159; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): { NimStringDesc* LOC162; NimStringDesc* LOC163; LOC162 = (NimStringDesc*)0; LOC163 = (NimStringDesc*)0; LOC163 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC162 = rawNewString(LOC163->Sup.len + 11); appendString(LOC162, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_99)); appendString(LOC162, LOC163); appendChar(LOC162, 93); result0 = LOC162; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): { NimStringDesc* LOC165; Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw LOC166; NimStringDesc* LOC172; LOC165 = (NimStringDesc*)0; LOC166 = (Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw)0; { if (!(prefer0 == ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 3))) goto LA169; LOC166 = ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 3); } goto LA167; LA169: ; { LOC166 = ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0); } LA167: ; LOC172 = (NimStringDesc*)0; LOC172 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], LOC166); LOC165 = rawNewString(LOC172->Sup.len + 9); appendString(LOC165, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_100)); appendString(LOC165, LOC172); result0 = LOC165; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): { { if (!!(((*t0).n == NIM_NIL))) goto LA176; result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_101)); { NI i_qzBeRxaiTAu2y7k6Q5OF1g_3; NI HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_3; NI LOC179; NI res_29aduy4ouogj4kq1KODc42A_3; i_qzBeRxaiTAu2y7k6Q5OF1g_3 = (NI)0; HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_3 = (NI)0; LOC179 = (NI)0; LOC179 = sonslen_qPWPHw7WgJeEVYUdcaRIig((*t0).n); HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_3 = (NI)(LOC179 - ((NI) 1)); res_29aduy4ouogj4kq1KODc42A_3 = ((NI) 0); { while (1) { NimStringDesc* LOC182; NimStringDesc* LOC183; if (!(res_29aduy4ouogj4kq1KODc42A_3 <= HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_3)) goto LA181; i_qzBeRxaiTAu2y7k6Q5OF1g_3 = res_29aduy4ouogj4kq1KODc42A_3; LOC182 = (NimStringDesc*)0; LOC183 = (NimStringDesc*)0; LOC183 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[i_qzBeRxaiTAu2y7k6Q5OF1g_3], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC182 = rawNewString((*(*(*(*(*t0).n).kindU.S6.sons->data[i_qzBeRxaiTAu2y7k6Q5OF1g_3]).kindU.S4.sym).name).s->Sup.len + LOC183->Sup.len + 2); appendString(LOC182, (*(*(*(*(*t0).n).kindU.S6.sons->data[i_qzBeRxaiTAu2y7k6Q5OF1g_3]).kindU.S4.sym).name).s); appendString(LOC182, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_102)); appendString(LOC182, LOC183); result0 = resizeString(result0, LOC182->Sup.len + 0); appendString(result0, LOC182); { NI LOC186; LOC186 = (NI)0; LOC186 = sonslen_qPWPHw7WgJeEVYUdcaRIig((*t0).n); if (!(i_qzBeRxaiTAu2y7k6Q5OF1g_3 < (NI)(LOC186 - ((NI) 1)))) goto LA187; result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_70)); } LA187: ; res_29aduy4ouogj4kq1KODc42A_3 += ((NI) 1); } LA181: ; } } result0 = addChar(result0, 93); } goto LA174; LA176: ; { NI LOC190; LOC190 = (NI)0; LOC190 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); if (!(LOC190 == ((NI) 0))) goto LA191; result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_103)); } goto LA174; LA191: ; { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_77)); { NI i_qzBeRxaiTAu2y7k6Q5OF1g_4; NI HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_4; NI LOC195; NI res_29aduy4ouogj4kq1KODc42A_4; i_qzBeRxaiTAu2y7k6Q5OF1g_4 = (NI)0; HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_4 = (NI)0; LOC195 = (NI)0; LOC195 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_4 = (NI)(LOC195 - ((NI) 1)); res_29aduy4ouogj4kq1KODc42A_4 = ((NI) 0); { while (1) { NimStringDesc* LOC198; if (!(res_29aduy4ouogj4kq1KODc42A_4 <= HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_4)) goto LA197; i_qzBeRxaiTAu2y7k6Q5OF1g_4 = res_29aduy4ouogj4kq1KODc42A_4; LOC198 = (NimStringDesc*)0; LOC198 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[i_qzBeRxaiTAu2y7k6Q5OF1g_4], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); result0 = resizeString(result0, LOC198->Sup.len + 0); appendString(result0, LOC198); { NI LOC201; LOC201 = (NI)0; LOC201 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); if (!(i_qzBeRxaiTAu2y7k6Q5OF1g_4 < (NI)(LOC201 - ((NI) 1)))) goto LA202; result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_70)); } LA202: ; res_29aduy4ouogj4kq1KODc42A_4 += ((NI) 1); } LA197: ; } } result0 = addChar(result0, 41); } LA174: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): { result0 = copyString(typetostr_8K1bQMe7v9aG2S8LV9co9bpwQ[((*t0).kind)- 0]); { NI LOC207; LOC207 = (NI)0; LOC207 = len_gG7hUAX9cA629ahMLVL3xN4w_2(t0); if (!(((NI) 2) <= LOC207)) goto LA208; result0 = setLengthStr(result0, ((NI) ((NI)((result0 ? result0->Sup.len : 0) - ((NI) 1))))); result0 = addChar(result0, 91); { NI i_qzBeRxaiTAu2y7k6Q5OF1g_5; NI HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_5; NI LOC211; NI res_29aduy4ouogj4kq1KODc42A_5; i_qzBeRxaiTAu2y7k6Q5OF1g_5 = (NI)0; HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_5 = (NI)0; LOC211 = (NI)0; LOC211 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_5 = (NI)(LOC211 - ((NI) 1)); res_29aduy4ouogj4kq1KODc42A_5 = ((NI) 0); { while (1) { NimStringDesc* LOC214; if (!(res_29aduy4ouogj4kq1KODc42A_5 <= HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_5)) goto LA213; i_qzBeRxaiTAu2y7k6Q5OF1g_5 = res_29aduy4ouogj4kq1KODc42A_5; LOC214 = (NimStringDesc*)0; LOC214 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[i_qzBeRxaiTAu2y7k6Q5OF1g_5], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); result0 = resizeString(result0, LOC214->Sup.len + 0); appendString(result0, LOC214); { NI LOC217; LOC217 = (NI)0; LOC217 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); if (!(i_qzBeRxaiTAu2y7k6Q5OF1g_5 < (NI)(LOC217 - ((NI) 1)))) goto LA218; result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_70)); } LA218: ; res_29aduy4ouogj4kq1KODc42A_5 += ((NI) 1); } LA213: ; } } result0 = addChar(result0, 93); } goto LA205; LA208: ; { NimStringDesc* LOC221; LOC221 = (NimStringDesc*)0; LOC221 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); result0 = resizeString(result0, LOC221->Sup.len + 0); appendString(result0, LOC221); } LA205: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20): { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_104)); { NIM_BOOL LOC225; NimStringDesc* LOC229; LOC225 = (NIM_BOOL)0; LOC225 = !(((*t0).n == NIM_NIL)); if (!(LOC225)) goto LA226; LOC225 = ((*(*t0).n).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 44)); LA226: ; if (!LOC225) goto LA227; LOC229 = (NimStringDesc*)0; LOC229 = rangetostr_AfATazhewxRGQkx0D24ufA((*t0).n); result0 = resizeString(result0, LOC229->Sup.len + 0); appendString(result0, LOC229); } LA227: ; { NimStringDesc* LOC234; NimStringDesc* LOC235; if (!!((prefer0 == ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 2)))) goto LA232; LOC234 = (NimStringDesc*)0; LOC235 = (NimStringDesc*)0; LOC235 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC234 = rawNewString(LOC235->Sup.len + 2); appendString(LOC234, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_77)); appendString(LOC234, LOC235); appendString(LOC234, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_4)); result0 = resizeString(result0, LOC234->Sup.len + 0); appendString(result0, LOC234); } LA232: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25): { NimStringDesc* prag0; { if (!(((*t0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 14))&31U)))!=0)) goto LA239; result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_105)); } goto LA237; LA239: ; { result0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_106)); } LA237: ; { NI i_qzBeRxaiTAu2y7k6Q5OF1g_6; NI HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_6; NI LOC243; NI res_29aduy4ouogj4kq1KODc42A_6; i_qzBeRxaiTAu2y7k6Q5OF1g_6 = (NI)0; HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_6 = (NI)0; LOC243 = (NI)0; LOC243 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_6 = (NI)(LOC243 - ((NI) 1)); res_29aduy4ouogj4kq1KODc42A_6 = ((NI) 1); { while (1) { NimStringDesc* LOC257; if (!(res_29aduy4ouogj4kq1KODc42A_6 <= HEX3Atmp_yR9bhAQIlg1W0fchBHP4GxA_6)) goto LA245; i_qzBeRxaiTAu2y7k6Q5OF1g_6 = res_29aduy4ouogj4kq1KODc42A_6; { NIM_BOOL LOC248; NIM_BOOL LOC249; NI LOC251; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC253; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC256; LOC248 = (NIM_BOOL)0; LOC249 = (NIM_BOOL)0; LOC249 = !(((*t0).n == NIM_NIL)); if (!(LOC249)) goto LA250; LOC251 = (NI)0; LOC251 = len_CdME9baJhvveuPEDZE9bXoxAparser((*t0).n); LOC249 = (i_qzBeRxaiTAu2y7k6Q5OF1g_6 < LOC251); LA250: ; LOC248 = LOC249; if (!(LOC248)) goto LA252; LOC253 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC253 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser((*t0).n, i_qzBeRxaiTAu2y7k6Q5OF1g_6); LOC248 = ((*LOC253).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA252: ; if (!LOC248) goto LA254; LOC256 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC256 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser((*t0).n, i_qzBeRxaiTAu2y7k6Q5OF1g_6); result0 = resizeString(result0, (*(*(*LOC256).kindU.S4.sym).name).s->Sup.len + 0); appendString(result0, (*(*(*LOC256).kindU.S4.sym).name).s); result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_102)); } LA254: ; LOC257 = (NimStringDesc*)0; LOC257 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[i_qzBeRxaiTAu2y7k6Q5OF1g_6], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); result0 = resizeString(result0, LOC257->Sup.len + 0); appendString(result0, LOC257); { NI LOC260; LOC260 = (NI)0; LOC260 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); if (!(i_qzBeRxaiTAu2y7k6Q5OF1g_6 < (NI)(LOC260 - ((NI) 1)))) goto LA261; result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_70)); } LA261: ; res_29aduy4ouogj4kq1KODc42A_6 += ((NI) 1); } LA245: ; } } result0 = addChar(result0, 41); { NimStringDesc* LOC267; NimStringDesc* LOC268; if (!!(((*t0).sons->data[((NI) 0)] == NIM_NIL))) goto LA265; LOC267 = (NimStringDesc*)0; LOC268 = (NimStringDesc*)0; LOC268 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC267 = rawNewString(LOC268->Sup.len + 2); appendString(LOC267, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_102)); appendString(LOC267, LOC268); result0 = resizeString(result0, LOC267->Sup.len + 0); appendString(result0, LOC267); } LA265: ; { if (!((*t0).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 0))) goto LA271; prag0 = copyString(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_2)); } goto LA269; LA271: ; { prag0 = copyString(Callingconvtostr_oBp2P4atsy9a7A9avgprVSeg[((*t0).callconv)- 0]); } LA269: ; { if (!(((*t0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 1))&31U)))!=0)) goto LA276; addsep_MU0XMi5AVpdh0BqjLN4aUgtypes((&prag0), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_70), ((NI) 0)); prag0 = resizeString(prag0, 12); appendString(prag0, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_107)); } LA276: ; { if (!(((*t0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 7))&31U)))!=0)) goto LA280; addsep_MU0XMi5AVpdh0BqjLN4aUgtypes((&prag0), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_70), ((NI) 0)); prag0 = resizeString(prag0, 6); appendString(prag0, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_108)); } LA280: ; { NimStringDesc* LOC286; NimStringDesc* LOC287; if (!!((((NI) ((*t0).locklevel)) == ((NI) -1)))) goto LA284; addsep_MU0XMi5AVpdh0BqjLN4aUgtypes((&prag0), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_70), ((NI) 0)); LOC286 = (NimStringDesc*)0; LOC287 = (NimStringDesc*)0; LOC287 = HEX24_7U5mhhMT9aokoOIuJFuFlgw((*t0).locklevel); LOC286 = rawNewString(LOC287->Sup.len + 7); appendString(LOC286, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_109)); appendString(LOC286, LOC287); prag0 = resizeString(prag0, LOC286->Sup.len + 0); appendString(prag0, LOC286); } LA284: ; { NimStringDesc* LOC292; if (!!(((prag0 ? prag0->Sup.len : 0) == ((NI) 0)))) goto LA290; LOC292 = (NimStringDesc*)0; LOC292 = rawNewString(prag0->Sup.len + 4); appendString(LOC292, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_110)); appendString(LOC292, prag0); appendString(LOC292, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_111)); result0 = resizeString(result0, LOC292->Sup.len + 0); appendString(result0, LOC292); } LA290: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48): { NimStringDesc* LOC294; LOC294 = (NimStringDesc*)0; LOC294 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*t0).sons->data[((NI) 0)], ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); result0 = nsuFormatSingleElem(typetostr_8K1bQMe7v9aG2S8LV9co9bpwQ[((*t0).kind)- 0], LOC294); } break; default: { result0 = copyString(typetostr_8K1bQMe7v9aG2S8LV9co9bpwQ[((*t0).kind)- 0]); } break; } addtypeflags_FkNtBzSgOeN9cOW1QlQgmZAtypes((&result0), t0); }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, elemtype_46gPaVDDGhiU69b2oKDJZuA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC2; LOC2 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC2 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 = elemtype_46gPaVDDGhiU69b2oKDJZuA_2(LOC2); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { result0 = (*t0).sons->data[((NI) 1)]; } break; default: { result0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); } break; } return result0; } N_NIMCALL(void, initsametypeclosure_2P7fxxcDXEp7I2U7Lvg2Ow)(Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* Result) { } N_NIMCALL(NIM_BOOL, isgenericalias_XI7vH8jtAcp7rWqTmfZOSg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NIM_BOOL result0; NIM_BOOL LOC1; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC3; { result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC1 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11)); if (!(LOC1)) goto LA2; LOC3 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC3 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); LOC1 = ((*LOC3).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11)); LA2: ; result0 = LOC1; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skipgenericalias_46gPaVDDGhiU69b2oKDJZuA_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = isgenericalias_XI7vH8jtAcp7rWqTmfZOSg(t0); if (!LOC3) goto LA4; result0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); } goto LA1; LA4: ; { result0 = t0; } LA1: ; goto BeforeRet; }BeforeRet: ; return result0; } static N_INLINE(NIM_BOOL, sameflags_8v4PltvnKUFVoINNTE260gtypes)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = ((344064 & (*a0).flags) == (344064 & (*b0).flags)); return result0; } static N_INLINE(NI, find_zsQhi9afMWfjVjhN29c3B4Qgtypes)(TY_1v9bKyksXWMsm0vNwmZ4EuQ* a0, NI a0Len0, TY_1v9bKyksXWMsm0vNwmZ4EuQ item0) { NI result0; { result0 = (NI)0; { TY_1v9bKyksXWMsm0vNwmZ4EuQ i_PK51OczLhe60IMTnpDtj2Q; NI i_PK51OczLhe60IMTnpDtj2Q_2; memset((void*)(&i_PK51OczLhe60IMTnpDtj2Q), 0, sizeof(i_PK51OczLhe60IMTnpDtj2Q)); i_PK51OczLhe60IMTnpDtj2Q_2 = ((NI) 0); { while (1) { if (!(i_PK51OczLhe60IMTnpDtj2Q_2 < a0Len0)) goto LA3; i_PK51OczLhe60IMTnpDtj2Q = a0[i_PK51OczLhe60IMTnpDtj2Q_2]; { NIM_BOOL LOC6; LOC6 = (NIM_BOOL)0; LOC6 = HEX3DHEX3D_acdBa63tG7KT1YiswWh3aw(i_PK51OczLhe60IMTnpDtj2Q, item0); if (!LOC6) goto LA7; goto BeforeRet; } LA7: ; result0 += ((NI) 1); i_PK51OczLhe60IMTnpDtj2Q_2 += ((NI) 1); } LA3: ; } } result0 = ((NI) -1); }BeforeRet: ; return result0; } static N_INLINE(NIM_BOOL, contains_fyTcpO9cj9bNGb2IG09bkkbgAtypes)(TY_1v9bKyksXWMsm0vNwmZ4EuQ* a0, NI a0Len0, TY_1v9bKyksXWMsm0vNwmZ4EuQ item0) { NIM_BOOL result0; NI LOC1; { result0 = (NIM_BOOL)0; LOC1 = (NI)0; LOC1 = find_zsQhi9afMWfjVjhN29c3B4Qgtypes(a0, a0Len0, item0); result0 = (((NI) 0) <= LOC1); goto BeforeRet; }BeforeRet: ; return result0; } static N_NIMCALL(void, Marker_TY_8Np6tlClE5az1CyqZdN19bQ)(void* p, NI op) { TY_8Np6tlClE5az1CyqZdN19bQ* a; NI LOC1; a = (TY_8Np6tlClE5az1CyqZdN19bQ*)p; LOC1 = (NI)0; for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) { } } N_NIMCALL(NIM_BOOL, containsorincl_7l663Oqh9aIWgZmcIVG0fcA)(Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0) { NIM_BOOL result0; NIM_BOOL LOC1; TY_1v9bKyksXWMsm0vNwmZ4EuQ LOC3; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC1 = !(((*c0).s == 0)); if (!(LOC1)) goto LA2; LOC3.Field0 = (*a0).Sup.id; LOC3.Field1 = (*b0).Sup.id; LOC1 = contains_fyTcpO9cj9bNGb2IG09bkkbgAtypes((*c0).s->data, (*c0).s->Sup.len, LOC3); LA2: ; result0 = LOC1; { TY_1v9bKyksXWMsm0vNwmZ4EuQ LOC12; if (!!(result0)) goto LA6; { if (!((*c0).s == 0)) goto LA10; (*c0).s = (TY_8Np6tlClE5az1CyqZdN19bQ*) newSeq((&NTI_8Np6tlClE5az1CyqZdN19bQ), 0); } LA10: ; LOC12.Field0 = (*a0).Sup.id; LOC12.Field1 = (*b0).Sup.id; (*c0).s = (TY_8Np6tlClE5az1CyqZdN19bQ*) incrSeqV2(&((*c0).s)->Sup, sizeof(TY_1v9bKyksXWMsm0vNwmZ4EuQ)); (*c0).s->data[(*c0).s->Sup.len] = LOC12; ++(*c0).s->Sup.len; } LA6: ; return result0; } N_NIMCALL(NIM_BOOL, sametypeornilaux_1zgxfz85pZKmnPKeJCdIgg_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; { if (!(a0 == b0)) goto LA3; result0 = NIM_TRUE; } goto LA1; LA3: ; { { NIM_BOOL LOC8; LOC8 = (NIM_BOOL)0; LOC8 = (a0 == NIM_NIL); if (LOC8) goto LA9; LOC8 = (b0 == NIM_NIL); LA9: ; if (!LOC8) goto LA10; result0 = NIM_FALSE; } goto LA6; LA10: ; { result0 = sametypeaux_jufViiaZhlISjPYcUqDq4A(a0, b0, c0); } LA6: ; } LA1: ; return result0; } static N_INLINE(NIM_BOOL, equalmem_fmeFeLBvgmAHG9bC8ETS9bYQropes)(void* a0, void* b0, NI size0) { NIM_BOOL result0; int LOC1; result0 = (NIM_BOOL)0; LOC1 = (int)0; LOC1 = memcmp(a0, b0, ((size_t) (size0))); result0 = (LOC1 == ((NI32) 0)); return result0; } static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0) { NIM_BOOL result0; NIM_BOOL LOC11; { result0 = (NIM_BOOL)0; { if (!(a0 == b0)) goto LA3; result0 = NIM_TRUE; goto BeforeRet; } LA3: ; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = (a0 == NIM_NIL); if (LOC7) goto LA8; LOC7 = (b0 == NIM_NIL); LA8: ; if (!LOC7) goto LA9; result0 = NIM_FALSE; goto BeforeRet; } LA9: ; LOC11 = (NIM_BOOL)0; LOC11 = ((*a0).Sup.len == (*b0).Sup.len); if (!(LOC11)) goto LA12; LOC11 = equalmem_fmeFeLBvgmAHG9bC8ETS9bYQropes(((void*) ((*a0).data)), ((void*) ((*b0).data)), ((NI) ((*a0).Sup.len))); LA12: ; result0 = LOC11; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, sameobjecttree_p2Gkr9cujTwj6KyP27x5biA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0, Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!(a0 == b0)) goto LA3; result0 = NIM_TRUE; } goto LA1; LA3: ; { NIM_BOOL LOC6; NIM_BOOL LOC7; Ttype_LTUWCZolpovw9cWE3JBWSUw* x0; Ttype_LTUWCZolpovw9cWE3JBWSUw* y0; LOC6 = (NIM_BOOL)0; LOC7 = (NIM_BOOL)0; LOC7 = !((a0 == NIM_NIL)); if (!(LOC7)) goto LA8; LOC7 = !((b0 == NIM_NIL)); LA8: ; LOC6 = LOC7; if (!(LOC6)) goto LA9; LOC6 = ((*a0).kind == (*b0).kind); LA9: ; if (!LOC6) goto LA10; x0 = (*a0).typ; y0 = (*b0).typ; { if (!(((*c0).flags &(1U<<((NU)(((Ttypecmpflag_72pgRXSg7774cr9aCWVPORw) 0))&7U)))!=0)) goto LA14; { if (!!((x0 == NIM_NIL))) goto LA18; x0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(x0, 1050640); } LA18: ; { if (!!((y0 == NIM_NIL))) goto LA22; y0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(y0, 1050640); } LA22: ; } LA14: ; { NIM_BOOL LOC26; LOC26 = (NIM_BOOL)0; LOC26 = sametypeornilaux_1zgxfz85pZKmnPKeJCdIgg_2(x0, y0, c0); if (!LOC26) goto LA27; switch ((*a0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { result0 = ((*(*(*a0).kindU.S4.sym).name).Sup.id == (*(*(*b0).kindU.S4.sym).name).Sup.id); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { result0 = ((*(*a0).kindU.S5.ident).Sup.id == (*(*b0).kindU.S5.ident).Sup.id); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 10): { result0 = ((*a0).kindU.S1.intval == (*b0).kindU.S1.intval); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 18): { result0 = ((*a0).kindU.S2.floatval == (*b0).kindU.S2.floatval); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 22): { result0 = eqStrings((*a0).kindU.S3.strval, (*b0).kindU.S3.strval); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4): { result0 = NIM_TRUE; } break; default: { { NI LOC38; NI LOC39; LOC38 = (NI)0; LOC38 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); LOC39 = (NI)0; LOC39 = sonslen_qPWPHw7WgJeEVYUdcaRIig(b0); if (!(LOC38 == LOC39)) goto LA40; { NI i_OkAkXGG32Ahd9c1pZZutR0g; NI HEX3Atmp_4q4X6QPCqpHRN2XXwFLr8Q; NI LOC43; NI res_ZpkSxtcCJPhiF52e6XkmNg; i_OkAkXGG32Ahd9c1pZZutR0g = (NI)0; HEX3Atmp_4q4X6QPCqpHRN2XXwFLr8Q = (NI)0; LOC43 = (NI)0; LOC43 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); HEX3Atmp_4q4X6QPCqpHRN2XXwFLr8Q = (NI)(LOC43 - ((NI) 1)); res_ZpkSxtcCJPhiF52e6XkmNg = ((NI) 0); { while (1) { if (!(res_ZpkSxtcCJPhiF52e6XkmNg <= HEX3Atmp_4q4X6QPCqpHRN2XXwFLr8Q)) goto LA45; i_OkAkXGG32Ahd9c1pZZutR0g = res_ZpkSxtcCJPhiF52e6XkmNg; { NIM_BOOL LOC48; LOC48 = (NIM_BOOL)0; LOC48 = sameobjecttree_p2Gkr9cujTwj6KyP27x5biA((*a0).kindU.S6.sons->data[i_OkAkXGG32Ahd9c1pZZutR0g], (*b0).kindU.S6.sons->data[i_OkAkXGG32Ahd9c1pZZutR0g], c0); if (!!(LOC48)) goto LA49; goto BeforeRet; } LA49: ; res_ZpkSxtcCJPhiF52e6XkmNg += ((NI) 1); } LA45: ; } } result0 = NIM_TRUE; } LA40: ; } break; } } LA27: ; } goto LA1; LA10: ; LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, sameobjectstructures_1zgxfz85pZKmnPKeJCdIgg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NI LOC3; NI LOC4; LOC3 = (NI)0; LOC3 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(a0); LOC4 = (NI)0; LOC4 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(b0); if (!!((LOC3 == LOC4))) goto LA5; goto BeforeRet; } LA5: ; { NI i_NiE2eTGWVUo3k9cyootunfA; NI HEX3Atmp_uQeXJq5reTPqkT82CAYurg; NI LOC8; NI res_nGGkJ0T7cxLmWwvudooE9aw; i_NiE2eTGWVUo3k9cyootunfA = (NI)0; HEX3Atmp_uQeXJq5reTPqkT82CAYurg = (NI)0; LOC8 = (NI)0; LOC8 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(a0); HEX3Atmp_uQeXJq5reTPqkT82CAYurg = (NI)(LOC8 - ((NI) 1)); res_nGGkJ0T7cxLmWwvudooE9aw = ((NI) 0); { while (1) { if (!(res_nGGkJ0T7cxLmWwvudooE9aw <= HEX3Atmp_uQeXJq5reTPqkT82CAYurg)) goto LA10; i_NiE2eTGWVUo3k9cyootunfA = res_nGGkJ0T7cxLmWwvudooE9aw; { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; LOC13 = sametypeornilaux_1zgxfz85pZKmnPKeJCdIgg_2((*a0).sons->data[i_NiE2eTGWVUo3k9cyootunfA], (*b0).sons->data[i_NiE2eTGWVUo3k9cyootunfA], c0); if (!!(LOC13)) goto LA14; goto BeforeRet; } LA14: ; res_nGGkJ0T7cxLmWwvudooE9aw += ((NI) 1); } LA10: ; } } { NIM_BOOL LOC18; LOC18 = (NIM_BOOL)0; LOC18 = sameobjecttree_p2Gkr9cujTwj6KyP27x5biA((*a0).n, (*b0).n, c0); if (!!(LOC18)) goto LA19; goto BeforeRet; } LA19: ; result0 = NIM_TRUE; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, sametuple_1zgxfz85pZKmnPKeJCdIgg_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NI LOC3; NI LOC4; LOC3 = (NI)0; LOC3 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(a0); LOC4 = (NI)0; LOC4 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(b0); if (!(LOC3 == LOC4)) goto LA5; result0 = NIM_TRUE; { NI i_P9c66gwhaTvzu4lzjBBMpuw; NI HEX3Atmp_E19cB3mSYCNvTa1ic2zwUfQ; NI LOC8; NI res_7TFQDbnB3fXlEQkPs9aS0Tw; i_P9c66gwhaTvzu4lzjBBMpuw = (NI)0; HEX3Atmp_E19cB3mSYCNvTa1ic2zwUfQ = (NI)0; LOC8 = (NI)0; LOC8 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(a0); HEX3Atmp_E19cB3mSYCNvTa1ic2zwUfQ = (NI)(LOC8 - ((NI) 1)); res_7TFQDbnB3fXlEQkPs9aS0Tw = ((NI) 0); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* x0; Ttype_LTUWCZolpovw9cWE3JBWSUw* y0; if (!(res_7TFQDbnB3fXlEQkPs9aS0Tw <= HEX3Atmp_E19cB3mSYCNvTa1ic2zwUfQ)) goto LA10; i_P9c66gwhaTvzu4lzjBBMpuw = res_7TFQDbnB3fXlEQkPs9aS0Tw; x0 = (*a0).sons->data[i_P9c66gwhaTvzu4lzjBBMpuw]; y0 = (*b0).sons->data[i_P9c66gwhaTvzu4lzjBBMpuw]; { if (!(((*c0).flags &(1U<<((NU)(((Ttypecmpflag_72pgRXSg7774cr9aCWVPORw) 0))&7U)))!=0)) goto LA13; x0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(x0, 1050640); y0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(y0, 1050640); } LA13: ; result0 = sametypeaux_jufViiaZhlISjPYcUqDq4A(x0, y0, c0); { if (!!(result0)) goto LA17; goto BeforeRet; } LA17: ; res_7TFQDbnB3fXlEQkPs9aS0Tw += ((NI) 1); } LA10: ; } } { NIM_BOOL LOC21; NIM_BOOL LOC22; LOC21 = (NIM_BOOL)0; LOC22 = (NIM_BOOL)0; LOC22 = !(((*a0).n == NIM_NIL)); if (!(LOC22)) goto LA23; LOC22 = !(((*b0).n == NIM_NIL)); LA23: ; LOC21 = LOC22; if (!(LOC21)) goto LA24; LOC21 = !((((*c0).flags &(1U<<((NU)(((Ttypecmpflag_72pgRXSg7774cr9aCWVPORw) 0))&7U)))!=0)); LA24: ; if (!LOC21) goto LA25; { NI i_P9c66gwhaTvzu4lzjBBMpuw_2; NI HEX3Atmp_E19cB3mSYCNvTa1ic2zwUfQ_2; NI LOC28; NI res_7TFQDbnB3fXlEQkPs9aS0Tw_2; i_P9c66gwhaTvzu4lzjBBMpuw_2 = (NI)0; HEX3Atmp_E19cB3mSYCNvTa1ic2zwUfQ_2 = (NI)0; LOC28 = (NI)0; LOC28 = sonslen_qPWPHw7WgJeEVYUdcaRIig((*a0).n); HEX3Atmp_E19cB3mSYCNvTa1ic2zwUfQ_2 = (NI)(LOC28 - ((NI) 1)); res_7TFQDbnB3fXlEQkPs9aS0Tw_2 = ((NI) 0); { while (1) { if (!(res_7TFQDbnB3fXlEQkPs9aS0Tw_2 <= HEX3Atmp_E19cB3mSYCNvTa1ic2zwUfQ_2)) goto LA30; i_P9c66gwhaTvzu4lzjBBMpuw_2 = res_7TFQDbnB3fXlEQkPs9aS0Tw_2; { NIM_BOOL LOC33; Tsym_AXG7xcvKqaxY6koRX1xkCw* x0; Tsym_AXG7xcvKqaxY6koRX1xkCw* y0; LOC33 = (NIM_BOOL)0; LOC33 = ((*(*(*a0).n).kindU.S6.sons->data[i_P9c66gwhaTvzu4lzjBBMpuw_2]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC33)) goto LA34; LOC33 = ((*(*(*b0).n).kindU.S6.sons->data[i_P9c66gwhaTvzu4lzjBBMpuw_2]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA34: ; if (!LOC33) goto LA35; x0 = (*(*(*a0).n).kindU.S6.sons->data[i_P9c66gwhaTvzu4lzjBBMpuw_2]).kindU.S4.sym; y0 = (*(*(*b0).n).kindU.S6.sons->data[i_P9c66gwhaTvzu4lzjBBMpuw_2]).kindU.S4.sym; result0 = ((*(*x0).name).Sup.id == (*(*y0).name).Sup.id); { if (!!(result0)) goto LA39; goto LA27; } LA39: ; } goto LA31; LA35: ; { internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*(*a0).n).info, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_113)); } LA31: ; res_7TFQDbnB3fXlEQkPs9aS0Tw_2 += ((NI) 1); } LA30: ; } } LA27: ; } goto LA19; LA25: ; { NIM_BOOL LOC43; NIM_BOOL LOC44; NIM_BOOL LOC46; LOC43 = (NIM_BOOL)0; LOC44 = (NIM_BOOL)0; LOC44 = !(((*a0).n == (*b0).n)); if (!(LOC44)) goto LA45; LOC46 = (NIM_BOOL)0; LOC46 = ((*a0).n == NIM_NIL); if (LOC46) goto LA47; LOC46 = ((*b0).n == NIM_NIL); LA47: ; LOC44 = LOC46; LA45: ; LOC43 = LOC44; if (!(LOC43)) goto LA48; LOC43 = !((((*c0).flags &(1U<<((NU)(((Ttypecmpflag_72pgRXSg7774cr9aCWVPORw) 0))&7U)))!=0)); LA48: ; if (!LOC43) goto LA49; result0 = NIM_FALSE; } goto LA19; LA49: ; LA19: ; } LA5: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, samechildrenaux_1zgxfz85pZKmnPKeJCdIgg_4)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NI LOC3; NI LOC4; LOC3 = (NI)0; LOC3 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(a0); LOC4 = (NI)0; LOC4 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(b0); if (!!((LOC3 == LOC4))) goto LA5; result0 = NIM_FALSE; goto BeforeRet; } LA5: ; result0 = NIM_TRUE; { NI i_xyfC1TevQf9b3nZvf1jIdzg; NI HEX3Atmp_FElGOO1JUJ0cPDjWg9cSftQ; NI LOC8; NI res_eWGwFAgn0Y6vhIXubI1iqw; i_xyfC1TevQf9b3nZvf1jIdzg = (NI)0; HEX3Atmp_FElGOO1JUJ0cPDjWg9cSftQ = (NI)0; LOC8 = (NI)0; LOC8 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(a0); HEX3Atmp_FElGOO1JUJ0cPDjWg9cSftQ = (NI)(LOC8 - ((NI) 1)); res_eWGwFAgn0Y6vhIXubI1iqw = ((NI) 0); { while (1) { if (!(res_eWGwFAgn0Y6vhIXubI1iqw <= HEX3Atmp_FElGOO1JUJ0cPDjWg9cSftQ)) goto LA10; i_xyfC1TevQf9b3nZvf1jIdzg = res_eWGwFAgn0Y6vhIXubI1iqw; result0 = sametypeornilaux_1zgxfz85pZKmnPKeJCdIgg_2((*a0).sons->data[i_xyfC1TevQf9b3nZvf1jIdzg], (*b0).sons->data[i_xyfC1TevQf9b3nZvf1jIdzg], c0); { if (!!(result0)) goto LA13; goto BeforeRet; } LA13: ; res_eWGwFAgn0Y6vhIXubI1iqw += ((NI) 1); } LA10: ; } } }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, sameconstraints_WK4tUt32lZCKwW9a889a8iZA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (a0 == 0); if (!(LOC3)) goto LA4; LOC3 = (b0 == 0); LA4: ; if (!LOC3) goto LA5; result0 = NIM_TRUE; goto BeforeRet; } LA5: ; { NI LOC9; NI LOC10; NimStringDesc* LOC13; LOC9 = (NI)0; LOC9 = len_CdME9baJhvveuPEDZE9bXoxAparser(a0); LOC10 = (NI)0; LOC10 = len_CdME9baJhvveuPEDZE9bXoxAparser(b0); if (!!((LOC9 == LOC10))) goto LA11; LOC13 = (NimStringDesc*)0; LOC13 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_PpBJsMJcrcWrpLTS6mci1g_114); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC13); } LA11: ; { NI i_It0fn1u6R9cnPzlm72KC9adA; NI HEX3Atmp_QSZaEqQsjH59anI9cCQ8t6EA; NI LOC15; NI res_vTg4xVduI2qW4emGBpj4IQ; i_It0fn1u6R9cnPzlm72KC9adA = (NI)0; HEX3Atmp_QSZaEqQsjH59anI9cCQ8t6EA = (NI)0; LOC15 = (NI)0; LOC15 = len_CdME9baJhvveuPEDZE9bXoxAparser(a0); HEX3Atmp_QSZaEqQsjH59anI9cCQ8t6EA = (LOC15 - 1); res_vTg4xVduI2qW4emGBpj4IQ = ((NI) 1); { while (1) { if (!(res_vTg4xVduI2qW4emGBpj4IQ <= HEX3Atmp_QSZaEqQsjH59anI9cCQ8t6EA)) goto LA17; i_It0fn1u6R9cnPzlm72KC9adA = res_vTg4xVduI2qW4emGBpj4IQ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC20; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC21; NIM_BOOL LOC22; LOC20 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC20 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser(a0, i_It0fn1u6R9cnPzlm72KC9adA); LOC21 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC21 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser(b0, i_It0fn1u6R9cnPzlm72KC9adA); LOC22 = (NIM_BOOL)0; LOC22 = exprstructuralequivalent_XApnXRaD9btY9a4pkMO0ITTg((*(*LOC20).kindU.S4.sym).constraint, (*(*LOC21).kindU.S4.sym).constraint, NIM_FALSE); if (!!(LOC22)) goto LA23; result0 = NIM_FALSE; goto BeforeRet; } LA23: ; res_vTg4xVduI2qW4emGBpj4IQ += ((NI) 1); } LA17: ; } } result0 = NIM_TRUE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, sametypeaux_jufViiaZhlISjPYcUqDq4A)(Ttype_LTUWCZolpovw9cWE3JBWSUw* x0, Ttype_LTUWCZolpovw9cWE3JBWSUw* y0, Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg* c0) { NIM_BOOL result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* a0; Ttype_LTUWCZolpovw9cWE3JBWSUw* b0; { result0 = (NIM_BOOL)0; { if (!(x0 == y0)) goto LA3; result0 = NIM_TRUE; goto BeforeRet; } LA3: ; a0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(x0, 2064); b0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(y0, 2064); { if (!!(((*a0).kind == (*b0).kind))) goto LA7; switch ((*c0).cmp) { case ((Tdistinctcompare_9bNKHGs63atuMFXnAleTveg) 0): { result0 = NIM_FALSE; goto BeforeRet; } break; case ((Tdistinctcompare_9bNKHGs63atuMFXnAleTveg) 1): { { while (1) { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA12; a0 = (*a0).sons->data[((NI) 0)]; } LA12: ; } { while (1) { if (!((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA14; b0 = (*b0).sons->data[((NI) 0)]; } LA14: ; } { if (!!(((*a0).kind == (*b0).kind))) goto LA17; result0 = NIM_FALSE; goto BeforeRet; } LA17: ; } break; case ((Tdistinctcompare_9bNKHGs63atuMFXnAleTveg) 2): { { while (1) { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA21; a0 = (*a0).sons->data[((NI) 0)]; } LA21: ; } { if (!!(((*a0).kind == (*b0).kind))) goto LA24; result0 = NIM_FALSE; goto BeforeRet; } LA24: ; } break; } } LA7: ; { NIM_BOOL LOC28; Ttype_LTUWCZolpovw9cWE3JBWSUw* lhs0; Ttype_LTUWCZolpovw9cWE3JBWSUw* rhs0; LOC28 = (NIM_BOOL)0; LOC28 = ((*x0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11)); if (!(LOC28)) goto LA29; LOC28 = !((((*c0).flags &(1U<<((NU)(((Ttypecmpflag_72pgRXSg7774cr9aCWVPORw) 0))&7U)))!=0)); LA29: ; if (!LOC28) goto LA30; lhs0 = skipgenericalias_46gPaVDDGhiU69b2oKDJZuA_3(x0); rhs0 = skipgenericalias_46gPaVDDGhiU69b2oKDJZuA_3(y0); { NIM_BOOL LOC34; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC36; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC37; LOC34 = (NIM_BOOL)0; LOC34 = !(((*rhs0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11))); if (LOC34) goto LA35; LOC36 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC36 = base_46gPaVDDGhiU69b2oKDJZuA(lhs0); LOC37 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC37 = base_46gPaVDDGhiU69b2oKDJZuA(rhs0); LOC34 = !((LOC36 == LOC37)); LA35: ; if (!LOC34) goto LA38; result0 = NIM_FALSE; goto BeforeRet; } LA38: ; { NI i_Blzr5L5c5S9cg69cTFbnD0tw; NI HEX3Atmp_uhFsH8oCTgrtZMoVgHsRnQ; NI LOC41; NI res_yf9cWogR51UZV9bLM0K9b5UPA; i_Blzr5L5c5S9cg69cTFbnD0tw = (NI)0; HEX3Atmp_uhFsH8oCTgrtZMoVgHsRnQ = (NI)0; LOC41 = (NI)0; LOC41 = len_gG7hUAX9cA629ahMLVL3xN4w_2(lhs0); HEX3Atmp_uhFsH8oCTgrtZMoVgHsRnQ = (NI)(LOC41 - ((NI) 2)); res_yf9cWogR51UZV9bLM0K9b5UPA = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* ff0; Ttype_LTUWCZolpovw9cWE3JBWSUw* aa0; if (!(res_yf9cWogR51UZV9bLM0K9b5UPA <= HEX3Atmp_uhFsH8oCTgrtZMoVgHsRnQ)) goto LA43; i_Blzr5L5c5S9cg69cTFbnD0tw = res_yf9cWogR51UZV9bLM0K9b5UPA; ff0 = (*rhs0).sons->data[i_Blzr5L5c5S9cg69cTFbnD0tw]; aa0 = (*lhs0).sons->data[i_Blzr5L5c5S9cg69cTFbnD0tw]; { NIM_BOOL LOC46; LOC46 = (NIM_BOOL)0; LOC46 = sametypeaux_jufViiaZhlISjPYcUqDq4A(ff0, aa0, c0); if (!!(LOC46)) goto LA47; result0 = NIM_FALSE; goto BeforeRet; } LA47: ; res_yf9cWogR51UZV9bLM0K9b5UPA += ((NI) 1); } LA43: ; } } result0 = NIM_TRUE; goto BeforeRet; } LA30: ; switch ((*a0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 26): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 62): { result0 = sameflags_8v4PltvnKUFVoINNTE260gtypes(a0, b0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 60): { NIM_BOOL LOC51; LOC51 = (NIM_BOOL)0; LOC51 = exprstructuralequivalent_XApnXRaD9btY9a4pkMO0ITTg((*a0).n, (*b0).n, NIM_FALSE); if (!(LOC51)) goto LA52; LOC51 = sameflags_8v4PltvnKUFVoINNTE260gtypes(a0, b0); LA52: ; result0 = LOC51; { NIM_BOOL LOC55; NIM_BOOL LOC56; NI LOC58; NI LOC59; NI LOC61; LOC55 = (NIM_BOOL)0; LOC56 = (NIM_BOOL)0; LOC56 = result0; if (!(LOC56)) goto LA57; LOC58 = (NI)0; LOC58 = len_gG7hUAX9cA629ahMLVL3xN4w_2(a0); LOC59 = (NI)0; LOC59 = len_gG7hUAX9cA629ahMLVL3xN4w_2(b0); LOC56 = (LOC58 == LOC59); LA57: ; LOC55 = LOC56; if (!(LOC55)) goto LA60; LOC61 = (NI)0; LOC61 = len_gG7hUAX9cA629ahMLVL3xN4w_2(a0); LOC55 = (LOC61 == ((NI) 1)); LA60: ; if (!LOC55) goto LA62; { if (!((*c0).reccheck < ((NI) 3))) goto LA66; (*c0).reccheck += ((NI) 1); } goto LA64; LA66: ; { { NIM_BOOL LOC71; LOC71 = (NIM_BOOL)0; LOC71 = containsorincl_7l663Oqh9aIWgZmcIVG0fcA(c0, a0, b0); if (!LOC71) goto LA72; result0 = NIM_TRUE; goto BeforeRet; } LA72: ; } LA64: ; result0 = sametypeaux_jufViiaZhlISjPYcUqDq4A((*a0).sons->data[((NI) 0)], (*b0).sons->data[((NI) 0)], c0); } LA62: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17): { { if (!!(((((*a0).flags | (*b0).flags) &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 8))&31U)))!=0))) goto LA77; result0 = ((*a0).Sup.id == (*b0).Sup.id); } goto LA75; LA77: ; { { NIM_BOOL LOC82; NIM_BOOL LOC96; LOC82 = (NIM_BOOL)0; LOC82 = ((((*a0).flags & (*b0).flags) &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 8))&31U)))!=0); if (!(LOC82)) goto LA83; LOC82 = ((*(*a0).sym).Sup.id == (*(*b0).sym).Sup.id); LA83: ; if (!LOC82) goto LA84; { if (!((*c0).reccheck < ((NI) 3))) goto LA88; (*c0).reccheck += ((NI) 1); } goto LA86; LA88: ; { { NIM_BOOL LOC93; LOC93 = (NIM_BOOL)0; LOC93 = containsorincl_7l663Oqh9aIWgZmcIVG0fcA(c0, a0, b0); if (!LOC93) goto LA94; result0 = NIM_TRUE; goto BeforeRet; } LA94: ; } LA86: ; LOC96 = (NIM_BOOL)0; LOC96 = sameobjectstructures_1zgxfz85pZKmnPKeJCdIgg(a0, b0, c0); if (!(LOC96)) goto LA97; LOC96 = sameflags_8v4PltvnKUFVoINNTE260gtypes(a0, b0); LA97: ; result0 = LOC96; } LA84: ; } LA75: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): { { if (!((*c0).reccheck < ((NI) 3))) goto LA101; (*c0).reccheck += ((NI) 1); } goto LA99; LA101: ; { { NIM_BOOL LOC106; LOC106 = (NIM_BOOL)0; LOC106 = containsorincl_7l663Oqh9aIWgZmcIVG0fcA(c0, a0, b0); if (!LOC106) goto LA107; result0 = NIM_TRUE; goto BeforeRet; } LA107: ; } LA99: ; { if (!((*c0).cmp == ((Tdistinctcompare_9bNKHGs63atuMFXnAleTveg) 0))) goto LA111; { NIM_BOOL LOC115; LOC115 = (NIM_BOOL)0; LOC115 = sameflags_8v4PltvnKUFVoINNTE260gtypes(a0, b0); if (!LOC115) goto LA116; { if (!!(((((*a0).flags | (*b0).flags) &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 8))&31U)))!=0))) goto LA120; result0 = ((*a0).Sup.id == (*b0).Sup.id); } goto LA118; LA120: ; { { NIM_BOOL LOC125; LOC125 = (NIM_BOOL)0; LOC125 = ((((*a0).flags & (*b0).flags) &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 8))&31U)))!=0); if (!(LOC125)) goto LA126; LOC125 = ((*(*a0).sym).Sup.id == (*(*b0).sym).Sup.id); LA126: ; if (!LOC125) goto LA127; result0 = sametypeaux_jufViiaZhlISjPYcUqDq4A((*a0).sons->data[((NI) 0)], (*b0).sons->data[((NI) 0)], c0); } LA127: ; } LA118: ; } LA116: ; } goto LA109; LA111: ; { NIM_BOOL LOC130; LOC130 = (NIM_BOOL)0; LOC130 = sametypeaux_jufViiaZhlISjPYcUqDq4A((*a0).sons->data[((NI) 0)], (*b0).sons->data[((NI) 0)], c0); if (!(LOC130)) goto LA131; LOC130 = sameflags_8v4PltvnKUFVoINNTE260gtypes(a0, b0); LA131: ; result0 = LOC130; } LA109: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 30): { NIM_BOOL LOC133; LOC133 = (NIM_BOOL)0; LOC133 = ((*a0).Sup.id == (*b0).Sup.id); if (!(LOC133)) goto LA134; LOC133 = sameflags_8v4PltvnKUFVoINNTE260gtypes(a0, b0); LA134: ; result0 = LOC133; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50): { result0 = ((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): { NIM_BOOL LOC147; { if (!((*c0).reccheck < ((NI) 3))) goto LA139; (*c0).reccheck += ((NI) 1); } goto LA137; LA139: ; { { NIM_BOOL LOC144; LOC144 = (NIM_BOOL)0; LOC144 = containsorincl_7l663Oqh9aIWgZmcIVG0fcA(c0, a0, b0); if (!LOC144) goto LA145; result0 = NIM_TRUE; goto BeforeRet; } LA145: ; } LA137: ; LOC147 = (NIM_BOOL)0; LOC147 = sametuple_1zgxfz85pZKmnPKeJCdIgg_3(a0, b0, c0); if (!(LOC147)) goto LA148; LOC147 = sameflags_8v4PltvnKUFVoINNTE260gtypes(a0, b0); LA148: ; result0 = LOC147; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): { { if (!((*c0).cmp == ((Tdistinctcompare_9bNKHGs63atuMFXnAleTveg) 1))) goto LA152; result0 = NIM_FALSE; } goto LA150; LA152: ; { NIM_BOOL LOC167; if (!(((*c0).flags &(1U<<((NU)(((Ttypecmpflag_72pgRXSg7774cr9aCWVPORw) 2))&7U)))!=0)) goto LA155; { if (!((*c0).reccheck < ((NI) 3))) goto LA159; (*c0).reccheck += ((NI) 1); } goto LA157; LA159: ; { { NIM_BOOL LOC164; LOC164 = (NIM_BOOL)0; LOC164 = containsorincl_7l663Oqh9aIWgZmcIVG0fcA(c0, a0, b0); if (!LOC164) goto LA165; result0 = NIM_TRUE; goto BeforeRet; } LA165: ; } LA157: ; LOC167 = (NIM_BOOL)0; LOC167 = samechildrenaux_1zgxfz85pZKmnPKeJCdIgg_4(x0, y0, c0); if (!(LOC167)) goto LA168; LOC167 = sameflags_8v4PltvnKUFVoINNTE260gtypes(a0, b0); LA168: ; result0 = LOC167; } goto LA150; LA155: ; { result0 = sameflags_8v4PltvnKUFVoINNTE260gtypes(a0, b0); } LA150: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12): { NIM_BOOL LOC171; LOC171 = (NIM_BOOL)0; LOC171 = samechildrenaux_1zgxfz85pZKmnPKeJCdIgg_4(a0, b0, c0); if (!(LOC171)) goto LA172; LOC171 = sameflags_8v4PltvnKUFVoINNTE260gtypes(a0, b0); LA172: ; result0 = LOC171; { NIM_BOOL LOC175; LOC175 = (NIM_BOOL)0; LOC175 = result0; if (!(LOC175)) goto LA176; LOC175 = (((*c0).flags &(1U<<((NU)(((Ttypecmpflag_72pgRXSg7774cr9aCWVPORw) 3))&7U)))!=0); LA176: ; if (!LOC175) goto LA177; result0 = ((*(*a0).sym).position == (*(*b0).sym).position); } LA177: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 15): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 51): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 61): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 54): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 52): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 53): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 55): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 56): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 57): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58): { NIM_BOOL LOC196; { if (!((*c0).reccheck < ((NI) 3))) goto LA182; (*c0).reccheck += ((NI) 1); } goto LA180; LA182: ; { { NIM_BOOL LOC187; LOC187 = (NIM_BOOL)0; LOC187 = containsorincl_7l663Oqh9aIWgZmcIVG0fcA(c0, a0, b0); if (!LOC187) goto LA188; result0 = NIM_TRUE; goto BeforeRet; } LA188: ; } LA180: ; { NIM_BOOL LOC192; LOC192 = (NIM_BOOL)0; LOC192 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 52)); if (!(LOC192)) goto LA193; LOC192 = !(((*a0).n == NIM_NIL)); LA193: ; if (!LOC192) goto LA194; result0 = ((*a0).n == (*b0).n); goto BeforeRet; } LA194: ; LOC196 = (NIM_BOOL)0; LOC196 = samechildrenaux_1zgxfz85pZKmnPKeJCdIgg_4(a0, b0, c0); if (!(LOC196)) goto LA197; LOC196 = sameflags_8v4PltvnKUFVoINNTE260gtypes(a0, b0); LA197: ; result0 = LOC196; { NIM_BOOL LOC200; NIM_BOOL LOC204; NIM_BOOL LOC205; NIM_BOOL LOC208; LOC200 = (NIM_BOOL)0; LOC200 = result0; if (!(LOC200)) goto LA201; LOC200 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25)); LA201: ; if (!LOC200) goto LA202; LOC204 = (NIM_BOOL)0; LOC205 = (NIM_BOOL)0; LOC205 = (((*c0).flags &(1U<<((NU)(((Ttypecmpflag_72pgRXSg7774cr9aCWVPORw) 1))&7U)))!=0); if (LOC205) goto LA206; LOC205 = ((*a0).callconv == (*b0).callconv); LA206: ; LOC204 = LOC205; if (!(LOC204)) goto LA207; LOC208 = (NIM_BOOL)0; LOC208 = !((((*c0).flags &(1U<<((NU)(((Ttypecmpflag_72pgRXSg7774cr9aCWVPORw) 4))&7U)))!=0)); if (LOC208) goto LA209; LOC208 = sameconstraints_WK4tUt32lZCKwW9a889a8iZA((*a0).n, (*b0).n); LA209: ; LOC204 = LOC208; LA207: ; result0 = LOC204; } LA202: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20): { NIM_BOOL LOC221; NIM_BOOL LOC222; { if (!((*c0).reccheck < ((NI) 3))) goto LA213; (*c0).reccheck += ((NI) 1); } goto LA211; LA213: ; { { NIM_BOOL LOC218; LOC218 = (NIM_BOOL)0; LOC218 = containsorincl_7l663Oqh9aIWgZmcIVG0fcA(c0, a0, b0); if (!LOC218) goto LA219; result0 = NIM_TRUE; goto BeforeRet; } LA219: ; } LA211: ; LOC221 = (NIM_BOOL)0; LOC222 = (NIM_BOOL)0; LOC222 = sametypeornilaux_1zgxfz85pZKmnPKeJCdIgg_2((*a0).sons->data[((NI) 0)], (*b0).sons->data[((NI) 0)], c0); if (!(LOC222)) goto LA223; LOC222 = samevalue_1Qdwg1ZguEjbL3mmgPJD3w((*(*a0).n).kindU.S6.sons->data[((NI) 0)], (*(*b0).n).kindU.S6.sons->data[((NI) 0)]); LA223: ; LOC221 = LOC222; if (!(LOC221)) goto LA224; LOC221 = samevalue_1Qdwg1ZguEjbL3mmgPJD3w((*(*a0).n).kindU.S6.sons->data[((NI) 1)], (*(*b0).n).kindU.S6.sons->data[((NI) 1)]); LA224: ; result0 = LOC221; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0): { result0 = NIM_FALSE; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 49): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 45): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 46): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 47): { internalerror_5XY9cUy7hZmUusM38U9cYYdw(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_115)); } break; } }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, comparetypes_Wiat9a9c5vPvjDreVawQ2qgA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* x0, Ttype_LTUWCZolpovw9cWE3JBWSUw* y0, Tdistinctcompare_9bNKHGs63atuMFXnAleTveg cmp0, Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags0) { NIM_BOOL result0; Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg c0; result0 = (NIM_BOOL)0; memset((void*)(&c0), 0, sizeof(c0)); chckNil((void*)(&c0)); memset((void*)(&c0), 0, sizeof(c0)); initsametypeclosure_2P7fxxcDXEp7I2U7Lvg2Ow((&c0)); c0.cmp = cmp0; c0.flags = flags0; { if (!(x0 == y0)) goto LA3; result0 = NIM_TRUE; } goto LA1; LA3: ; { NIM_BOOL LOC6; LOC6 = (NIM_BOOL)0; LOC6 = (x0 == 0); if (LOC6) goto LA7; LOC6 = (y0 == 0); LA7: ; if (!LOC6) goto LA8; result0 = NIM_FALSE; } goto LA1; LA8: ; { result0 = sametypeaux_jufViiaZhlISjPYcUqDq4A(x0, y0, (&c0)); } LA1: ; return result0; } N_NIMCALL(NIM_BOOL, iterovernode_IQ3sEyjkF9bhgYTOyoLg9aAA)(Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_NyobeEdbOSlSSjn9aphc2Fg iter0, TNimObject* closure0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!!((n0 == NIM_NIL))) goto LA3; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { result0 = iterovertypeaux_lCvieyNneYr00sIeGgjzrQ(marker0, (*n0).typ, iter0, closure0); } break; default: { { NI i_pFSWM9auwx64cGKoLy60yLg; NI HEX3Atmp_pq7OeEyVTeF70RXH2y9bBJA; NI LOC8; NI res_hxl04opSJr0uSBTZQWmQlQ; i_pFSWM9auwx64cGKoLy60yLg = (NI)0; HEX3Atmp_pq7OeEyVTeF70RXH2y9bBJA = (NI)0; LOC8 = (NI)0; LOC8 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_pq7OeEyVTeF70RXH2y9bBJA = (NI)(LOC8 - ((NI) 1)); res_hxl04opSJr0uSBTZQWmQlQ = ((NI) 0); { while (1) { if (!(res_hxl04opSJr0uSBTZQWmQlQ <= HEX3Atmp_pq7OeEyVTeF70RXH2y9bBJA)) goto LA10; i_pFSWM9auwx64cGKoLy60yLg = res_hxl04opSJr0uSBTZQWmQlQ; result0 = iterovernode_IQ3sEyjkF9bhgYTOyoLg9aAA(marker0, (*n0).kindU.S6.sons->data[i_pFSWM9auwx64cGKoLy60yLg], iter0, closure0); { if (!result0) goto LA13; goto BeforeRet; } LA13: ; res_hxl04opSJr0uSBTZQWmQlQ += ((NI) 1); } LA10: ; } } } break; } } LA3: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, iterovertypeaux_lCvieyNneYr00sIeGgjzrQ)(Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, TY_NyobeEdbOSlSSjn9aphc2Fg iter0, TNimObject* closure0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; result0 = NIM_FALSE; { if (!(t0 == NIM_NIL)) goto LA3; goto BeforeRet; } LA3: ; result0 = iter0(t0, closure0); { if (!result0) goto LA7; goto BeforeRet; } LA7: ; { NIM_BOOL LOC11; LOC11 = (NIM_BOOL)0; LOC11 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg(marker0, (*t0).Sup.id); if (!!(LOC11)) goto LA12; switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC15; LOC15 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC15 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 = iterovertypeaux_lCvieyNneYr00sIeGgjzrQ(marker0, LOC15, iter0, closure0); } break; default: { { NI i_5tIve9cHFWcvktOm2dotw4Q; NI HEX3Atmp_wMlxt9c6RZ16X0m4h0rtc5g; NI LOC18; NI res_HUlFtojjnGqIOvYgs8O9b5Q; i_5tIve9cHFWcvktOm2dotw4Q = (NI)0; HEX3Atmp_wMlxt9c6RZ16X0m4h0rtc5g = (NI)0; LOC18 = (NI)0; LOC18 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_wMlxt9c6RZ16X0m4h0rtc5g = (NI)(LOC18 - ((NI) 1)); res_HUlFtojjnGqIOvYgs8O9b5Q = ((NI) 0); { while (1) { if (!(res_HUlFtojjnGqIOvYgs8O9b5Q <= HEX3Atmp_wMlxt9c6RZ16X0m4h0rtc5g)) goto LA20; i_5tIve9cHFWcvktOm2dotw4Q = res_HUlFtojjnGqIOvYgs8O9b5Q; result0 = iterovertypeaux_lCvieyNneYr00sIeGgjzrQ(marker0, (*t0).sons->data[i_5tIve9cHFWcvktOm2dotw4Q], iter0, closure0); { if (!result0) goto LA23; goto BeforeRet; } LA23: ; res_HUlFtojjnGqIOvYgs8O9b5Q += ((NI) 1); } LA20: ; } } { if (!!(((*t0).n == NIM_NIL))) goto LA27; result0 = iterovernode_IQ3sEyjkF9bhgYTOyoLg9aAA(marker0, (*t0).n, iter0, closure0); } LA27: ; } break; } } LA12: ; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, iterovertype_rDNOWZMlejde2paeU0RUPw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, TY_NyobeEdbOSlSSjn9aphc2Fg iter0, TNimObject* closure0) { NIM_BOOL result0; Intset_PQrmFm4BXFkFSVOUl1ojSg marker0; result0 = (NIM_BOOL)0; memset((void*)(&marker0), 0, sizeof(marker0)); chckNil((void*)(&marker0)); memset((void*)(&marker0), 0, sizeof(marker0)); initintset_a9a80eJplB17xrdZJ41Baww((&marker0)); result0 = iterovertypeaux_lCvieyNneYr00sIeGgjzrQ((&marker0), t0, iter0, closure0); return result0; } N_NIMCALL(NIM_BOOL, containsgenerictypeiter_wFBp0ZmhldCEmaYdVP9cn1Q)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, TNimObject* closure0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA3; result0 = ((*t0).n == NIM_NIL); goto BeforeRet; } LA3: ; { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA7; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC11; LOC11 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC11 = base_46gPaVDDGhiU69b2oKDJZuA(t0); if (!((*LOC11).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA12; result0 = NIM_TRUE; goto BeforeRet; } LA12: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC16; NIM_BOOL LOC17; LOC16 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC16 = base_46gPaVDDGhiU69b2oKDJZuA(t0); LOC17 = (NIM_BOOL)0; LOC17 = containsgenerictypeiter_wFBp0ZmhldCEmaYdVP9cn1Q(LOC16, closure0); if (!LOC17) goto LA18; result0 = NIM_TRUE; goto BeforeRet; } LA18: ; result0 = NIM_FALSE; goto BeforeRet; } LA7: ; { if (!((IL64(1727130457096590848) &((NU64)1<<((NU)((*t0).kind)&63U)))!=0)) goto LA22; result0 = NIM_TRUE; goto BeforeRet; } LA22: ; result0 = NIM_FALSE; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, containsgenerictype_Xhr5Lz1SR4KhD6lSHAyGDA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = iterovertype_rDNOWZMlejde2paeU0RUPw(t0, containsgenerictypeiter_wFBp0ZmhldCEmaYdVP9cn1Q, NIM_NIL); return result0; } N_NIMCALL(NI64, getordvalue_MzTDl1zEXJLD4sql7PhCwA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NI64 result0; result0 = (NI64)0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 15): { result0 = (*n0).kindU.S1.intval; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { result0 = IL64(0); } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58): { result0 = getordvalue_MzTDl1zEXJLD4sql7PhCwA((*n0).kindU.S6.sons->data[((NI) 1)]); } break; default: { localerror_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 77), ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_2)); result0 = IL64(0); } break; } return result0; } N_NIMCALL(NI64, firstord_HUiBYxvKiECXCv8BzQNheg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NI64 result0; result0 = (NI64)0; switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50): { result0 = IL64(0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): { result0 = firstord_HUiBYxvKiECXCv8BzQNheg((*t0).sons->data[((NI) 0)]); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { result0 = firstord_HUiBYxvKiECXCv8BzQNheg((*t0).sons->data[((NI) 0)]); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20): { result0 = getordvalue_MzTDl1zEXJLD4sql7PhCwA((*(*t0).n).kindU.S6.sons->data[((NI) 0)]); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31): { { if (!(intsize_a1bNgZBNVciKYuzCi2sD5A == ((NI) 4))) goto LA8; result0 = IL64(-2147483648); } goto LA6; LA8: ; { result0 = (IL64(-9223372036854775807) - IL64(1)); } LA6: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 32): { result0 = IL64(-128); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 33): { result0 = IL64(-32768); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 34): { result0 = IL64(-2147483648); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35): { result0 = (IL64(-9223372036854775807) - IL64(1)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44): { result0 = IL64(0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14): { { NIM_BOOL LOC19; NI LOC20; LOC19 = (NIM_BOOL)0; LOC20 = (NI)0; LOC20 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); LOC19 = (((NI) 0) < LOC20); if (!(LOC19)) goto LA21; LOC19 = !(((*t0).sons->data[((NI) 0)] == NIM_NIL)); LA21: ; if (!LOC19) goto LA22; result0 = firstord_HUiBYxvKiECXCv8BzQNheg((*t0).sons->data[((NI) 0)]); } goto LA17; LA22: ; { result0 = ((NI64) ((*(*(*(*t0).n).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).position)); } LA17: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 61): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC26; LOC26 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC26 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 = firstord_HUiBYxvKiECXCv8BzQNheg(LOC26); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 15): { { NI LOC30; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC33; LOC30 = (NI)0; LOC30 = len_gG7hUAX9cA629ahMLVL3xN4w_2(t0); if (!(((NI) 0) < LOC30)) goto LA31; LOC33 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC33 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 = firstord_HUiBYxvKiECXCv8BzQNheg(LOC33); } goto LA28; LA31: ; { NimStringDesc* LOC35; LOC35 = (NimStringDesc*)0; LOC35 = rawNewString(reprEnum((NI)(*t0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag))->Sup.len + 24); appendString(LOC35, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_116)); appendString(LOC35, reprEnum((NI)(*t0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag))); appendChar(LOC35, 41); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC35); } LA28: ; } break; default: { NimStringDesc* LOC37; LOC37 = (NimStringDesc*)0; LOC37 = rawNewString(reprEnum((NI)(*t0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag))->Sup.len + 24); appendString(LOC37, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_116)); appendString(LOC37, reprEnum((NI)(*t0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag))); appendChar(LOC37, 41); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC37); result0 = IL64(0); } break; } return result0; } N_NIMCALL(NI64, lastord_HUiBYxvKiECXCv8BzQNheg_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NI64 result0; result0 = (NI64)0; switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1): { result0 = IL64(1); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2): { result0 = IL64(255); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): { result0 = lastord_HUiBYxvKiECXCv8BzQNheg_2((*t0).sons->data[((NI) 0)]); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { result0 = lastord_HUiBYxvKiECXCv8BzQNheg_2((*t0).sons->data[((NI) 0)]); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20): { result0 = getordvalue_MzTDl1zEXJLD4sql7PhCwA((*(*t0).n).kindU.S6.sons->data[((NI) 1)]); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31): { { if (!(intsize_a1bNgZBNVciKYuzCi2sD5A == ((NI) 4))) goto LA9; result0 = IL64(2147483647); } goto LA7; LA9: ; { result0 = IL64(9223372036854775807); } LA7: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 32): { result0 = IL64(127); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 33): { result0 = IL64(32767); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 34): { result0 = IL64(2147483647); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35): { result0 = IL64(9223372036854775807); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 40): { { if (!(intsize_a1bNgZBNVciKYuzCi2sD5A == ((NI) 4))) goto LA19; result0 = IL64(4294967295); } goto LA17; LA19: ; { result0 = IL64(9223372036854775807); } LA17: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 41): { result0 = IL64(255); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 42): { result0 = IL64(65535); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 43): { result0 = IL64(4294967295); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44): { result0 = IL64(9223372036854775807); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14): { NI LOC27; LOC27 = (NI)0; LOC27 = sonslen_qPWPHw7WgJeEVYUdcaRIig((*t0).n); result0 = ((NI64) ((*(*(*(*t0).n).kindU.S6.sons->data[(NI)(LOC27 - ((NI) 1))]).kindU.S4.sym).position)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 61): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC29; LOC29 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC29 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 = lastord_HUiBYxvKiECXCv8BzQNheg_2(LOC29); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50): { result0 = IL64(0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 15): { { NI LOC34; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC37; LOC34 = (NI)0; LOC34 = len_gG7hUAX9cA629ahMLVL3xN4w_2(t0); if (!(((NI) 0) < LOC34)) goto LA35; LOC37 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC37 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 = lastord_HUiBYxvKiECXCv8BzQNheg_2(LOC37); } goto LA32; LA35: ; { NimStringDesc* LOC39; LOC39 = (NimStringDesc*)0; LOC39 = rawNewString(reprEnum((NI)(*t0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag))->Sup.len + 23); appendString(LOC39, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_117)); appendString(LOC39, reprEnum((NI)(*t0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag))); appendChar(LOC39, 41); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC39); } LA32: ; } break; default: { NimStringDesc* LOC41; LOC41 = (NimStringDesc*)0; LOC41 = rawNewString(reprEnum((NI)(*t0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag))->Sup.len + 23); appendString(LOC41, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_117)); appendString(LOC41, reprEnum((NI)(*t0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag))); appendChar(LOC41, 41); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC41); result0 = IL64(0); } break; } return result0; } N_NIMCALL(NI64, lengthord_HUiBYxvKiECXCv8BzQNheg_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NI64 result0; result0 = (NI64)0; switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 34): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31): { result0 = lastord_HUiBYxvKiECXCv8BzQNheg_2(t0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): { result0 = lengthord_HUiBYxvKiECXCv8BzQNheg_3((*t0).sons->data[((NI) 0)]); } break; default: { NI64 last0; NI64 first0; last0 = lastord_HUiBYxvKiECXCv8BzQNheg_2(t0); first0 = firstord_HUiBYxvKiECXCv8BzQNheg(t0); { NIM_BOOL LOC6; LOC6 = (NIM_BOOL)0; LOC6 = (last0 == IL64(9223372036854775807)); if (!(LOC6)) goto LA7; LOC6 = (first0 <= IL64(0)); LA7: ; if (!LOC6) goto LA8; result0 = last0; } goto LA4; LA8: ; { NI64 LOC11; NI64 LOC12; LOC11 = (NI64)0; LOC11 = lastord_HUiBYxvKiECXCv8BzQNheg_2(t0); LOC12 = (NI64)0; LOC12 = firstord_HUiBYxvKiECXCv8BzQNheg(t0); result0 = (NI64)((NI64)(LOC11 - LOC12) + IL64(1)); } LA4: ; } break; } return result0; } N_NIMCALL(NIM_BOOL, isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NIM_BOOL result0; NIM_BOOL LOC1; NIM_BOOL LOC3; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC1 = ((IL64(15459734798342) &((NU64)1<<((NU)((*t0).kind)&63U)))!=0); if (LOC1) goto LA2; LOC3 = (NIM_BOOL)0; LOC3 = ((1091600 &((NU64)1<<((NU)((*t0).kind)&63U)))!=0); if (!(LOC3)) goto LA4; LOC3 = isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2((*t0).sons->data[((NI) 0)]); LA4: ; LOC1 = LOC3; LA2: ; result0 = LOC1; return result0; } N_NIMCALL(NIM_BOOL, sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags0) { NIM_BOOL result0; Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg c0; result0 = (NIM_BOOL)0; memset((void*)(&c0), 0, sizeof(c0)); chckNil((void*)(&c0)); memset((void*)(&c0), 0, sizeof(c0)); initsametypeclosure_2P7fxxcDXEp7I2U7Lvg2Ow((&c0)); c0.flags = flags0; result0 = sametypeaux_jufViiaZhlISjPYcUqDq4A(a0, b0, (&c0)); return result0; } N_NIMCALL(NIM_BOOL, sameobjecttypes_bXxjiP8HPzKjOso3AVsG5w)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; { if (!!(((((*a0).flags | (*b0).flags) &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 8))&31U)))!=0))) goto LA3; result0 = ((*a0).Sup.id == (*b0).Sup.id); } goto LA1; LA3: ; { { NIM_BOOL LOC8; Tsametypeclosure_UjPoGeLOOcdElE05vDOvTg c0; LOC8 = (NIM_BOOL)0; LOC8 = ((((*a0).flags & (*b0).flags) &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 8))&31U)))!=0); if (!(LOC8)) goto LA9; LOC8 = ((*(*a0).sym).Sup.id == (*(*b0).sym).Sup.id); LA9: ; if (!LOC8) goto LA10; memset((void*)(&c0), 0, sizeof(c0)); chckNil((void*)(&c0)); memset((void*)(&c0), 0, sizeof(c0)); initsametypeclosure_2P7fxxcDXEp7I2U7Lvg2Ow((&c0)); result0 = sametypeaux_jufViiaZhlISjPYcUqDq4A(a0, b0, (&c0)); } LA10: ; } LA1: ; return result0; } N_NIMCALL(NI, inheritancediff_kaOr3lZpnYFOzmAx9cN5LiA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0) { NI result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* x0; Ttype_LTUWCZolpovw9cWE3JBWSUw* y0; { result0 = (NI)0; { NIM_BOOL LOC3; NIM_BOOL LOC4; LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC4 = (a0 == b0); if (LOC4) goto LA5; LOC4 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50)); LA5: ; LOC3 = LOC4; if (LOC3) goto LA6; LOC3 = ((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50)); LA6: ; if (!LOC3) goto LA7; result0 = ((NI) 0); goto BeforeRet; } LA7: ; x0 = a0; result0 = ((NI) 0); { while (1) { if (!!((x0 == NIM_NIL))) goto LA10; x0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(x0, 14682384); { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; LOC13 = sameobjecttypes_bXxjiP8HPzKjOso3AVsG5w(x0, b0); if (!LOC13) goto LA14; goto BeforeRet; } LA14: ; x0 = (*x0).sons->data[((NI) 0)]; result0 -= ((NI) 1); } LA10: ; } y0 = b0; result0 = ((NI) 0); { while (1) { if (!!((y0 == NIM_NIL))) goto LA17; y0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(y0, 14682384); { NIM_BOOL LOC20; LOC20 = (NIM_BOOL)0; LOC20 = sameobjecttypes_bXxjiP8HPzKjOso3AVsG5w(y0, a0); if (!LOC20) goto LA21; goto BeforeRet; } LA21: ; y0 = (*y0).sons->data[((NI) 0)]; result0 += ((NI) 1); } LA17: ; } result0 = ((NI) IL64(9223372036854775807)); }BeforeRet: ; return result0; } N_NIMCALL(NI, safeinheritancediff_kaOr3lZpnYFOzmAx9cN5LiA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0) { NI result0; result0 = (NI)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50)); if (LOC3) goto LA4; LOC3 = ((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50)); LA4: ; if (!LOC3) goto LA5; result0 = ((NI) -1); } goto LA1; LA5: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC8; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC9; LOC8 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC8 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(a0, 14682384); LOC9 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC9 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(b0, 14682384); result0 = inheritancediff_kaOr3lZpnYFOzmAx9cN5LiA_2(LOC8, LOC9); } LA1: ; return result0; } N_NIMCALL(NIM_BOOL, compatibleeffectsaux_0LGOh2tH40vyDRxMMzL9bOA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* se0, Tnode_bROa11lyF5vxEN9aYNbHmhw* re0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!(re0 == 0)) goto LA3; result0 = NIM_FALSE; goto BeforeRet; } LA3: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* r_KbIWkpsvRVANR8z6BT7tGA; r_KbIWkpsvRVANR8z6BT7tGA = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_jcCv86q3pn2DdIjJP3zeig; NI HEX3Atmp_jTGy9cKnTFXN2vllmrOlsCw; NI LOC7; NI res_nxt5zGWLyNuqLsAY9a7ibEA; i_jcCv86q3pn2DdIjJP3zeig = (NI)0; HEX3Atmp_jTGy9cKnTFXN2vllmrOlsCw = (NI)0; LOC7 = (NI)0; LOC7 = len_CdME9baJhvveuPEDZE9bXoxAparser(re0); HEX3Atmp_jTGy9cKnTFXN2vllmrOlsCw = (LOC7 - 1); res_nxt5zGWLyNuqLsAY9a7ibEA = ((NI) 0); { while (1) { if (!(res_nxt5zGWLyNuqLsAY9a7ibEA <= HEX3Atmp_jTGy9cKnTFXN2vllmrOlsCw)) goto LA9; i_jcCv86q3pn2DdIjJP3zeig = res_nxt5zGWLyNuqLsAY9a7ibEA; r_KbIWkpsvRVANR8z6BT7tGA = (*re0).kindU.S6.sons->data[i_jcCv86q3pn2DdIjJP3zeig]; { { Tnode_bROa11lyF5vxEN9aYNbHmhw* s_01e7Oe1FXcd9ahWusp4s4OQ; s_01e7Oe1FXcd9ahWusp4s4OQ = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_jcCv86q3pn2DdIjJP3zeig_2; NI HEX3Atmp_jTGy9cKnTFXN2vllmrOlsCw_2; NI LOC13; NI res_nxt5zGWLyNuqLsAY9a7ibEA_2; i_jcCv86q3pn2DdIjJP3zeig_2 = (NI)0; HEX3Atmp_jTGy9cKnTFXN2vllmrOlsCw_2 = (NI)0; LOC13 = (NI)0; LOC13 = len_CdME9baJhvveuPEDZE9bXoxAparser(se0); HEX3Atmp_jTGy9cKnTFXN2vllmrOlsCw_2 = (LOC13 - 1); res_nxt5zGWLyNuqLsAY9a7ibEA_2 = ((NI) 0); { while (1) { if (!(res_nxt5zGWLyNuqLsAY9a7ibEA_2 <= HEX3Atmp_jTGy9cKnTFXN2vllmrOlsCw_2)) goto LA15; i_jcCv86q3pn2DdIjJP3zeig_2 = res_nxt5zGWLyNuqLsAY9a7ibEA_2; s_01e7Oe1FXcd9ahWusp4s4OQ = (*se0).kindU.S6.sons->data[i_jcCv86q3pn2DdIjJP3zeig_2]; { NI LOC18; LOC18 = (NI)0; LOC18 = safeinheritancediff_kaOr3lZpnYFOzmAx9cN5LiA((*r_KbIWkpsvRVANR8z6BT7tGA).typ, (*s_01e7Oe1FXcd9ahWusp4s4OQ).typ); if (!(LOC18 <= ((NI) 0))) goto LA19; goto LA10; } LA19: ; res_nxt5zGWLyNuqLsAY9a7ibEA_2 += ((NI) 1); } LA15: ; } } } result0 = NIM_FALSE; goto BeforeRet; } LA10: ; res_nxt5zGWLyNuqLsAY9a7ibEA += ((NI) 1); } LA9: ; } } } result0 = NIM_TRUE; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, compatibleeffects_ulOq8f6fsd9cVuZJ1lRYKMw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0, Ttype_LTUWCZolpovw9cWE3JBWSUw* actual0) { NIM_BOOL result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* spec0; NIM_BOOL LOC46; { result0 = (NIM_BOOL)0; { NimStringDesc* LOC5; if (!!(((*(*(*formal0).n).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152)))) goto LA3; LOC5 = (NimStringDesc*)0; LOC5 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_PpBJsMJcrcWrpLTS6mci1g_118); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC5); } LA3: ; { NimStringDesc* LOC10; if (!!(((*(*(*actual0).n).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152)))) goto LA8; LOC10 = (NimStringDesc*)0; LOC10 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_PpBJsMJcrcWrpLTS6mci1g_119); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC10); } LA8: ; spec0 = (*(*formal0).n).kindU.S6.sons->data[((NI) 0)]; { NI LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* real0; Tnode_bROa11lyF5vxEN9aYNbHmhw* se0; Tnode_bROa11lyF5vxEN9aYNbHmhw* st0; LOC13 = (NI)0; LOC13 = len_CdME9baJhvveuPEDZE9bXoxAparser(spec0); if (!!((LOC13 == ((NI) 0)))) goto LA14; real0 = (*(*actual0).n).kindU.S6.sons->data[((NI) 0)]; se0 = (*spec0).kindU.S6.sons->data[((NI) 0)]; { NIM_BOOL LOC18; LOC18 = (NIM_BOOL)0; LOC18 = !((se0 == 0)); if (!(LOC18)) goto LA19; LOC18 = !(((*se0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152))); LA19: ; if (!LOC18) goto LA20; { NI LOC24; LOC24 = (NI)0; LOC24 = len_CdME9baJhvveuPEDZE9bXoxAparser(real0); if (!(LOC24 == ((NI) 0))) goto LA25; result0 = NIM_FALSE; goto BeforeRet; } LA25: ; result0 = compatibleeffectsaux_0LGOh2tH40vyDRxMMzL9bOA(se0, (*real0).kindU.S6.sons->data[((NI) 0)]); { if (!!(result0)) goto LA29; goto BeforeRet; } LA29: ; } LA20: ; st0 = (*spec0).kindU.S6.sons->data[((NI) 3)]; { NIM_BOOL LOC33; LOC33 = (NIM_BOOL)0; LOC33 = !((st0 == 0)); if (!(LOC33)) goto LA34; LOC33 = !(((*st0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 152))); LA34: ; if (!LOC33) goto LA35; { NI LOC39; LOC39 = (NI)0; LOC39 = len_CdME9baJhvveuPEDZE9bXoxAparser(real0); if (!(LOC39 == ((NI) 0))) goto LA40; result0 = NIM_FALSE; goto BeforeRet; } LA40: ; result0 = compatibleeffectsaux_0LGOh2tH40vyDRxMMzL9bOA(st0, (*real0).kindU.S6.sons->data[((NI) 3)]); { if (!!(result0)) goto LA44; goto BeforeRet; } LA44: ; } LA35: ; } LA14: ; LOC46 = (NIM_BOOL)0; LOC46 = (((NI) ((*formal0).locklevel)) < ((NI) 0)); if (LOC46) goto LA47; LOC46 = (((NI) ((*actual0).locklevel)) <= ((NI) ((*formal0).locklevel))); LA47: ; result0 = LOC46; }BeforeRet: ; return result0; } N_NIMCALL(NimStringDesc*, getprocheader_9c0TLKVGuRBEJe67tk7UlpA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0) { NimStringDesc* result0; NimStringDesc* LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; result0 = (NimStringDesc*)0; LOC1 = (NimStringDesc*)0; LOC1 = rawNewString((*(*(*sym0).owner).name).s->Sup.len + (*(*sym0).name).s->Sup.len + 2); appendString(LOC1, (*(*(*sym0).owner).name).s); appendChar(LOC1, 46); appendString(LOC1, (*(*sym0).name).s); appendChar(LOC1, 40); result0 = LOC1; n0 = (*(*sym0).typ).n; { NI i_lbx5yddM6CgUfaW4Nli8JQ; NI HEX3Atmp_GpqCA1vJQ29calB2VCQttgg; NI LOC3; NI res_8vyhlE9c36otdfjmhAqVlTA; i_lbx5yddM6CgUfaW4Nli8JQ = (NI)0; HEX3Atmp_GpqCA1vJQ29calB2VCQttgg = (NI)0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_GpqCA1vJQ29calB2VCQttgg = (NI)(LOC3 - ((NI) 1)); res_8vyhlE9c36otdfjmhAqVlTA = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* p0; if (!(res_8vyhlE9c36otdfjmhAqVlTA <= HEX3Atmp_GpqCA1vJQ29calB2VCQttgg)) goto LA5; i_lbx5yddM6CgUfaW4Nli8JQ = res_8vyhlE9c36otdfjmhAqVlTA; p0 = (*n0).kindU.S6.sons->data[i_lbx5yddM6CgUfaW4Nli8JQ]; { NimStringDesc* LOC10; if (!((*p0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA8; result0 = resizeString(result0, (*(*(*p0).kindU.S4.sym).name).s->Sup.len + 0); appendString(result0, (*(*(*p0).kindU.S4.sym).name).s); result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_102)); LOC10 = (NimStringDesc*)0; LOC10 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*(*p0).kindU.S4.sym).typ, prefer0); result0 = resizeString(result0, LOC10->Sup.len + 0); appendString(result0, LOC10); { NI LOC13; LOC13 = (NI)0; LOC13 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!!((i_lbx5yddM6CgUfaW4Nli8JQ == (NI)(LOC13 - ((NI) 1))))) goto LA14; result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_70)); } LA14: ; } goto LA6; LA8: ; { internalerror_5XY9cUy7hZmUusM38U9cYYdw(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_120)); } LA6: ; res_8vyhlE9c36otdfjmhAqVlTA += ((NI) 1); } LA5: ; } } result0 = addChar(result0, 41); { NimStringDesc* LOC21; NimStringDesc* LOC22; if (!!(((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ == NIM_NIL))) goto LA19; LOC21 = (NimStringDesc*)0; LOC22 = (NimStringDesc*)0; LOC22 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*(*n0).kindU.S6.sons->data[((NI) 0)]).typ, prefer0); LOC21 = rawNewString(LOC22->Sup.len + 2); appendString(LOC21, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_102)); appendString(LOC21, LOC22); result0 = resizeString(result0, LOC21->Sup.len + 0); appendString(result0, LOC21); } LA19: ; return result0; } N_NIMCALL(NIM_BOOL, isemptycontainer_XI7vH8jtAcp7rWqTmfZOSg_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): { result0 = NIM_TRUE; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { result0 = ((*(*t0).sons->data[((NI) 1)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48): { result0 = ((*(*t0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC5; LOC5 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC5 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 = isemptycontainer_XI7vH8jtAcp7rWqTmfZOSg_3(LOC5); } break; default: { result0 = NIM_FALSE; } break; } return result0; } N_NIMCALL(NI64, align_cVCSd8KLZiZIqEQdp6syvA)(NI64 address0, NI64 alignment0) { NI64 result0; result0 = (NI64)0; result0 = (NI64)((NI64)(address0 + (NI64)(alignment0 - IL64(1))) & (NI64)((NU64) ~((NI64)(alignment0 - IL64(1))))); return result0; } N_NIMCALL(NIM_BOOL, isobjectwithtypefieldpredicate_XI7vH8jtAcp7rWqTmfZOSg_4)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NIM_BOOL result0; NIM_BOOL LOC1; NIM_BOOL LOC2; NIM_BOOL LOC3; NIM_BOOL LOC6; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC2 = (NIM_BOOL)0; LOC3 = (NIM_BOOL)0; LOC3 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); if (!(LOC3)) goto LA4; LOC3 = ((*t0).sons->data[((NI) 0)] == NIM_NIL); LA4: ; LOC2 = LOC3; if (!(LOC2)) goto LA5; LOC6 = (NIM_BOOL)0; LOC6 = !(((*t0).sym == NIM_NIL)); if (!(LOC6)) goto LA7; LOC6 = !(((134218240 & (*(*t0).sym).flags) == 0)); LA7: ; LOC2 = !(LOC6); LA5: ; LOC1 = LOC2; if (!(LOC1)) goto LA8; LOC1 = !((((*t0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 2))&31U)))!=0)); LA8: ; result0 = LOC1; return result0; } N_NIMCALL(NI64, computerecsizeaux_0IY3g4Cu1G3IOCydXK9cynw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI64* a0, NI64* curroffset0) { NI64 result0; NI64 maxalign0; NI64 maxsize0; NI64 b0; NI64 res0; { result0 = (NI64)0; maxalign0 = (NI64)0; maxsize0 = (NI64)0; b0 = (NI64)0; res0 = (NI64)0; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139): { NI64 LOC13; NI64 LOC14; result0 = computerecsizeaux_0IY3g4Cu1G3IOCydXK9cynw((*n0).kindU.S6.sons->data[((NI) 0)], a0, curroffset0); maxsize0 = IL64(0); maxalign0 = IL64(1); { NI i_8fLfqVIuuas5qPnHoWt9aUg; NI HEX3Atmp_3f9botvMEltIfb9b9bDVWtxpw; NI LOC3; NI res_T2ORRZtAs6il29c9b2EcAJDA; i_8fLfqVIuuas5qPnHoWt9aUg = (NI)0; HEX3Atmp_3f9botvMEltIfb9b9bDVWtxpw = (NI)0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_3f9botvMEltIfb9b9bDVWtxpw = (NI)(LOC3 - ((NI) 1)); res_T2ORRZtAs6il29c9b2EcAJDA = ((NI) 1); { while (1) { if (!(res_T2ORRZtAs6il29c9b2EcAJDA <= HEX3Atmp_3f9botvMEltIfb9b9bDVWtxpw)) goto LA5; i_8fLfqVIuuas5qPnHoWt9aUg = res_T2ORRZtAs6il29c9b2EcAJDA; switch ((*(*n0).kindU.S6.sons->data[i_8fLfqVIuuas5qPnHoWt9aUg]).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 85): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = lastson_esDJA7239bJDiq4UrX9aHCjg((*n0).kindU.S6.sons->data[i_8fLfqVIuuas5qPnHoWt9aUg]); res0 = computerecsizeaux_0IY3g4Cu1G3IOCydXK9cynw(LOC7, (&b0), curroffset0); { if (!(res0 < IL64(0))) goto LA10; result0 = res0; goto BeforeRet; } LA10: ; maxsize0 = ((maxsize0 >= res0) ? maxsize0 : res0); maxalign0 = ((maxalign0 >= b0) ? maxalign0 : b0); } break; default: { internalerror_5XY9cUy7hZmUusM38U9cYYdw(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_121)); } break; } res_T2ORRZtAs6il29c9b2EcAJDA += ((NI) 1); } LA5: ; } } LOC13 = (NI64)0; LOC13 = align_cVCSd8KLZiZIqEQdp6syvA((*curroffset0), maxalign0); (*curroffset0) = (NI64)(LOC13 + maxsize0); LOC14 = (NI64)0; LOC14 = align_cVCSd8KLZiZIqEQdp6syvA(result0, maxalign0); result0 = (NI64)(LOC14 + maxsize0); (*a0) = maxalign0; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138): { result0 = IL64(0); maxalign0 = IL64(1); { NI i_8fLfqVIuuas5qPnHoWt9aUg_2; NI HEX3Atmp_3f9botvMEltIfb9b9bDVWtxpw_2; NI LOC17; NI res_T2ORRZtAs6il29c9b2EcAJDA_2; i_8fLfqVIuuas5qPnHoWt9aUg_2 = (NI)0; HEX3Atmp_3f9botvMEltIfb9b9bDVWtxpw_2 = (NI)0; LOC17 = (NI)0; LOC17 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_3f9botvMEltIfb9b9bDVWtxpw_2 = (NI)(LOC17 - ((NI) 1)); res_T2ORRZtAs6il29c9b2EcAJDA_2 = ((NI) 0); { while (1) { NI64 LOC24; NI64 LOC25; if (!(res_T2ORRZtAs6il29c9b2EcAJDA_2 <= HEX3Atmp_3f9botvMEltIfb9b9bDVWtxpw_2)) goto LA19; i_8fLfqVIuuas5qPnHoWt9aUg_2 = res_T2ORRZtAs6il29c9b2EcAJDA_2; res0 = computerecsizeaux_0IY3g4Cu1G3IOCydXK9cynw((*n0).kindU.S6.sons->data[i_8fLfqVIuuas5qPnHoWt9aUg_2], (&b0), curroffset0); { if (!(res0 < IL64(0))) goto LA22; result0 = res0; goto BeforeRet; } LA22: ; LOC24 = (NI64)0; LOC24 = align_cVCSd8KLZiZIqEQdp6syvA((*curroffset0), b0); (*curroffset0) = (NI64)(LOC24 + res0); LOC25 = (NI64)0; LOC25 = align_cVCSd8KLZiZIqEQdp6syvA(result0, b0); result0 = (NI64)(LOC25 + res0); { if (!(maxalign0 < b0)) goto LA28; maxalign0 = b0; } LA28: ; res_T2ORRZtAs6il29c9b2EcAJDA_2 += ((NI) 1); } LA19: ; } } (*a0) = maxalign0; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { result0 = computesizeaux_GWNdBwQ9anoYjYTj9a3aaE6w((*(*n0).kindU.S4.sym).typ, a0); (*(*n0).kindU.S4.sym).offset = ((NI) ((*curroffset0))); } break; default: { (*a0) = IL64(1); result0 = IL64(-3); } break; } }BeforeRet: ; return result0; } N_NIMCALL(NI64, computesizeaux_GWNdBwQ9anoYjYTj9a3aaE6w)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, NI64* a0) { NI64 result0; NI64 res0; NI64 maxalign0; NI64 length0; NI64 curroffset0; { result0 = (NI64)0; res0 = (NI64)0; maxalign0 = (NI64)0; length0 = (NI64)0; curroffset0 = (NI64)0; { if (!((*typ0).size == IL64(-2))) goto LA3; result0 = IL64(-2); goto BeforeRet; } LA3: ; { if (!(IL64(0) <= (*typ0).size)) goto LA7; result0 = (*typ0).size; (*a0) = ((NI64) ((*typ0).align)); goto BeforeRet; } LA7: ; (*typ0).size = IL64(-2); switch ((*typ0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 40): { result0 = ((NI64) (intsize_a1bNgZBNVciKYuzCi2sD5A)); (*a0) = result0; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 32): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 41): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2): { result0 = IL64(1); (*a0) = result0; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 33): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 42): { result0 = IL64(2); (*a0) = result0; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 34): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 43): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 37): { result0 = IL64(4); (*a0) = result0; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 38): { result0 = IL64(8); (*a0) = result0; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 39): { result0 = IL64(16); (*a0) = result0; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 36): { result0 = ((NI64) (floatsize_9aPM39cxaqttCZlYIk3psY3g)); (*a0) = result0; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25): { { if (!((*typ0).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8))) goto LA19; result0 = ((NI64) ((NI)(((NI) 2) * ptrsize_3AYcIlvHY9bTK1eNdc8MESQ))); } goto LA17; LA19: ; { result0 = ((NI64) (ptrsize_3AYcIlvHY9bTK1eNdc8MESQ)); } LA17: ; (*a0) = ((NI64) (ptrsize_3AYcIlvHY9bTK1eNdc8MESQ)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): { Ttype_LTUWCZolpovw9cWE3JBWSUw* base0; base0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(typ0); { NIM_BOOL LOC25; NIM_BOOL LOC27; LOC25 = (NIM_BOOL)0; LOC25 = (base0 == typ0); if (LOC25) goto LA26; LOC27 = (NIM_BOOL)0; LOC27 = ((*base0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18)); if (!(LOC27)) goto LA28; LOC27 = ((*base0).size == IL64(-2)); LA28: ; LOC25 = LOC27; LA26: ; if (!LOC25) goto LA29; result0 = IL64(-2); } goto LA23; LA29: ; { result0 = ((NI64) (ptrsize_3AYcIlvHY9bTK1eNdc8MESQ)); } LA23: ; (*a0) = result0; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { NI64 elemsize0; NI64 LOC37; elemsize0 = computesizeaux_GWNdBwQ9anoYjYTj9a3aaE6w((*typ0).sons->data[((NI) 1)], a0); { if (!(elemsize0 < IL64(0))) goto LA35; result0 = elemsize0; goto BeforeRet; } LA35: ; LOC37 = (NI64)0; LOC37 = lengthord_HUiBYxvKiECXCv8BzQNheg_3((*typ0).sons->data[((NI) 0)]); result0 = (NI64)(LOC37 * elemsize0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14): { { NI64 LOC41; LOC41 = (NI64)0; LOC41 = firstord_HUiBYxvKiECXCv8BzQNheg(typ0); if (!(LOC41 < IL64(0))) goto LA42; result0 = IL64(4); } goto LA39; LA42: ; { length0 = lastord_HUiBYxvKiECXCv8BzQNheg_2(typ0); { if (!((NI64)(length0 + IL64(1)) < IL64(256))) goto LA47; result0 = IL64(1); } goto LA45; LA47: ; { if (!((NI64)(length0 + IL64(1)) < IL64(65536))) goto LA50; result0 = IL64(2); } goto LA45; LA50: ; { if (!((NI64)(length0 + IL64(1)) < IL64(4294967296))) goto LA53; result0 = IL64(4); } goto LA45; LA53: ; { result0 = IL64(8); } LA45: ; } LA39: ; (*a0) = result0; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): { { if (!((*(*typ0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA59; result0 = IL64(-1); } goto LA57; LA59: ; { length0 = lengthord_HUiBYxvKiECXCv8BzQNheg_3((*typ0).sons->data[((NI) 0)]); { if (!(length0 <= IL64(8))) goto LA64; result0 = IL64(1); } goto LA62; LA64: ; { if (!(length0 <= IL64(16))) goto LA67; result0 = IL64(2); } goto LA62; LA67: ; { if (!(length0 <= IL64(32))) goto LA70; result0 = IL64(4); } goto LA62; LA70: ; { if (!(length0 <= IL64(64))) goto LA73; result0 = IL64(8); } goto LA62; LA73: ; { NI64 LOC76; NI64 LOC79; LOC76 = (NI64)0; LOC76 = align_cVCSd8KLZiZIqEQdp6syvA(length0, IL64(8)); if (!(((NI) ((NI64)(LOC76 % IL64(8)))) == ((NI) 0))) goto LA77; LOC79 = (NI64)0; LOC79 = align_cVCSd8KLZiZIqEQdp6syvA(length0, IL64(8)); result0 = (NI64)(LOC79 / IL64(8)); } goto LA62; LA77: ; { NI64 LOC81; LOC81 = (NI64)0; LOC81 = align_cVCSd8KLZiZIqEQdp6syvA(length0, IL64(8)); result0 = (NI64)((NI64)(LOC81 / IL64(8)) + IL64(1)); } LA62: ; } LA57: ; (*a0) = result0; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20): { result0 = computesizeaux_GWNdBwQ9anoYjYTj9a3aaE6w((*typ0).sons->data[((NI) 0)], a0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): { result0 = IL64(0); maxalign0 = IL64(1); { NI i_tdgpQXvQL0U3xAU9cVR4YjQ; NI HEX3Atmp_pcQkqv1wHc8wZCvSSifuCA; NI LOC85; NI res_WtPNxn9a4tNUt7h9cp2juAUw; i_tdgpQXvQL0U3xAU9cVR4YjQ = (NI)0; HEX3Atmp_pcQkqv1wHc8wZCvSSifuCA = (NI)0; LOC85 = (NI)0; LOC85 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(typ0); HEX3Atmp_pcQkqv1wHc8wZCvSSifuCA = (NI)(LOC85 - ((NI) 1)); res_WtPNxn9a4tNUt7h9cp2juAUw = ((NI) 0); { while (1) { NI64 LOC92; if (!(res_WtPNxn9a4tNUt7h9cp2juAUw <= HEX3Atmp_pcQkqv1wHc8wZCvSSifuCA)) goto LA87; i_tdgpQXvQL0U3xAU9cVR4YjQ = res_WtPNxn9a4tNUt7h9cp2juAUw; res0 = computesizeaux_GWNdBwQ9anoYjYTj9a3aaE6w((*typ0).sons->data[i_tdgpQXvQL0U3xAU9cVR4YjQ], a0); { if (!(res0 < IL64(0))) goto LA90; result0 = res0; goto BeforeRet; } LA90: ; maxalign0 = ((maxalign0 >= (*a0)) ? maxalign0 : (*a0)); LOC92 = (NI64)0; LOC92 = align_cVCSd8KLZiZIqEQdp6syvA(result0, (*a0)); result0 = (NI64)(LOC92 + res0); res_WtPNxn9a4tNUt7h9cp2juAUw += ((NI) 1); } LA87: ; } } result0 = align_cVCSd8KLZiZIqEQdp6syvA(result0, maxalign0); (*a0) = maxalign0; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17): { { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC98; if (!!(((*typ0).sons->data[((NI) 0)] == NIM_NIL))) goto LA96; LOC98 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC98 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*typ0).sons->data[((NI) 0)], 14682384); result0 = computesizeaux_GWNdBwQ9anoYjYTj9a3aaE6w(LOC98, a0); { if (!(result0 < IL64(0))) goto LA101; goto BeforeRet; } LA101: ; maxalign0 = (*a0); } goto LA94; LA96: ; { NIM_BOOL LOC104; LOC104 = (NIM_BOOL)0; LOC104 = isobjectwithtypefieldpredicate_XI7vH8jtAcp7rWqTmfZOSg_4(typ0); if (!LOC104) goto LA105; result0 = ((NI64) (intsize_a1bNgZBNVciKYuzCi2sD5A)); maxalign0 = result0; } goto LA94; LA105: ; { result0 = IL64(0); maxalign0 = IL64(1); } LA94: ; curroffset0 = result0; result0 = computerecsizeaux_0IY3g4Cu1G3IOCydXK9cynw((*typ0).n, a0, (&curroffset0)); { if (!(result0 < IL64(0))) goto LA110; goto BeforeRet; } LA110: ; { if (!((*a0) < maxalign0)) goto LA114; (*a0) = maxalign0; } LA114: ; result0 = align_cVCSd8KLZiZIqEQdp6syvA(result0, (*a0)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC117; LOC117 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC117 = lastson_E41DMKHtT9c6sAMyyvhmSIw(typ0); result0 = computesizeaux_GWNdBwQ9anoYjYTj9a3aaE6w(LOC117, a0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC119; LOC119 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC119 = base_46gPaVDDGhiU69b2oKDJZuA(typ0); result0 = computesizeaux_GWNdBwQ9anoYjYTj9a3aaE6w(LOC119, a0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 30): { result0 = IL64(-2); goto BeforeRet; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59): { { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC126; if (!!(((*typ0).n == NIM_NIL))) goto LA124; LOC126 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC126 = lastson_E41DMKHtT9c6sAMyyvhmSIw(typ0); result0 = computesizeaux_GWNdBwQ9anoYjYTj9a3aaE6w(LOC126, a0); } goto LA122; LA124: ; { result0 = IL64(-1); } LA122: ; } break; default: { result0 = IL64(-1); } break; } (*typ0).size = result0; (*typ0).align = ((NI16) ((*a0))); }BeforeRet: ; return result0; } N_NIMCALL(NI64, computesize_spMpEAO8ubfQavMigOxQdA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0) { NI64 result0; NI64 a0; result0 = (NI64)0; a0 = IL64(1); result0 = computesizeaux_GWNdBwQ9anoYjYTj9a3aaE6w(typ0, (&a0)); return result0; } N_NIMCALL(NI64, getsize_spMpEAO8ubfQavMigOxQdA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0) { NI64 result0; result0 = (NI64)0; result0 = computesize_spMpEAO8ubfQavMigOxQdA_2(typ0); { NimStringDesc* LOC5; if (!(result0 < IL64(0))) goto LA3; LOC5 = (NimStringDesc*)0; LOC5 = rawNewString(reprEnum((NI)(*typ0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag))->Sup.len + 9); appendString(LOC5, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_122)); appendString(LOC5, reprEnum((NI)(*typ0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag))); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC5); } LA3: ; return result0; } N_NIMCALL(NIM_BOOL, sametypeornil_EjIk4Kwv9bxfpaU9cx49cCrBQ_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; { if (!(a0 == b0)) goto LA3; result0 = NIM_TRUE; } goto LA1; LA3: ; { { NIM_BOOL LOC8; LOC8 = (NIM_BOOL)0; LOC8 = (a0 == NIM_NIL); if (LOC8) goto LA9; LOC8 = (b0 == NIM_NIL); LA9: ; if (!LOC8) goto LA10; result0 = NIM_FALSE; } goto LA6; LA10: ; { result0 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ(a0, b0, flags0); } LA6: ; } LA1: ; return result0; } N_NIMCALL(NIM_BOOL, enumhasholes_XI7vH8jtAcp7rWqTmfZOSg_5)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NIM_BOOL result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* b0; NIM_BOOL LOC3; result0 = (NIM_BOOL)0; b0 = t0; { while (1) { if (!((1050640 &((NU64)1<<((NU)((*b0).kind)&63U)))!=0)) goto LA2; b0 = (*b0).sons->data[((NI) 0)]; } LA2: ; } LOC3 = (NIM_BOOL)0; LOC3 = ((*b0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14)); if (!(LOC3)) goto LA4; LOC3 = (((*b0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 5))&31U)))!=0); LA4: ; result0 = LOC3; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, commonsuperclass_azGRUGuep6m80Ob3xHdYLQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* x0; Intset_PQrmFm4BXFkFSVOUl1ojSg ancestors0; Ttype_LTUWCZolpovw9cWE3JBWSUw* y0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = sameobjecttypes_bXxjiP8HPzKjOso3AVsG5w(a0, b0); if (!LOC3) goto LA4; result0 = a0; goto BeforeRet; } LA4: ; x0 = a0; memset((void*)(&ancestors0), 0, sizeof(ancestors0)); chckNil((void*)(&ancestors0)); memset((void*)(&ancestors0), 0, sizeof(ancestors0)); initintset_a9a80eJplB17xrdZJ41Baww((&ancestors0)); { while (1) { if (!!((x0 == NIM_NIL))) goto LA7; x0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(x0, 14682384); incl_iUpE9bYmIR0fROyJskQwN8g((&ancestors0), (*x0).Sup.id); x0 = (*x0).sons->data[((NI) 0)]; } LA7: ; } y0 = b0; { while (1) { if (!!((y0 == NIM_NIL))) goto LA9; y0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(y0, 14682384); { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = contains_sYBLNwnPJlAFi0nfWU79awg((&ancestors0), (*y0).Sup.id); if (!LOC12) goto LA13; result0 = y0; goto BeforeRet; } LA13: ; y0 = (*y0).sons->data[((NI) 0)]; } LA9: ; } }BeforeRet: ; return result0; } N_NIMCALL(Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ, equalparam_JF35V7e64xw0eFBfT9cGw9bQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* a0, Tsym_AXG7xcvKqaxY6koRX1xkCw* b0) { Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ result0; result0 = (Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = sametypeornil_EjIk4Kwv9bxfpaU9cx49cCrBQ_2((*a0).typ, (*b0).typ, 4); if (!(LOC3)) goto LA4; LOC3 = exprstructuralequivalent_XApnXRaD9btY9a4pkMO0ITTg((*a0).constraint, (*b0).constraint, NIM_FALSE); LA4: ; if (!LOC3) goto LA5; { if (!((*a0).ast == (*b0).ast)) goto LA9; result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 1); } goto LA7; LA9: ; { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = !(((*a0).ast == NIM_NIL)); if (!(LOC12)) goto LA13; LOC12 = !(((*b0).ast == NIM_NIL)); LA13: ; if (!LOC12) goto LA14; { NIM_BOOL LOC18; LOC18 = (NIM_BOOL)0; LOC18 = exprstructuralequivalent_XApnXRaD9btY9a4pkMO0ITTg((*a0).ast, (*b0).ast, NIM_FALSE); if (!LOC18) goto LA19; result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 1); } goto LA16; LA19: ; { result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 2); } LA16: ; } goto LA7; LA14: ; { if (!!(((*a0).ast == NIM_NIL))) goto LA23; result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 1); } goto LA7; LA23: ; { if (!!(((*b0).ast == NIM_NIL))) goto LA26; result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 2); } goto LA7; LA26: ; LA7: ; } goto LA1; LA5: ; { result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 0); } LA1: ; return result0; } N_NIMCALL(Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ, equalparams_rxsP2U5qp9atwRH9aUfmAquQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0) { Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ result0; NI length0; { result0 = (Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ)0; result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 1); length0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(a0); { NI LOC3; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(b0); if (!!((length0 == LOC3))) goto LA4; result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 0); } goto LA1; LA4: ; { { NI i_AuTkj9cJoSFFyTAvCvOTt8g; NI HEX3Atmp_bPp8uKFphCpHwDS4AKXZcw; NI res_gdp83tAbiQDnOh855RRUBQ; i_AuTkj9cJoSFFyTAvCvOTt8g = (NI)0; HEX3Atmp_bPp8uKFphCpHwDS4AKXZcw = (NI)0; HEX3Atmp_bPp8uKFphCpHwDS4AKXZcw = (NI)(length0 - ((NI) 1)); res_gdp83tAbiQDnOh855RRUBQ = ((NI) 1); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* m0; Tsym_AXG7xcvKqaxY6koRX1xkCw* n0; Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ LOC10; if (!(res_gdp83tAbiQDnOh855RRUBQ <= HEX3Atmp_bPp8uKFphCpHwDS4AKXZcw)) goto LA9; i_AuTkj9cJoSFFyTAvCvOTt8g = res_gdp83tAbiQDnOh855RRUBQ; m0 = (*(*a0).kindU.S6.sons->data[i_AuTkj9cJoSFFyTAvCvOTt8g]).kindU.S4.sym; n0 = (*(*b0).kindU.S6.sons->data[i_AuTkj9cJoSFFyTAvCvOTt8g]).kindU.S4.sym; LOC10 = (Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ)0; LOC10 = equalparam_JF35V7e64xw0eFBfT9cGw9bQ(m0, n0); switch (LOC10) { case ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 0): { result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 0); goto BeforeRet; } break; case ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 1): { } break; case ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 2): { result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 2); } break; } { if (!!(((*(*m0).name).Sup.id == (*(*n0).name).Sup.id))) goto LA16; result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 0); goto BeforeRet; } LA16: ; res_gdp83tAbiQDnOh855RRUBQ += ((NI) 1); } LA9: ; } } { NIM_BOOL LOC20; LOC20 = (NIM_BOOL)0; LOC20 = sametypeornil_EjIk4Kwv9bxfpaU9cx49cCrBQ_2((*(*a0).kindU.S6.sons->data[((NI) 0)]).typ, (*(*b0).kindU.S6.sons->data[((NI) 0)]).typ, 4); if (!!(LOC20)) goto LA21; { NIM_BOOL LOC25; LOC25 = (NIM_BOOL)0; LOC25 = ((*(*a0).kindU.S6.sons->data[((NI) 0)]).typ == NIM_NIL); if (LOC25) goto LA26; LOC25 = ((*(*b0).kindU.S6.sons->data[((NI) 0)]).typ == NIM_NIL); LA26: ; if (!LOC25) goto LA27; result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 0); } goto LA23; LA27: ; { result0 = ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 2); } LA23: ; } LA21: ; } LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, typeallowednode_QDz2PYRBTDJyLlPFaePFFg)(Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Ttypeallowedflag_wySCBkY0DFkxIXMhoVC4cw_Set flags0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!!((n0 == NIM_NIL))) goto LA3; result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, (*n0).typ, kind0, flags0); { if (!(result0 == NIM_NIL)) goto LA7; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23): { } break; default: { { NIM_BOOL LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC17; LOC13 = (NIM_BOOL)0; LOC13 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139)); if (!(LOC13)) goto LA14; LOC13 = ((5120 &(1U<<((NU)(kind0)&31U)))!=0); LA14: ; if (!LOC13) goto LA15; LOC17 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC17 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAparser(n0, ((NI) 0)); result0 = (*LOC17).typ; goto BeforeRet; } LA15: ; { NI i_5OH9bMEzofsvJTYFVPujMoA; NI HEX3Atmp_NgrLUqE0Uh7A5L84NR9bJVg; NI LOC19; NI res_A2bLT1eMBzlU9alL9cUCkZ1g; i_5OH9bMEzofsvJTYFVPujMoA = (NI)0; HEX3Atmp_NgrLUqE0Uh7A5L84NR9bJVg = (NI)0; LOC19 = (NI)0; LOC19 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_NgrLUqE0Uh7A5L84NR9bJVg = (NI)(LOC19 - ((NI) 1)); res_A2bLT1eMBzlU9alL9cUCkZ1g = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* it0; if (!(res_A2bLT1eMBzlU9alL9cUCkZ1g <= HEX3Atmp_NgrLUqE0Uh7A5L84NR9bJVg)) goto LA21; i_5OH9bMEzofsvJTYFVPujMoA = res_A2bLT1eMBzlU9alL9cUCkZ1g; it0 = (*n0).kindU.S6.sons->data[i_5OH9bMEzofsvJTYFVPujMoA]; result0 = typeallowednode_QDz2PYRBTDJyLlPFaePFFg(marker0, it0, kind0, flags0); { if (!!((result0 == NIM_NIL))) goto LA24; goto LA18; } LA24: ; res_A2bLT1eMBzlU9alL9cUCkZ1g += ((NI) 1); } LA21: ; } } LA18: ; } break; } } LA7: ; } LA3: ; }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ)(Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0, Ttypeallowedflag_wySCBkY0DFkxIXMhoVC4cw_Set flags_uFQQWjvFo9c9aC1ZbtaUJRUw) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = NIM_NIL; { if (!(typ0 == NIM_NIL)) goto LA3; goto BeforeRet; } LA3: ; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg(marker0, (*typ0).Sup.id); if (!LOC7) goto LA8; goto BeforeRet; } LA8: ; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(typ0, 43024); switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): { Ttype_LTUWCZolpovw9cWE3JBWSUw* t20; { if (!((5120 &(1U<<((NU)(kind0)&31U)))!=0)) goto LA13; result0 = t0; goto BeforeRet; } LA13: ; t20 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[((NI) 0)], 43024); switch ((*t20).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): { { if (!!(((flags_uFQQWjvFo9c9aC1ZbtaUJRUw &(1U<<((NU)(((Ttypeallowedflag_wySCBkY0DFkxIXMhoVC4cw) 1))&7U)))!=0))) goto LA18; result0 = t20; } LA18: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): { { if (!!((kind0 == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)))) goto LA23; result0 = t0; } goto LA21; LA23: ; { result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, t20, kind0, flags_uFQQWjvFo9c9aC1ZbtaUJRUw); } LA21: ; } break; default: { { if (!!(((2056 &(1U<<((NU)(kind0)&31U)))!=0))) goto LA29; result0 = t0; } goto LA27; LA29: ; { result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, t20, kind0, flags_uFQQWjvFo9c9aC1ZbtaUJRUw); } LA27: ; } break; } } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25): { { NIM_BOOL LOC35; LOC35 = (NIM_BOOL)0; LOC35 = (kind0 == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10)); if (!(LOC35)) goto LA36; LOC35 = ((*t0).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8)); LA36: ; if (!LOC35) goto LA37; result0 = t0; goto BeforeRet; } LA37: ; { NI i_dqTFkHQ5FkzKpKgxXzP7Zg; NI HEX3Atmp_APsAG49c8AIvVTraHe9avYpA; NI LOC40; NI res_R4epcpJZSu5Ui4FiTMqeKA; i_dqTFkHQ5FkzKpKgxXzP7Zg = (NI)0; HEX3Atmp_APsAG49c8AIvVTraHe9avYpA = (NI)0; LOC40 = (NI)0; LOC40 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_APsAG49c8AIvVTraHe9avYpA = (NI)(LOC40 - ((NI) 1)); res_R4epcpJZSu5Ui4FiTMqeKA = ((NI) 1); { while (1) { if (!(res_R4epcpJZSu5Ui4FiTMqeKA <= HEX3Atmp_APsAG49c8AIvVTraHe9avYpA)) goto LA42; i_dqTFkHQ5FkzKpKgxXzP7Zg = res_R4epcpJZSu5Ui4FiTMqeKA; result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, (*t0).sons->data[i_dqTFkHQ5FkzKpKgxXzP7Zg], ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3), flags_uFQQWjvFo9c9aC1ZbtaUJRUw); { if (!!((result0 == NIM_NIL))) goto LA45; goto LA39; } LA45: ; res_R4epcpJZSu5Ui4FiTMqeKA += ((NI) 1); } LA42: ; } } LA39: ; { NIM_BOOL LOC49; LOC49 = (NIM_BOOL)0; LOC49 = (result0 == 0); if (!(LOC49)) goto LA50; LOC49 = !(((*t0).sons->data[((NI) 0)] == NIM_NIL)); LA50: ; if (!LOC49) goto LA51; result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, (*t0).sons->data[((NI) 0)], ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 11), flags_uFQQWjvFo9c9aC1ZbtaUJRUw); } LA51: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): { result0 = NIM_NIL; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59): { { if (!!(((2056 &(1U<<((NU)(kind0)&31U)))!=0))) goto LA57; result0 = t0; } LA57: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 62): { { if (!!(((flags_uFQQWjvFo9c9aC1ZbtaUJRUw &(1U<<((NU)(((Ttypeallowedflag_wySCBkY0DFkxIXMhoVC4cw) 0))&7U)))!=0))) goto LA62; result0 = t0; } LA62: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 51): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 54): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 52): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 53): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 55): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 56): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 57): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58): { { NIM_BOOL LOC67; LOC67 = (NIM_BOOL)0; LOC67 = (((*t0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 23))&31U)))!=0); if (LOC67) goto LA68; LOC67 = !(((flags_uFQQWjvFo9c9aC1ZbtaUJRUw &(1U<<((NU)(((Ttypeallowedflag_wySCBkY0DFkxIXMhoVC4cw) 0))&7U)))!=0)); LA68: ; if (!!(LOC67)) goto LA69; result0 = t0; } LA69: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 30): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 60): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 61): { result0 = t0; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): { { if (!!((kind0 == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10)))) goto LA75; result0 = t0; } LA75: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 26): { result0 = NIM_NIL; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 15): { { if (!!((kind0 == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)))) goto LA81; result0 = t0; } LA81: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC84; LOC84 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC84 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, LOC84, kind0, flags_uFQQWjvFo9c9aC1ZbtaUJRUw); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20): { { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC88; LOC88 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC88 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[((NI) 0)], 43024); if (!!(((IL64(16490526949380) &((NU64)1<<((NU)((*LOC88).kind)&63U)))!=0))) goto LA89; result0 = t0; } LA89: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48): { { if (!!((kind0 == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 3)))) goto LA94; result0 = t0; } goto LA92; LA94: ; { result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, (*t0).sons->data[((NI) 0)], ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8), flags_uFQQWjvFo9c9aC1ZbtaUJRUw); } LA92: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): { { if (!!(((*(*t0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3)))) goto LA100; result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, (*t0).sons->data[((NI) 0)], ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8), (flags_uFQQWjvFo9c9aC1ZbtaUJRUw | 2)); } LA100: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { { if (!!(((*(*t0).sons->data[((NI) 1)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3)))) goto LA105; result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, (*t0).sons->data[((NI) 1)], ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8), flags_uFQQWjvFo9c9aC1ZbtaUJRUw); } LA105: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22): { { if (!(kind0 == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10))) goto LA110; result0 = t0; } goto LA108; LA110: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC113; LOC113 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC113 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, LOC113, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8), (flags_uFQQWjvFo9c9aC1ZbtaUJRUw | 2)); } LA108: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC115; LOC115 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC115 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, LOC115, ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8), (flags_uFQQWjvFo9c9aC1ZbtaUJRUw | 2)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): { { NI i_dqTFkHQ5FkzKpKgxXzP7Zg_2; NI HEX3Atmp_APsAG49c8AIvVTraHe9avYpA_2; NI LOC118; NI res_R4epcpJZSu5Ui4FiTMqeKA_2; i_dqTFkHQ5FkzKpKgxXzP7Zg_2 = (NI)0; HEX3Atmp_APsAG49c8AIvVTraHe9avYpA_2 = (NI)0; LOC118 = (NI)0; LOC118 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_APsAG49c8AIvVTraHe9avYpA_2 = (NI)(LOC118 - ((NI) 1)); res_R4epcpJZSu5Ui4FiTMqeKA_2 = ((NI) 0); { while (1) { if (!(res_R4epcpJZSu5Ui4FiTMqeKA_2 <= HEX3Atmp_APsAG49c8AIvVTraHe9avYpA_2)) goto LA120; i_dqTFkHQ5FkzKpKgxXzP7Zg_2 = res_R4epcpJZSu5Ui4FiTMqeKA_2; result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, (*t0).sons->data[i_dqTFkHQ5FkzKpKgxXzP7Zg_2], kind0, flags_uFQQWjvFo9c9aC1ZbtaUJRUw); { if (!!((result0 == NIM_NIL))) goto LA123; goto LA117; } LA123: ; res_R4epcpJZSu5Ui4FiTMqeKA_2 += ((NI) 1); } LA120: ; } } LA117: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): { Ttypeallowedflag_wySCBkY0DFkxIXMhoVC4cw_Set flags0; { NIM_BOOL LOC128; NIM_BOOL LOC129; LOC128 = (NIM_BOOL)0; LOC129 = (NIM_BOOL)0; LOC129 = ((5120 &(1U<<((NU)(kind0)&31U)))!=0); if (!(LOC129)) goto LA130; LOC129 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); LA130: ; LOC128 = LOC129; if (!(LOC128)) goto LA131; LOC128 = !(((*t0).sons->data[((NI) 0)] == NIM_NIL)); LA131: ; if (!LOC128) goto LA132; result0 = t0; goto BeforeRet; } LA132: ; flags0 = (flags_uFQQWjvFo9c9aC1ZbtaUJRUw | 1); { NI i_dqTFkHQ5FkzKpKgxXzP7Zg_3; NI HEX3Atmp_APsAG49c8AIvVTraHe9avYpA_3; NI LOC135; NI res_R4epcpJZSu5Ui4FiTMqeKA_3; i_dqTFkHQ5FkzKpKgxXzP7Zg_3 = (NI)0; HEX3Atmp_APsAG49c8AIvVTraHe9avYpA_3 = (NI)0; LOC135 = (NI)0; LOC135 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_APsAG49c8AIvVTraHe9avYpA_3 = (NI)(LOC135 - ((NI) 1)); res_R4epcpJZSu5Ui4FiTMqeKA_3 = ((NI) 0); { while (1) { if (!(res_R4epcpJZSu5Ui4FiTMqeKA_3 <= HEX3Atmp_APsAG49c8AIvVTraHe9avYpA_3)) goto LA137; i_dqTFkHQ5FkzKpKgxXzP7Zg_3 = res_R4epcpJZSu5Ui4FiTMqeKA_3; result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ(marker0, (*t0).sons->data[i_dqTFkHQ5FkzKpKgxXzP7Zg_3], kind0, flags0); { if (!!((result0 == NIM_NIL))) goto LA140; goto LA134; } LA140: ; res_R4epcpJZSu5Ui4FiTMqeKA_3 += ((NI) 1); } LA137: ; } } LA134: ; { NIM_BOOL LOC144; LOC144 = (NIM_BOOL)0; LOC144 = (result0 == 0); if (!(LOC144)) goto LA145; LOC144 = !(((*t0).n == NIM_NIL)); LA145: ; if (!LOC144) goto LA146; result0 = typeallowednode_QDz2PYRBTDJyLlPFaePFFg(marker0, (*t0).n, kind0, flags0); } LA146: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3): { result0 = NIM_NIL; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 49): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 45): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 46): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 47): { internalerror_5XY9cUy7hZmUusM38U9cYYdw(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_123)); } break; } }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, typeallowed_bHa9arT9b20nGEtBco5rXr1g)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tsymkind_cNCW9acsSznmEccl1fgQwkw kind0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Intset_PQrmFm4BXFkFSVOUl1ojSg marker0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; memset((void*)(&marker0), 0, sizeof(marker0)); chckNil((void*)(&marker0)); memset((void*)(&marker0), 0, sizeof(marker0)); initintset_a9a80eJplB17xrdZJ41Baww((&marker0)); result0 = typeallowedaux_T65hSdiGIxbdoi9ahRqFHzQ((&marker0), t0, kind0, 0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, skiphidden_6rsSLwtlU9c53a6w69be5JlQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; { while (1) { switch ((*result0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59): { { Ordinaltype_ZU6odCXXrXxl9axSbawmvng LOC6; Ordinaltype_ZU6odCXXrXxl9axSbawmvng LOC7; LOC6 = (Ordinaltype_ZU6odCXXrXxl9axSbawmvng)0; LOC6 = classify_cHv9bjI47MqMiPg4S9bMpgpw((*(*result0).kindU.S6.sons->data[((NI) 1)]).typ); LOC7 = (Ordinaltype_ZU6odCXXrXxl9axSbawmvng)0; LOC7 = classify_cHv9bjI47MqMiPg4S9bMpgpw((*result0).typ); if (!(LOC6 == LOC7)) goto LA8; result0 = (*result0).kindU.S6.sons->data[((NI) 1)]; } goto LA4; LA8: ; { goto LA1; } LA4: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 65): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 64): { result0 = (*result0).kindU.S6.sons->data[((NI) 0)]; } break; default: { goto LA1; } break; } } } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, taketype_VM8RGT89aBlDx8Yn1kr5N5w)(Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0, Ttype_LTUWCZolpovw9cWE3JBWSUw* arg0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!((*arg0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA3; result0 = formal0; } goto LA1; LA3: ; { NIM_BOOL LOC6; Ttype_LTUWCZolpovw9cWE3JBWSUw* a0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC10; LOC6 = (NIM_BOOL)0; LOC6 = ((IL64(281475127705600) &((NU64)1<<((NU)((*formal0).kind)&63U)))!=0); if (!(LOC6)) goto LA7; LOC6 = isemptycontainer_XI7vH8jtAcp7rWqTmfZOSg_3(arg0); LA7: ; if (!LOC6) goto LA8; LOC10 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC10 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(arg0, 2064); a0 = copytype_50MJeIR3xcM7dF9b6Ly3suQ(LOC10, (*arg0).owner, NIM_FALSE); (*a0).sons->data[((*arg0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16))] = (*formal0).sons->data[((NI) 0)]; result0 = a0; } goto LA1; LA8: ; { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = ((786432 &((NU64)1<<((NU)((*formal0).kind)&63U)))!=0); if (!(LOC12)) goto LA13; LOC12 = ((*arg0).kind == (*formal0).kind); LA13: ; if (!LOC12) goto LA14; result0 = formal0; } goto LA1; LA14: ; { result0 = arg0; } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, baseofdistinct_0fL9bitLvV2esIMBn1vciqg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA3; result0 = (*t0).sons->data[((NI) 0)]; } goto LA1; LA3: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* parent0; Ttype_LTUWCZolpovw9cWE3JBWSUw* it0; result0 = copytype_50MJeIR3xcM7dF9b6Ly3suQ(t0, (*t0).owner, NIM_FALSE); parent0 = NIM_NIL; it0 = result0; { while (1) { if (!((6291456 &((NU64)1<<((NU)((*it0).kind)&63U)))!=0)) goto LA7; parent0 = it0; it0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(it0); } LA7: ; } { if (!((*it0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA10; { NimStringDesc* LOC16; if (!!(!((parent0 == NIM_NIL)))) goto LA14; LOC16 = (NimStringDesc*)0; LOC16 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_PpBJsMJcrcWrpLTS6mci1g_124); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC16); } LA14: ; (*parent0).sons->data[((NI) 0)] = (*it0).sons->data[((NI) 0)]; } LA10: ; } LA1: ; return result0; } N_NIMCALL(void, typemismatch_ScpDxXjg7tRc9a9aUBDo3etA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0, Ttype_LTUWCZolpovw9cWE3JBWSUw* actual0) { { NIM_BOOL LOC3; NimStringDesc* named0; NimStringDesc* desc0; NimStringDesc* x0; NimStringDesc* LOC13; NimStringDesc* LOC14; NimStringDesc* LOC15; NimStringDesc* LOC16; TY_nHXaesL0DJZHyVS07ARPRA LOC17; NimStringDesc* LOC18; LOC3 = (NIM_BOOL)0; LOC3 = !(((*formal0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50))); if (!(LOC3)) goto LA4; LOC3 = !(((*actual0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50))); LA4: ; if (!LOC3) goto LA5; named0 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(formal0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); desc0 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(formal0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 1)); { if (!eqStrings(named0, desc0)) goto LA9; x0 = named0; } goto LA7; LA9: ; { NimStringDesc* LOC12; LOC12 = (NimStringDesc*)0; LOC12 = rawNewString(named0->Sup.len + desc0->Sup.len + 3); appendString(LOC12, named0); appendString(LOC12, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_125)); appendString(LOC12, desc0); x0 = LOC12; } LA7: ; LOC13 = (NimStringDesc*)0; LOC14 = (NimStringDesc*)0; LOC14 = msgkindtostring_kJEp1LOlREvndFddptY76g(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 132)); LOC15 = (NimStringDesc*)0; LOC15 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(actual0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC16 = (NimStringDesc*)0; LOC16 = msgkindtostring_kJEp1LOlREvndFddptY76g(((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 134)); memset((void*)LOC17, 0, sizeof(LOC17)); LOC17[0] = copyString(x0); LOC18 = (NimStringDesc*)0; LOC18 = nsuFormatOpenArray(LOC16, LOC17, 1); LOC13 = rawNewString(LOC14->Sup.len + LOC15->Sup.len + LOC18->Sup.len + 2); appendString(LOC13, LOC14); appendString(LOC13, LOC15); appendString(LOC13, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_126)); appendString(LOC13, LOC18); localerror_VpilfPWbplGz6ny7O9cfr2g_2((*n0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC13); } LA5: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, skiphiddensubconv_uuBrjinRrhSs9bvaSDP4XtQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0; Ttype_LTUWCZolpovw9cWE3JBWSUw* arg0; Ttype_LTUWCZolpovw9cWE3JBWSUw* dest0; if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59))) goto LA3; formal0 = (*n0).typ; result0 = (*n0).kindU.S6.sons->data[((NI) 1)]; arg0 = (*result0).typ; dest0 = taketype_VM8RGT89aBlDx8Yn1kr5N5w(formal0, arg0); { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = (dest0 == arg0); if (!(LOC7)) goto LA8; LOC7 = !(((*formal0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6))); LA8: ; if (!LOC7) goto LA9; result0 = n0; } goto LA5; LA9: ; { result0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(result0); (*result0).typ = dest0; } LA5: ; } goto LA1; LA3: ; { result0 = n0; } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, skipconvtaketype_6rsSLwtlU9c53a6w69be5JlQ_3)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = skipconv_6rsSLwtlU9c53a6w69be5JlQ(n0); (*result0).typ = (*n0).typ; return result0; } N_NIMCALL(NIM_BOOL, searchtypenodeforaux_y21FBuTu1o4k8AIbL9bXNbQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, TY_f9aI9cpkJD9arSwlllnVyZsvw p0, Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; result0 = NIM_FALSE; switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138): { { NI i_9bWu9bgucSr0pWxycIY7QkJw; NI HEX3Atmp_5WyTECdZWspmizNJFgbdZw; NI LOC3; NI res_dhFOhUgJU9bXFyL9b43GvMVg; i_9bWu9bgucSr0pWxycIY7QkJw = (NI)0; HEX3Atmp_5WyTECdZWspmizNJFgbdZw = (NI)0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_5WyTECdZWspmizNJFgbdZw = (NI)(LOC3 - ((NI) 1)); res_dhFOhUgJU9bXFyL9b43GvMVg = ((NI) 0); { while (1) { if (!(res_dhFOhUgJU9bXFyL9b43GvMVg <= HEX3Atmp_5WyTECdZWspmizNJFgbdZw)) goto LA5; i_9bWu9bgucSr0pWxycIY7QkJw = res_dhFOhUgJU9bXFyL9b43GvMVg; result0 = searchtypenodeforaux_y21FBuTu1o4k8AIbL9bXNbQ((*n0).kindU.S6.sons->data[i_9bWu9bgucSr0pWxycIY7QkJw], p0, marker0); { if (!result0) goto LA8; goto BeforeRet; } LA8: ; res_dhFOhUgJU9bXFyL9b43GvMVg += ((NI) 1); } LA5: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139): { result0 = searchtypenodeforaux_y21FBuTu1o4k8AIbL9bXNbQ((*n0).kindU.S6.sons->data[((NI) 0)], p0, marker0); { if (!result0) goto LA13; goto BeforeRet; } LA13: ; { NI i_9bWu9bgucSr0pWxycIY7QkJw_2; NI HEX3Atmp_5WyTECdZWspmizNJFgbdZw_2; NI LOC16; NI res_dhFOhUgJU9bXFyL9b43GvMVg_2; i_9bWu9bgucSr0pWxycIY7QkJw_2 = (NI)0; HEX3Atmp_5WyTECdZWspmizNJFgbdZw_2 = (NI)0; LOC16 = (NI)0; LOC16 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_5WyTECdZWspmizNJFgbdZw_2 = (NI)(LOC16 - ((NI) 1)); res_dhFOhUgJU9bXFyL9b43GvMVg_2 = ((NI) 1); { while (1) { if (!(res_dhFOhUgJU9bXFyL9b43GvMVg_2 <= HEX3Atmp_5WyTECdZWspmizNJFgbdZw_2)) goto LA18; i_9bWu9bgucSr0pWxycIY7QkJw_2 = res_dhFOhUgJU9bXFyL9b43GvMVg_2; switch ((*(*n0).kindU.S6.sons->data[i_9bWu9bgucSr0pWxycIY7QkJw_2]).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 85): case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 88): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC20; LOC20 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC20 = lastson_esDJA7239bJDiq4UrX9aHCjg((*n0).kindU.S6.sons->data[i_9bWu9bgucSr0pWxycIY7QkJw_2]); result0 = searchtypenodeforaux_y21FBuTu1o4k8AIbL9bXNbQ(LOC20, p0, marker0); { if (!result0) goto LA23; goto BeforeRet; } LA23: ; } break; default: { internalerror_5XY9cUy7hZmUusM38U9cYYdw(((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_127)); } break; } res_dhFOhUgJU9bXFyL9b43GvMVg_2 += ((NI) 1); } LA18: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { result0 = searchtypeforaux_dv6oBbCVP7QCl9ckDiqeA5Q((*(*n0).kindU.S4.sym).typ, p0, marker0); } break; default: { internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_PpBJsMJcrcWrpLTS6mci1g_128)); } break; } }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, searchtypeforaux_dv6oBbCVP7QCl9ckDiqeA5Q)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, TY_f9aI9cpkJD9arSwlllnVyZsvw predicate0, Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; result0 = NIM_FALSE; { if (!(t0 == NIM_NIL)) goto LA3; goto BeforeRet; } LA3: ; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg(marker0, (*t0).Sup.id); if (!LOC7) goto LA8; goto BeforeRet; } LA8: ; result0 = predicate0(t0); { if (!result0) goto LA12; goto BeforeRet; } LA12: ; switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17): { { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC19; if (!!(((*t0).sons->data[((NI) 0)] == NIM_NIL))) goto LA17; LOC19 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC19 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[((NI) 0)], 14682384); result0 = searchtypeforaux_dv6oBbCVP7QCl9ckDiqeA5Q(LOC19, predicate0, marker0); } LA17: ; { if (!!(result0)) goto LA22; result0 = searchtypenodeforaux_y21FBuTu1o4k8AIbL9bXNbQ((*t0).n, predicate0, marker0); } LA22: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC25; LOC25 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC25 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 = searchtypeforaux_dv6oBbCVP7QCl9ckDiqeA5Q(LOC25, predicate0, marker0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): { { NI i_PkPXpqjXZ5c7vtAvTHF1YQ; NI HEX3Atmp_ZJHGbEGLGsWJWhFuVkYoJA; NI LOC28; NI res_AFRQKTNPzEto7Q7nD0w8mw; i_PkPXpqjXZ5c7vtAvTHF1YQ = (NI)0; HEX3Atmp_ZJHGbEGLGsWJWhFuVkYoJA = (NI)0; LOC28 = (NI)0; LOC28 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(t0); HEX3Atmp_ZJHGbEGLGsWJWhFuVkYoJA = (NI)(LOC28 - ((NI) 1)); res_AFRQKTNPzEto7Q7nD0w8mw = ((NI) 0); { while (1) { if (!(res_AFRQKTNPzEto7Q7nD0w8mw <= HEX3Atmp_ZJHGbEGLGsWJWhFuVkYoJA)) goto LA30; i_PkPXpqjXZ5c7vtAvTHF1YQ = res_AFRQKTNPzEto7Q7nD0w8mw; result0 = searchtypeforaux_dv6oBbCVP7QCl9ckDiqeA5Q((*t0).sons->data[i_PkPXpqjXZ5c7vtAvTHF1YQ], predicate0, marker0); { if (!result0) goto LA33; goto BeforeRet; } LA33: ; res_AFRQKTNPzEto7Q7nD0w8mw += ((NI) 1); } LA30: ; } } } break; default: { } break; } }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, searchtypefor_3SLCGCToH7PVANYoKMalhQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, TY_f9aI9cpkJD9arSwlllnVyZsvw predicate0) { NIM_BOOL result0; Intset_PQrmFm4BXFkFSVOUl1ojSg marker0; result0 = (NIM_BOOL)0; memset((void*)(&marker0), 0, sizeof(marker0)); chckNil((void*)(&marker0)); memset((void*)(&marker0), 0, sizeof(marker0)); initintset_a9a80eJplB17xrdZJ41Baww((&marker0)); result0 = searchtypeforaux_dv6oBbCVP7QCl9ckDiqeA5Q(t0, predicate0, (&marker0)); return result0; } N_NIMCALL(NIM_BOOL, isgcref_XI7vH8jtAcp7rWqTmfZOSg_6)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NIM_BOOL result0; NIM_BOOL LOC1; NIM_BOOL LOC3; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC1 = ((289406976 &((NU64)1<<((NU)((*t0).kind)&63U)))!=0); if (LOC1) goto LA2; LOC3 = (NIM_BOOL)0; LOC3 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25)); if (!(LOC3)) goto LA4; LOC3 = ((*t0).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8)); LA4: ; LOC1 = LOC3; LA2: ; result0 = LOC1; return result0; } N_NIMCALL(NIM_BOOL, containsgarbagecollectedref_3xW85al2Ic6K09avBGxLjZg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = searchtypefor_3SLCGCToH7PVANYoKMalhQ(typ0, isgcref_XI7vH8jtAcp7rWqTmfZOSg_6); return result0; } NIM_EXTERNC N_NOINLINE(void, compiler_typesInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, compiler_typesDatInit000)(void) { static TNimNode* T_PpBJsMJcrcWrpLTS6mci1g_112[2]; static TNimNode T_PpBJsMJcrcWrpLTS6mci1g_0[3]; NTI_1v9bKyksXWMsm0vNwmZ4EuQ.size = sizeof(TY_1v9bKyksXWMsm0vNwmZ4EuQ); NTI_1v9bKyksXWMsm0vNwmZ4EuQ.kind = 18; NTI_1v9bKyksXWMsm0vNwmZ4EuQ.base = 0; NTI_1v9bKyksXWMsm0vNwmZ4EuQ.flags = 3; T_PpBJsMJcrcWrpLTS6mci1g_112[0] = &T_PpBJsMJcrcWrpLTS6mci1g_0[1]; T_PpBJsMJcrcWrpLTS6mci1g_0[1].kind = 1; T_PpBJsMJcrcWrpLTS6mci1g_0[1].offset = offsetof(TY_1v9bKyksXWMsm0vNwmZ4EuQ, Field0); T_PpBJsMJcrcWrpLTS6mci1g_0[1].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_PpBJsMJcrcWrpLTS6mci1g_0[1].name = "Field0"; T_PpBJsMJcrcWrpLTS6mci1g_112[1] = &T_PpBJsMJcrcWrpLTS6mci1g_0[2]; T_PpBJsMJcrcWrpLTS6mci1g_0[2].kind = 1; T_PpBJsMJcrcWrpLTS6mci1g_0[2].offset = offsetof(TY_1v9bKyksXWMsm0vNwmZ4EuQ, Field1); T_PpBJsMJcrcWrpLTS6mci1g_0[2].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_PpBJsMJcrcWrpLTS6mci1g_0[2].name = "Field1"; T_PpBJsMJcrcWrpLTS6mci1g_0[0].len = 2; T_PpBJsMJcrcWrpLTS6mci1g_0[0].kind = 2; T_PpBJsMJcrcWrpLTS6mci1g_0[0].sons = &T_PpBJsMJcrcWrpLTS6mci1g_112[0]; NTI_1v9bKyksXWMsm0vNwmZ4EuQ.node = &T_PpBJsMJcrcWrpLTS6mci1g_0[0]; NTI_8Np6tlClE5az1CyqZdN19bQ.size = sizeof(TY_8Np6tlClE5az1CyqZdN19bQ*); NTI_8Np6tlClE5az1CyqZdN19bQ.kind = 24; NTI_8Np6tlClE5az1CyqZdN19bQ.base = (&NTI_1v9bKyksXWMsm0vNwmZ4EuQ); NTI_8Np6tlClE5az1CyqZdN19bQ.flags = 2; NTI_8Np6tlClE5az1CyqZdN19bQ.marker = Marker_TY_8Np6tlClE5az1CyqZdN19bQ; }