/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ #define NIM_INTBITS 64 #include "nimbase.h" #include #undef linux typedef struct TY_npTAlnSu9cyJr3PNURLEKhQ TY_npTAlnSu9cyJr3PNURLEKhQ; typedef struct TY_c3iwyH3aQEvxlw6WDIN9c0g TY_c3iwyH3aQEvxlw6WDIN9c0g; typedef struct TY_sksVpmPRIkNR9axiwtD1Guw TY_sksVpmPRIkNR9axiwtD1Guw; typedef struct Tsym_AXG7xcvKqaxY6koRX1xkCw Tsym_AXG7xcvKqaxY6koRX1xkCw; typedef struct TGenericSeq TGenericSeq; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct Cell_1zcF9cV8XIAtbN8h5HRUB8g Cell_1zcF9cV8XIAtbN8h5HRUB8g; typedef struct Cellseq_Axo1XVm9aaQueTOldv8le5w Cellseq_Axo1XVm9aaQueTOldv8le5w; typedef struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ Gcheap_1TRH1TZMaVZTnLNcIHuNFQ; typedef struct Gcstack_7fytPA5bBsob6See21YMRA Gcstack_7fytPA5bBsob6See21YMRA; typedef struct Memregion_x81NhDv59b8ercDZ9bi85jyg Memregion_x81NhDv59b8ercDZ9bi85jyg; typedef struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ Smallchunk_tXn60W2f8h3jgAYdEmy5NQ; typedef struct Llchunk_XsENErzHIZV9bhvyJx56wGw Llchunk_XsENErzHIZV9bhvyJx56wGw; typedef struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg Bigchunk_Rv9c70Uhp2TytkX7eH78qEg; typedef struct Intset_EZObFrE3NC9bIb3YMkY9crZA Intset_EZObFrE3NC9bIb3YMkY9crZA; typedef struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw Trunk_W0r8S0Y3UGke6T9bIUWnnuw; typedef struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw Avlnode_IaqjtwKhxLEpvDS9bct9blEw; typedef struct Gcstat_0RwLoVBHZPfUAcLczmfQAg Gcstat_0RwLoVBHZPfUAcLczmfQAg; typedef struct Cellset_jG87P0AI9aZtss9ccTYBIISQ Cellset_jG87P0AI9aZtss9ccTYBIISQ; typedef struct Pagedesc_fublkgIY4LG3mT51LU2WHg Pagedesc_fublkgIY4LG3mT51LU2WHg; typedef struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg Tidobj_raN9cHVgzmvaXisezY9aGg9cg; typedef struct TNimObject TNimObject; typedef struct TY_zuqP4Riz26Oi5fWgPYVEgA TY_zuqP4Riz26Oi5fWgPYVEgA; typedef struct TY_DXS6mEo7PVUFJkirsQ9bNQA TY_DXS6mEo7PVUFJkirsQ9bNQA; typedef struct Tstrtable_f07aOS3dr28kGa5wcE29aFA Tstrtable_f07aOS3dr28kGa5wcE29aFA; typedef struct Ttype_LTUWCZolpovw9cWE3JBWSUw Ttype_LTUWCZolpovw9cWE3JBWSUw; typedef struct Tident_4umxGerWTHGPwUms7Yqu3g Tident_4umxGerWTHGPwUms7Yqu3g; typedef struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw; typedef struct Tnode_bROa11lyF5vxEN9aYNbHmhw Tnode_bROa11lyF5vxEN9aYNbHmhw; typedef struct Tloc_EtHNvCB0bgfu9bFjzx9cb6aA Tloc_EtHNvCB0bgfu9bFjzx9cb6aA; typedef struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ Ropeobj_HF4qJnb6xiOddgPmsxodtQ; typedef struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA Tlib_4f9aBgmqEuj7uWJdBBGcRgA; typedef struct NimStringDesc NimStringDesc; typedef struct TY_iGkpo9aKQdr3NWelKC4cnJA TY_iGkpo9aKQdr3NWelKC4cnJA; typedef struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ; typedef struct Intset_PQrmFm4BXFkFSVOUl1ojSg Intset_PQrmFm4BXFkFSVOUl1ojSg; typedef struct Trunk_ul49aWfv9aes8cutmeltT3gQ Trunk_ul49aWfv9aes8cutmeltT3gQ; typedef struct TY_9brg1xNurxcus33lU4IE1Dw TY_9brg1xNurxcus33lU4IE1Dw; typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w; typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ; typedef struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA; typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q; typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg; struct TGenericSeq { NI len; NI reserved; }; struct TY_c3iwyH3aQEvxlw6WDIN9c0g { TY_sksVpmPRIkNR9axiwtD1Guw* Field0; Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1; }; 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; }; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; typedef N_NIMCALL_PTR(void, TY_T4eqaYlFJYZUv9aG9b1TV0bQ) (void); struct Cell_1zcF9cV8XIAtbN8h5HRUB8g { NI refcount; TNimType* typ; }; struct Cellseq_Axo1XVm9aaQueTOldv8le5w { NI len; NI cap; Cell_1zcF9cV8XIAtbN8h5HRUB8g** d; }; typedef Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* TY_SiRwrEKZdLgxqz9a9aoVBglg[512]; typedef Trunk_W0r8S0Y3UGke6T9bIUWnnuw* TY_lh2A89ahMmYg9bCmpVaplLbA[256]; struct Intset_EZObFrE3NC9bIb3YMkY9crZA { TY_lh2A89ahMmYg9bCmpVaplLbA data; }; struct Memregion_x81NhDv59b8ercDZ9bi85jyg { NI minlargeobj; NI maxlargeobj; TY_SiRwrEKZdLgxqz9a9aoVBglg freesmallchunks; Llchunk_XsENErzHIZV9bhvyJx56wGw* llmem; NI currmem; NI maxmem; NI freemem; NI lastsize; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* freechunkslist; Intset_EZObFrE3NC9bIb3YMkY9crZA chunkstarts; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* root; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* deleted; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* last; Avlnode_IaqjtwKhxLEpvDS9bct9blEw* freeavlnodes; NIM_BOOL locked; NIM_BOOL blockchunksizeincrease; NI nextchunksize; }; struct Gcstat_0RwLoVBHZPfUAcLczmfQAg { NI stackscans; NI cyclecollections; NI maxthreshold; NI maxstacksize; NI maxstackcells; NI cycletablesize; NI64 maxpause; }; struct Cellset_jG87P0AI9aZtss9ccTYBIISQ { NI counter; NI max; Pagedesc_fublkgIY4LG3mT51LU2WHg* head; Pagedesc_fublkgIY4LG3mT51LU2WHg** data; }; struct Gcheap_1TRH1TZMaVZTnLNcIHuNFQ { Gcstack_7fytPA5bBsob6See21YMRA* stack; void* stackbottom; NI cyclethreshold; Cellseq_Axo1XVm9aaQueTOldv8le5w zct; Cellseq_Axo1XVm9aaQueTOldv8le5w decstack; Cellseq_Axo1XVm9aaQueTOldv8le5w tempstack; NI recgclock; Memregion_x81NhDv59b8ercDZ9bi85jyg region; Gcstat_0RwLoVBHZPfUAcLczmfQAg stat; Cellset_jG87P0AI9aZtss9ccTYBIISQ marked; Cellseq_Axo1XVm9aaQueTOldv8le5w additionalroots; }; typedef NU8 Methodresult_qJetbm7aUauL2eZA6Gt5Ag; struct TNimObject { TNimType* m_type; }; struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg { TNimObject Sup; NI id; }; typedef NU8 Tsymkind_cNCW9acsSznmEccl1fgQwkw; struct Tstrtable_f07aOS3dr28kGa5wcE29aFA { NI counter; TY_sksVpmPRIkNR9axiwtD1Guw* data; }; typedef NU16 Tmagic_shZhZOdbVC5nnFvcXQAImg; struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw { NI16 line; NI16 col; NI32 fileindex; }; typedef NU32 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw_Set; typedef NU32 Toption_WspMeQySXNP2XoTWR5MTgg_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 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; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct Tident_4umxGerWTHGPwUms7Yqu3g { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; NimStringDesc* s; Tident_4umxGerWTHGPwUms7Yqu3g* next; NI h; }; typedef NU8 Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set; typedef NU8 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag; typedef NU8 Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA; typedef NU32 Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw_Set; 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 NU64 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set; typedef NU16 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set; typedef NU8 Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw; 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 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw; typedef NU16 Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw; typedef NimStringDesc* TY_Re75IspeoxXy2oCZHwcRrA[2]; typedef Tsym_AXG7xcvKqaxY6koRX1xkCw* TY_SHi0WT9ch5AydLQb6k78QuA[1]; struct Intset_PQrmFm4BXFkFSVOUl1ojSg { NI counter; NI max; Trunk_ul49aWfv9aes8cutmeltT3gQ* head; TY_9brg1xNurxcus33lU4IE1Dw* data; }; struct Gcstack_7fytPA5bBsob6See21YMRA { Gcstack_7fytPA5bBsob6See21YMRA* prev; Gcstack_7fytPA5bBsob6See21YMRA* next; void* starts; void* pos; NI maxstacksize; }; struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w { NI prevsize; NI size; NIM_BOOL used; }; struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ { Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* next; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* prev; Freecell_u6M5LHprqzkn9axr04yg9bGQ* freelist; NI free; NI acc; NF data; }; struct Llchunk_XsENErzHIZV9bhvyJx56wGw { NI size; NI acc; Llchunk_XsENErzHIZV9bhvyJx56wGw* next; }; struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg { Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* next; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* prev; NI align; NF data; }; typedef NI TY_9a8QARi5WsUggNU9bom7kzTQ[8]; struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next; NI key; TY_9a8QARi5WsUggNU9bom7kzTQ bits; }; typedef Avlnode_IaqjtwKhxLEpvDS9bct9blEw* TY_0aOLqZchNi8nWtMTi8ND8w[2]; struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw { TY_0aOLqZchNi8nWtMTi8ND8w link; NI key; NI upperbound; NI level; }; struct Pagedesc_fublkgIY4LG3mT51LU2WHg { Pagedesc_fublkgIY4LG3mT51LU2WHg* next; NI key; TY_9a8QARi5WsUggNU9bom7kzTQ bits; }; 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; }; struct TY_a09bGTAl9ceOKTAytYdkbyKg { NI Field0; Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1; }; struct Trunk_ul49aWfv9aes8cutmeltT3gQ { Trunk_ul49aWfv9aes8cutmeltT3gQ* next; NI key; TY_9a8QARi5WsUggNU9bom7kzTQ bits; }; struct Freecell_u6M5LHprqzkn9axr04yg9bGQ { Freecell_u6M5LHprqzkn9axr04yg9bGQ* next; NI zerofield; }; struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA { Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes; NI compilesid; }; struct TY_sksVpmPRIkNR9axiwtD1Guw { TGenericSeq Sup; Tsym_AXG7xcvKqaxY6koRX1xkCw* data[SEQ_DECL_SIZE]; }; struct TY_npTAlnSu9cyJr3PNURLEKhQ { TGenericSeq Sup; TY_c3iwyH3aQEvxlw6WDIN9c0g data[SEQ_DECL_SIZE]; }; struct TY_zuqP4Riz26Oi5fWgPYVEgA { TGenericSeq Sup; Ttype_LTUWCZolpovw9cWE3JBWSUw* data[SEQ_DECL_SIZE]; }; struct TY_DXS6mEo7PVUFJkirsQ9bNQA { TGenericSeq Sup; Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE]; }; struct TY_iGkpo9aKQdr3NWelKC4cnJA { TGenericSeq Sup; TY_a09bGTAl9ceOKTAytYdkbyKg data[SEQ_DECL_SIZE]; }; struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ { TGenericSeq Sup; Tnode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE]; }; struct TY_9brg1xNurxcus33lU4IE1Dw { TGenericSeq Sup; Trunk_ul49aWfv9aes8cutmeltT3gQ* data[SEQ_DECL_SIZE]; }; N_NIMCALL(void, nimGCvisit)(void* d0, NI op0); static N_NIMCALL(void, Marker_TY_npTAlnSu9cyJr3PNURLEKhQ)(void* p, NI op); static N_NIMCALL(void, T_zwdrTKOAAM6OvWnXdBD4GQ_3)(void); N_NIMCALL(void, nimRegisterGlobalMarker)(TY_T4eqaYlFJYZUv9aG9b1TV0bQ markerproc0); static N_INLINE(void, nimGCunrefNoCycle)(void* p0); static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0); static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NIMCALL(void*, newSeqRC1)(TNimType* typ0, NI len0); N_NIMCALL(Methodresult_qJetbm7aUauL2eZA6Gt5Ag, samemethodbucket_oNnCeyex29cplBrM1qZ3I3A)(Tsym_AXG7xcvKqaxY6koRX1xkCw* a0, Tsym_AXG7xcvKqaxY6koRX1xkCw* b0); N_NIMCALL(NI, sonslen_gG7hUAX9cA629ahMLVL3xN4w)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0); N_NIMCALL(NIM_BOOL, sametypeornil_EjIk4Kwv9bxfpaU9cx49cCrBQ_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skiptypes_pLCdCGDuirMe9cspwviV9aVA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set kinds0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, lastson_E41DMKHtT9c6sAMyyvhmSIw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0); N_NIMCALL(NIM_BOOL, sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags0); N_NIMCALL(NI, inheritancediff_kaOr3lZpnYFOzmAx9cN5LiA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0); N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0); static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0); N_NIMCALL(void, attachdispatcher_En17YCApL1ZjoA6iXdq35Q)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* dispatcher0); static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAlambdalifting)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, add_gCCf68XrWL79bKes6htzFjQ_3)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lastson_esDJA7239bJDiq4UrX9aHCjg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, fixupdispatcher_isWbtsg1VqVFbIu1cgV2kw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* meth0, Tsym_AXG7xcvKqaxY6koRX1xkCw* disp0); N_NIMCALL(NI, sonslen_qPWPHw7WgJeEVYUdcaRIig)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, copytree_lz8T1F9c0YwEOpUnrAUYgjg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* src0); N_NIMCALL(void, message_VpilfPWbplGz6ny7O9cfr2g_2)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0); N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0); N_NIMCALL(NimStringDesc*, HEX24_7U5mhhMT9aokoOIuJFuFlgw)(NI16 x0); N_NIMCALL(void, checkmethodeffects_74hyMLeBrMSJPWGEi5EzGQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* disp0, Tsym_AXG7xcvKqaxY6koRX1xkCw* branch0); N_NIMCALL(void, localerror_GarD0CQJ5aQhoHekHYinVQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* arg0); N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, createdispatcher_7Ropf86Tz9ayWsm2wDJy1Jg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, copysym_KkocQl2VXhKLz8kG9aC7GEw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL keepid0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, copytype_50MJeIR3xcM7dF9b6Ly3suQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, NIM_BOOL keepid0); N_NIMCALL(void, addson_gCCf68XrWL79bKes6htzFjQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newsymnode_1ARBpggFQuvUDBVYjBelcw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); N_NIMCALL(void, genericSeqAssign)(void* dest0, void* src_qi9cfsBnd42r9a9cpCLO10jow, TNimType* mt0); static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0); static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0); N_NIMCALL(NimStringDesc*, HEX24_yjUDf1xsp2Vnrl7HYmqNww)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(NimStringDesc*, rawNewString)(NI space0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genconv_Mskj9bLDk7w2DfiMjB3hvHQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* d0, NIM_BOOL downcast0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodeit_lbGnVdZM6n2HPza7jVIlww)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(void, internalerror_MXmtqrCmYwtOPkDCFgUWKQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* errmsg0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnode_IgnRxkID5wXTWvTZf9ct0rA)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0); N_NIMCALL(void, initintset_a9a80eJplB17xrdZJ41Baww)(Intset_PQrmFm4BXFkFSVOUl1ojSg* Result); N_NOINLINE(void, chckNil)(void* p0); N_NIMCALL(NIM_BOOL, relevantcol_iDpBqT9bUuzV5ls8NIOJMpA)(TY_sksVpmPRIkNR9axiwtD1Guw* methods0, NI col0); N_NIMCALL(void, incl_iUpE9bYmIR0fROyJskQwN8g)(Intset_PQrmFm4BXFkFSVOUl1ojSg* s0, NI key0); N_NIMCALL(void, sortbucket_YaTd49cMUYL9cnYLWXdKt2MQ)(TY_sksVpmPRIkNR9axiwtD1Guw** a0, Intset_PQrmFm4BXFkFSVOUl1ojSg* relevantcols0); N_NIMCALL(NI, cmpsignatures_cAqjds4kZb9b9ajv5XUE8oyA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* a0, Tsym_AXG7xcvKqaxY6koRX1xkCw* b0, Intset_PQrmFm4BXFkFSVOUl1ojSg* relevantcols0); N_NIMCALL(NIM_BOOL, contains_sYBLNwnPJlAFi0nfWU79awg)(Intset_PQrmFm4BXFkFSVOUl1ojSg* s0, NI key0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, gendispatcher_6TCIQbpIHWyB3YHjnI9c5qA)(TY_sksVpmPRIkNR9axiwtD1Guw* methods0, Intset_PQrmFm4BXFkFSVOUl1ojSg* relevantcols0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodei_PIqgSH9b0m7nFpOyXf9cpz5w)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getsyssym_shbCpG9bVTG0JrTOcXxC2hQ)(NimStringDesc* name0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, getsystype_dewjtBqyEbcVGQRaQFtDAw)(Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0); TY_npTAlnSu9cyJr3PNURLEKhQ* gmethods_HEESWOs86AotXIakWIY9cVA; TNimType NTI_c3iwyH3aQEvxlw6WDIN9c0g; extern TNimType NTI_sksVpmPRIkNR9axiwtD1Guw; extern TNimType NTI_83n62yi1b9bgUtRR9axFWW9ag; TNimType NTI_npTAlnSu9cyJr3PNURLEKhQ; extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q; extern Tnode_bROa11lyF5vxEN9aYNbHmhw* emptynode_69ccLGuQ2mITw7zylZYtWcA; STRING_LITERAL(T_zwdrTKOAAM6OvWnXdBD4GQ_4, "method has lock level $1, but another method has $2", 51); STRING_LITERAL(T_zwdrTKOAAM6OvWnXdBD4GQ_5, "method is not a base", 20); STRING_LITERAL(T_zwdrTKOAAM6OvWnXdBD4GQ_6, "invalid declaration order; cannot attach \'", 42); STRING_LITERAL(T_zwdrTKOAAM6OvWnXdBD4GQ_7, "\' to method defined here: ", 26); STRING_LITERAL(T_zwdrTKOAAM6OvWnXdBD4GQ_8, "", 0); STRING_LITERAL(T_zwdrTKOAAM6OvWnXdBD4GQ_9, "cgmeth.genConv: no upcast allowed", 33); STRING_LITERAL(T_zwdrTKOAAM6OvWnXdBD4GQ_10, "cgmeth.genConv: no downcast allowed", 35); STRING_LITERAL(T_zwdrTKOAAM6OvWnXdBD4GQ_11, "and", 3); STRING_LITERAL(T_zwdrTKOAAM6OvWnXdBD4GQ_12, "of", 2); static N_NIMCALL(void, Marker_TY_npTAlnSu9cyJr3PNURLEKhQ)(void* p, NI op) { TY_npTAlnSu9cyJr3PNURLEKhQ* a; NI LOC1; a = (TY_npTAlnSu9cyJr3PNURLEKhQ*)p; LOC1 = (NI)0; for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) { nimGCvisit((void*)a->data[LOC1].Field0, op); nimGCvisit((void*)a->data[LOC1].Field1, op); } } static N_NIMCALL(void, T_zwdrTKOAAM6OvWnXdBD4GQ_3)(void) { nimGCvisit((void*)gmethods_HEESWOs86AotXIakWIY9cVA, 0); } static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0; result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU64)(((NI) (usr0))) - (NU64)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g)))))); return result0; } static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { addzct_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c0); } static N_INLINE(void, nimGCunrefNoCycle)(void* p0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p0); { (*c0).refcount -= ((NI) 8); if (!((NU64)((*c0).refcount) < (NU64)(((NI) 8)))) goto LA3; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA3: ; } N_NIMCALL(Methodresult_qJetbm7aUauL2eZA6Gt5Ag, samemethodbucket_oNnCeyex29cplBrM1qZ3I3A)(Tsym_AXG7xcvKqaxY6koRX1xkCw* a0, Tsym_AXG7xcvKqaxY6koRX1xkCw* b0) { Methodresult_qJetbm7aUauL2eZA6Gt5Ag result0; { result0 = (Methodresult_qJetbm7aUauL2eZA6Gt5Ag)0; { if (!!(((*(*a0).name).Sup.id == (*(*b0).name).Sup.id))) goto LA3; goto BeforeRet; } LA3: ; { NI LOC7; NI LOC8; LOC7 = (NI)0; LOC7 = sonslen_gG7hUAX9cA629ahMLVL3xN4w((*a0).typ); LOC8 = (NI)0; LOC8 = sonslen_gG7hUAX9cA629ahMLVL3xN4w((*b0).typ); if (!!((LOC7 == LOC8))) goto LA9; goto BeforeRet; } LA9: ; { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; LOC13 = sametypeornil_EjIk4Kwv9bxfpaU9cx49cCrBQ_2((*(*a0).typ).sons->data[((NI) 0)], (*(*b0).typ).sons->data[((NI) 0)], 0); if (!!(LOC13)) goto LA14; goto BeforeRet; } LA14: ; { NI i_xRouCJOsMgde6HYdOF2y4g; NI HEX3Atmp_XVwncX9bt2n1GL5DgUPMY8Q; NI LOC17; NI res_8I61oR1CONASG5154wambw; i_xRouCJOsMgde6HYdOF2y4g = (NI)0; HEX3Atmp_XVwncX9bt2n1GL5DgUPMY8Q = (NI)0; LOC17 = (NI)0; LOC17 = sonslen_gG7hUAX9cA629ahMLVL3xN4w((*a0).typ); HEX3Atmp_XVwncX9bt2n1GL5DgUPMY8Q = (NI)(LOC17 - ((NI) 1)); res_8I61oR1CONASG5154wambw = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* aa0; Ttype_LTUWCZolpovw9cWE3JBWSUw* bb0; if (!(res_8I61oR1CONASG5154wambw <= HEX3Atmp_XVwncX9bt2n1GL5DgUPMY8Q)) goto LA19; i_xRouCJOsMgde6HYdOF2y4g = res_8I61oR1CONASG5154wambw; aa0 = (*(*a0).typ).sons->data[i_xRouCJOsMgde6HYdOF2y4g]; bb0 = (*(*b0).typ).sons->data[i_xRouCJOsMgde6HYdOF2y4g]; { while (1) { aa0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(aa0, 2064); bb0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(bb0, 2064); { NIM_BOOL LOC24; LOC24 = (NIM_BOOL)0; LOC24 = ((*aa0).kind == (*bb0).kind); if (!(LOC24)) goto LA25; LOC24 = ((14680064 &((NU64)1<<((NU)((*aa0).kind)&63U)))!=0); LA25: ; if (!LOC24) goto LA26; aa0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(aa0); bb0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(bb0); } goto LA22; LA26: ; { goto LA20; } LA22: ; } } LA20: ; { NIM_BOOL LOC31; LOC31 = (NIM_BOOL)0; LOC31 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ(aa0, bb0, 0); if (!LOC31) goto LA32; { NIM_BOOL LOC36; LOC36 = (NIM_BOOL)0; LOC36 = ((*aa0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); if (!(LOC36)) goto LA37; LOC36 = !((result0 == ((Methodresult_qJetbm7aUauL2eZA6Gt5Ag) 1))); LA37: ; if (!LOC36) goto LA38; result0 = ((Methodresult_qJetbm7aUauL2eZA6Gt5Ag) 2); } LA38: ; } goto LA29; LA32: ; { NIM_BOOL LOC41; NI diff0; LOC41 = (NIM_BOOL)0; LOC41 = ((*aa0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); if (!(LOC41)) goto LA42; LOC41 = ((*bb0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); LA42: ; if (!LOC41) goto LA43; diff0 = inheritancediff_kaOr3lZpnYFOzmAx9cN5LiA_2(bb0, aa0); { if (!(diff0 < ((NI) 0))) goto LA47; { if (!!((result0 == ((Methodresult_qJetbm7aUauL2eZA6Gt5Ag) 1)))) goto LA51; result0 = ((Methodresult_qJetbm7aUauL2eZA6Gt5Ag) 2); } goto LA49; LA51: ; { result0 = ((Methodresult_qJetbm7aUauL2eZA6Gt5Ag) 0); goto BeforeRet; } LA49: ; } goto LA45; LA47: ; { if (!!((diff0 == ((NI) IL64(9223372036854775807))))) goto LA55; result0 = ((Methodresult_qJetbm7aUauL2eZA6Gt5Ag) 1); } goto LA45; LA55: ; { result0 = ((Methodresult_qJetbm7aUauL2eZA6Gt5Ag) 0); goto BeforeRet; } LA45: ; } goto LA29; LA43: ; { result0 = ((Methodresult_qJetbm7aUauL2eZA6Gt5Ag) 0); goto BeforeRet; } LA29: ; res_8I61oR1CONASG5154wambw += ((NI) 1); } LA19: ; } } }BeforeRet: ; return result0; } static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0) { { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; if (!!((src0 == NIM_NIL))) goto LA3; c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0); (*c0).refcount += ((NI) 8); } LA3: ; { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; if (!!(((*dest0) == NIM_NIL))) goto LA7; c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0)); { (*c0).refcount -= ((NI) 8); if (!((NU64)((*c0).refcount) < (NU64)(((NI) 8)))) goto LA11; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA11: ; } LA7: ; (*dest0) = src0; } static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAlambdalifting)(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; } N_NIMCALL(void, attachdispatcher_En17YCApL1ZjoA6iXdq35Q)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* dispatcher0) { NI L0; NI LOC1; Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; LOC1 = (NI)0; LOC1 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting((*s0).ast); L0 = (NI)(LOC1 - ((NI) 1)); x0 = (*(*s0).ast).kindU.S6.sons->data[L0]; { NIM_BOOL LOC4; LOC4 = (NIM_BOOL)0; LOC4 = ((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC4)) goto LA5; LOC4 = (((*(*x0).kindU.S4.sym).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 25))&31U)))!=0); LA5: ; if (!LOC4) goto LA6; asgnRefNoCycle((void**) (&(*(*s0).ast).kindU.S6.sons->data[L0]), dispatcher0); } goto LA2; LA6: ; { add_gCCf68XrWL79bKes6htzFjQ_3((*s0).ast, dispatcher0); } LA2: ; } N_NIMCALL(void, fixupdispatcher_isWbtsg1VqVFbIu1cgV2kw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* meth0, Tsym_AXG7xcvKqaxY6koRX1xkCw* disp0) { { NIM_BOOL LOC3; NIM_BOOL LOC4; NI LOC5; NI LOC7; LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC5 = (NI)0; LOC5 = sonslen_qPWPHw7WgJeEVYUdcaRIig((*disp0).ast); LOC4 = (((NI) 7) < LOC5); if (!(LOC4)) goto LA6; LOC7 = (NI)0; LOC7 = sonslen_qPWPHw7WgJeEVYUdcaRIig((*meth0).ast); LOC4 = (((NI) 7) < LOC7); LA6: ; LOC3 = LOC4; if (!(LOC3)) goto LA8; LOC3 = ((*(*disp0).ast).kindU.S6.sons->data[((NI) 7)] == emptynode_69ccLGuQ2mITw7zylZYtWcA); LA8: ; if (!LOC3) goto LA9; asgnRefNoCycle((void**) (&(*(*disp0).ast).kindU.S6.sons->data[((NI) 7)]), copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*(*meth0).ast).kindU.S6.sons->data[((NI) 7)])); } LA9: ; { if (!((*(*disp0).typ).locklevel == ((NI16) -1))) goto LA13; (*(*disp0).typ).locklevel = (*(*meth0).typ).locklevel; } goto LA11; LA13: ; { NIM_BOOL LOC16; TY_Re75IspeoxXy2oCZHwcRrA LOC20; NimStringDesc* LOC21; LOC16 = (NIM_BOOL)0; LOC16 = !(((*(*meth0).typ).locklevel == ((NI16) -1))); if (!(LOC16)) goto LA17; LOC16 = !(((*(*meth0).typ).locklevel == (*(*disp0).typ).locklevel)); LA17: ; if (!LOC16) goto LA18; memset((void*)LOC20, 0, sizeof(LOC20)); LOC20[0] = HEX24_7U5mhhMT9aokoOIuJFuFlgw((*(*meth0).typ).locklevel); LOC20[1] = HEX24_7U5mhhMT9aokoOIuJFuFlgw((*(*disp0).typ).locklevel); LOC21 = (NimStringDesc*)0; LOC21 = nsuFormatOpenArray(((NimStringDesc*) &T_zwdrTKOAAM6OvWnXdBD4GQ_4), LOC20, 2); message_VpilfPWbplGz6ny7O9cfr2g_2((*meth0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 264), LOC21); { if (!((*(*disp0).typ).locklevel < (*(*meth0).typ).locklevel)) goto LA24; (*(*disp0).typ).locklevel = (*(*meth0).typ).locklevel; } LA24: ; } goto LA11; LA18: ; LA11: ; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, createdispatcher_7Ropf86Tz9ayWsm2wDJy1Jg)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* disp0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC15; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC16; { result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; disp0 = copysym_KkocQl2VXhKLz8kG9aC7GEw(s0, NIM_FALSE); (*disp0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 25))%(sizeof(NU32)*8)); (*disp0).flags &= ~(((NU32)1) << ((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1)) % (sizeof(NU32)*8))); asgnRefNoCycle((void**) (&(*disp0).typ), copytype_50MJeIR3xcM7dF9b6Ly3suQ((*disp0).typ, (*(*disp0).typ).owner, NIM_FALSE)); { if (!((*(*disp0).typ).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 5))) goto LA3; (*(*disp0).typ).callconv = ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 0); } LA3: ; asgnRefNoCycle((void**) (&(*disp0).ast), copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*s0).ast)); asgnRefNoCycle((void**) (&(*(*disp0).ast).kindU.S6.sons->data[((NI) 6)]), emptynode_69ccLGuQ2mITw7zylZYtWcA); asgnRefNoCycle((void**) (&(*disp0).loc.r), NIM_NIL); { if (!!(((*(*s0).typ).sons->data[((NI) 0)] == NIM_NIL))) goto LA7; { NI LOC11; LOC11 = (NI)0; LOC11 = sonslen_qPWPHw7WgJeEVYUdcaRIig((*disp0).ast); if (!(((NI) 7) < LOC11)) goto LA12; asgnRefNoCycle((void**) (&(*(*(*disp0).ast).kindU.S6.sons->data[((NI) 7)]).kindU.S4.sym), copysym_KkocQl2VXhKLz8kG9aC7GEw((*(*(*s0).ast).kindU.S6.sons->data[((NI) 7)]).kindU.S4.sym, NIM_FALSE)); } goto LA9; LA12: ; { addson_gCCf68XrWL79bKes6htzFjQ((*disp0).ast, emptynode_69ccLGuQ2mITw7zylZYtWcA); } LA9: ; } LA7: ; LOC15 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC15 = newsymnode_1ARBpggFQuvUDBVYjBelcw(disp0); attachdispatcher_En17YCApL1ZjoA6iXdq35Q(s0, LOC15); LOC16 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC16 = newsymnode_1ARBpggFQuvUDBVYjBelcw(disp0); attachdispatcher_En17YCApL1ZjoA6iXdq35Q(disp0, LOC16); result0 = disp0; goto BeforeRet; }BeforeRet: ; 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; } N_NIMCALL(void, methoddef_RBScY1GpdCG6tkZ3MVBFgw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL fromcache0) { NI L0; Tsym_AXG7xcvKqaxY6koRX1xkCw* witness0; TY_c3iwyH3aQEvxlw6WDIN9c0g LOC19; TY_SHi0WT9ch5AydLQb6k78QuA LOC20; { L0 = (gmethods_HEESWOs86AotXIakWIY9cVA ? gmethods_HEESWOs86AotXIakWIY9cVA->Sup.len : 0); witness0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { NI i_o2KSQy2Cz69b9b59cI14r9a2sQ; NI HEX3Atmp_1Ukvd9ccng9c19a9bf0L8vzzjA; NI res_S9ccHDu1Bxpz2OZTG3bqvFQ; i_o2KSQy2Cz69b9b59cI14r9a2sQ = (NI)0; HEX3Atmp_1Ukvd9ccng9c19a9bf0L8vzzjA = (NI)0; HEX3Atmp_1Ukvd9ccng9c19a9bf0L8vzzjA = (NI)(L0 - ((NI) 1)); res_S9ccHDu1Bxpz2OZTG3bqvFQ = ((NI) 0); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* disp0; Methodresult_qJetbm7aUauL2eZA6Gt5Ag LOC4; if (!(res_S9ccHDu1Bxpz2OZTG3bqvFQ <= HEX3Atmp_1Ukvd9ccng9c19a9bf0L8vzzjA)) goto LA3; i_o2KSQy2Cz69b9b59cI14r9a2sQ = res_S9ccHDu1Bxpz2OZTG3bqvFQ; disp0 = gmethods_HEESWOs86AotXIakWIY9cVA->data[i_o2KSQy2Cz69b9b59cI14r9a2sQ].Field1; LOC4 = (Methodresult_qJetbm7aUauL2eZA6Gt5Ag)0; LOC4 = samemethodbucket_oNnCeyex29cplBrM1qZ3I3A(disp0, s0); switch (LOC4) { case ((Methodresult_qJetbm7aUauL2eZA6Gt5Ag) 2): { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; gmethods_HEESWOs86AotXIakWIY9cVA->data[i_o2KSQy2Cz69b9b59cI14r9a2sQ].Field0 = (TY_sksVpmPRIkNR9axiwtD1Guw*) incrSeqV2(&(gmethods_HEESWOs86AotXIakWIY9cVA->data[i_o2KSQy2Cz69b9b59cI14r9a2sQ].Field0)->Sup, sizeof(Tsym_AXG7xcvKqaxY6koRX1xkCw*)); asgnRefNoCycle((void**) (&gmethods_HEESWOs86AotXIakWIY9cVA->data[i_o2KSQy2Cz69b9b59cI14r9a2sQ].Field0->data[gmethods_HEESWOs86AotXIakWIY9cVA->data[i_o2KSQy2Cz69b9b59cI14r9a2sQ].Field0->Sup.len]), s0); ++gmethods_HEESWOs86AotXIakWIY9cVA->data[i_o2KSQy2Cz69b9b59cI14r9a2sQ].Field0->Sup.len; LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = lastson_esDJA7239bJDiq4UrX9aHCjg((*disp0).ast); attachdispatcher_En17YCApL1ZjoA6iXdq35Q(s0, LOC6); fixupdispatcher_isWbtsg1VqVFbIu1cgV2kw(s0, disp0); checkmethodeffects_74hyMLeBrMSJPWGEi5EzGQ(disp0, s0); { NIM_BOOL LOC9; LOC9 = (NIM_BOOL)0; LOC9 = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 18))&31U)))!=0); if (!(LOC9)) goto LA10; LOC9 = !((gmethods_HEESWOs86AotXIakWIY9cVA->data[i_o2KSQy2Cz69b9b59cI14r9a2sQ].Field0->data[((NI) 0)] == s0)); LA10: ; if (!LOC9) goto LA11; localerror_GarD0CQJ5aQhoHekHYinVQ((*s0).info, ((NimStringDesc*) &T_zwdrTKOAAM6OvWnXdBD4GQ_5)); } LA11: ; goto BeforeRet; } break; case ((Methodresult_qJetbm7aUauL2eZA6Gt5Ag) 0): { } break; case ((Methodresult_qJetbm7aUauL2eZA6Gt5Ag) 1): { { if (!(witness0 == 0)) goto LA17; witness0 = gmethods_HEESWOs86AotXIakWIY9cVA->data[i_o2KSQy2Cz69b9b59cI14r9a2sQ].Field0->data[((NI) 0)]; } LA17: ; } break; } res_S9ccHDu1Bxpz2OZTG3bqvFQ += ((NI) 1); } LA3: ; } } memset((void*)(&LOC19), 0, sizeof(LOC19)); LOC19.Field0 = (TY_sksVpmPRIkNR9axiwtD1Guw*) newSeq((&NTI_sksVpmPRIkNR9axiwtD1Guw), 1); memset((void*)LOC20, 0, sizeof(LOC20)); LOC20[0] = s0; asgnRefNoCycle((void**) (&LOC19.Field0->data[0]), LOC20[0]); LOC19.Field1 = createdispatcher_7Ropf86Tz9ayWsm2wDJy1Jg(s0); gmethods_HEESWOs86AotXIakWIY9cVA = (TY_npTAlnSu9cyJr3PNURLEKhQ*) incrSeqV2(&(gmethods_HEESWOs86AotXIakWIY9cVA)->Sup, sizeof(TY_c3iwyH3aQEvxlw6WDIN9c0g)); genericSeqAssign((&gmethods_HEESWOs86AotXIakWIY9cVA->data[gmethods_HEESWOs86AotXIakWIY9cVA->Sup.len].Field0), LOC19.Field0, (&NTI_sksVpmPRIkNR9axiwtD1Guw)); asgnRefNoCycle((void**) (&gmethods_HEESWOs86AotXIakWIY9cVA->data[gmethods_HEESWOs86AotXIakWIY9cVA->Sup.len].Field1), LOC19.Field1); ++gmethods_HEESWOs86AotXIakWIY9cVA->Sup.len; { NimStringDesc* LOC25; NimStringDesc* LOC26; if (!!((witness0 == NIM_NIL))) goto LA23; LOC25 = (NimStringDesc*)0; LOC26 = (NimStringDesc*)0; LOC26 = HEX24_yjUDf1xsp2Vnrl7HYmqNww((*witness0).info); LOC25 = rawNewString((*(*s0).name).s->Sup.len + LOC26->Sup.len + 68); appendString(LOC25, ((NimStringDesc*) &T_zwdrTKOAAM6OvWnXdBD4GQ_6)); appendString(LOC25, (*(*s0).name).s); appendString(LOC25, ((NimStringDesc*) &T_zwdrTKOAAM6OvWnXdBD4GQ_7)); appendString(LOC25, LOC26); localerror_GarD0CQJ5aQhoHekHYinVQ((*s0).info, LOC25); } goto LA21; LA23: ; { if (!!((((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 18))&31U)))!=0))) goto LA28; message_VpilfPWbplGz6ny7O9cfr2g_2((*s0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 251), ((NimStringDesc*) &T_zwdrTKOAAM6OvWnXdBD4GQ_8)); } goto LA21; LA28: ; LA21: ; }BeforeRet: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, genconv_Mskj9bLDk7w2DfiMjB3hvHQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* d0, NIM_BOOL downcast0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* dest0; Ttype_LTUWCZolpovw9cWE3JBWSUw* source0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; dest0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(d0, 14723344); source0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*n0).typ, 14723344); { NIM_BOOL LOC3; NI diff0; LOC3 = (NIM_BOOL)0; LOC3 = ((*source0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); if (!(LOC3)) goto LA4; LOC3 = ((*dest0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); LA4: ; if (!LOC3) goto LA5; diff0 = inheritancediff_kaOr3lZpnYFOzmAx9cN5LiA_2(dest0, source0); { if (!(diff0 == ((NI) IL64(9223372036854775807)))) goto LA9; result0 = n0; } goto LA7; LA9: ; { if (!(diff0 < ((NI) 0))) goto LA12; result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 67), (*n0).info, d0); addson_gCCf68XrWL79bKes6htzFjQ(result0, n0); { if (!downcast0) goto LA16; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_zwdrTKOAAM6OvWnXdBD4GQ_9)); } LA16: ; } goto LA7; LA12: ; { if (!(((NI) 0) < diff0)) goto LA19; result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 66), (*n0).info, d0); addson_gCCf68XrWL79bKes6htzFjQ(result0, n0); { if (!!(downcast0)) goto LA23; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*n0).info, ((NimStringDesc*) &T_zwdrTKOAAM6OvWnXdBD4GQ_10)); } LA23: ; } goto LA7; LA19: ; { result0 = n0; } LA7: ; } goto LA1; LA5: ; { result0 = n0; } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, methodcall_gTD9bU9bVrAWKOehLSrC5qYw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* disp0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = n0; LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = lastson_esDJA7239bJDiq4UrX9aHCjg((*(*(*result0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym).ast); disp0 = (*LOC1).kindU.S4.sym; asgnRefNoCycle((void**) (&(*(*result0).kindU.S6.sons->data[((NI) 0)]).kindU.S4.sym), disp0); { NI i_85jmZz4Wp5glmHtGLJMrMA; NI HEX3Atmp_eQwsT9a1h3rqPJ86Wu0d8Rw; NI LOC3; NI res_3rIy6ywisETtTgrOHA9csVA; i_85jmZz4Wp5glmHtGLJMrMA = (NI)0; HEX3Atmp_eQwsT9a1h3rqPJ86Wu0d8Rw = (NI)0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(result0); HEX3Atmp_eQwsT9a1h3rqPJ86Wu0d8Rw = (NI)(LOC3 - ((NI) 1)); res_3rIy6ywisETtTgrOHA9csVA = ((NI) 1); { while (1) { if (!(res_3rIy6ywisETtTgrOHA9csVA <= HEX3Atmp_eQwsT9a1h3rqPJ86Wu0d8Rw)) goto LA5; i_85jmZz4Wp5glmHtGLJMrMA = res_3rIy6ywisETtTgrOHA9csVA; asgnRefNoCycle((void**) (&(*result0).kindU.S6.sons->data[i_85jmZz4Wp5glmHtGLJMrMA]), genconv_Mskj9bLDk7w2DfiMjB3hvHQ((*result0).kindU.S6.sons->data[i_85jmZz4Wp5glmHtGLJMrMA], (*(*disp0).typ).sons->data[i_85jmZz4Wp5glmHtGLJMrMA], NIM_TRUE)); res_3rIy6ywisETtTgrOHA9csVA += ((NI) 1); } LA5: ; } } return result0; } N_NIMCALL(NIM_BOOL, relevantcol_iDpBqT9bUuzV5ls8NIOJMpA)(TY_sksVpmPRIkNR9axiwtD1Guw* methods0, NI col0) { NIM_BOOL result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; { result0 = (NIM_BOOL)0; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*methods0->data[((NI) 0)]).typ).sons->data[col0], 14682384); { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA3; { NI i_aPVwYBAH0STlobXka9cin9bw; NI HEX3Atmp_uL2RU29cSyECAJ5JsLkT5mQ; NI res_70TPBgxB4UC3LU1LimhjsA; i_aPVwYBAH0STlobXka9cin9bw = (NI)0; HEX3Atmp_uL2RU29cSyECAJ5JsLkT5mQ = (NI)0; HEX3Atmp_uL2RU29cSyECAJ5JsLkT5mQ = (methods0 ? (methods0->Sup.len-1) : -1); res_70TPBgxB4UC3LU1LimhjsA = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* t20; if (!(res_70TPBgxB4UC3LU1LimhjsA <= HEX3Atmp_uL2RU29cSyECAJ5JsLkT5mQ)) goto LA7; i_aPVwYBAH0STlobXka9cin9bw = res_70TPBgxB4UC3LU1LimhjsA; t20 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*methods0->data[i_aPVwYBAH0STlobXka9cin9bw]).typ).sons->data[col0], 14682384); { NIM_BOOL LOC10; LOC10 = (NIM_BOOL)0; LOC10 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ(t20, t0, 0); if (!!(LOC10)) goto LA11; result0 = NIM_TRUE; goto BeforeRet; } LA11: ; res_70TPBgxB4UC3LU1LimhjsA += ((NI) 1); } LA7: ; } } } LA3: ; }BeforeRet: ; return result0; } N_NIMCALL(NI, cmpsignatures_cAqjds4kZb9b9ajv5XUE8oyA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* a0, Tsym_AXG7xcvKqaxY6koRX1xkCw* b0, Intset_PQrmFm4BXFkFSVOUl1ojSg* relevantcols0) { NI result0; { result0 = (NI)0; { NI col_3kFwtJLrptegXwNHB9bWQXg; NI HEX3Atmp_pKNEqQHlnxWuo9cG259bHEIw; NI LOC2; NI res_MSi8viYDoCnYiuHVI6YHrA; col_3kFwtJLrptegXwNHB9bWQXg = (NI)0; HEX3Atmp_pKNEqQHlnxWuo9cG259bHEIw = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_gG7hUAX9cA629ahMLVL3xN4w((*a0).typ); HEX3Atmp_pKNEqQHlnxWuo9cG259bHEIw = (NI)(LOC2 - ((NI) 1)); res_MSi8viYDoCnYiuHVI6YHrA = ((NI) 1); { while (1) { if (!(res_MSi8viYDoCnYiuHVI6YHrA <= HEX3Atmp_pKNEqQHlnxWuo9cG259bHEIw)) goto LA4; col_3kFwtJLrptegXwNHB9bWQXg = res_MSi8viYDoCnYiuHVI6YHrA; { NIM_BOOL LOC7; Ttype_LTUWCZolpovw9cWE3JBWSUw* aa0; Ttype_LTUWCZolpovw9cWE3JBWSUw* bb0; NI d0; LOC7 = (NIM_BOOL)0; LOC7 = contains_sYBLNwnPJlAFi0nfWU79awg(relevantcols0, col_3kFwtJLrptegXwNHB9bWQXg); if (!LOC7) goto LA8; aa0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*a0).typ).sons->data[col_3kFwtJLrptegXwNHB9bWQXg], 14682384); bb0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*b0).typ).sons->data[col_3kFwtJLrptegXwNHB9bWQXg], 14682384); d0 = inheritancediff_kaOr3lZpnYFOzmAx9cN5LiA_2(aa0, bb0); { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = !((d0 == ((NI) IL64(9223372036854775807)))); if (!(LOC12)) goto LA13; LOC12 = !((d0 == ((NI) 0))); LA13: ; if (!LOC12) goto LA14; result0 = d0; goto BeforeRet; } LA14: ; } LA8: ; res_MSi8viYDoCnYiuHVI6YHrA += ((NI) 1); } LA4: ; } } }BeforeRet: ; return result0; } N_NIMCALL(void, sortbucket_YaTd49cMUYL9cnYLWXdKt2MQ)(TY_sksVpmPRIkNR9axiwtD1Guw** a0, Intset_PQrmFm4BXFkFSVOUl1ojSg* relevantcols0) { NI n0; NI h0; n0 = ((*a0) ? (*a0)->Sup.len : 0); h0 = ((NI) 1); { while (1) { h0 = (NI)((NI)(((NI) 3) * h0) + ((NI) 1)); { if (!(n0 < h0)) goto LA5; goto LA1; } LA5: ; } } LA1: ; { while (1) { h0 = (NI)(h0 / ((NI) 3)); { NI i_PyiULH0Owtja9cPNGLgkTCQ; NI HEX3Atmp_yqc7lC69a1svwJ1PNlMZj8g; NI res_FZZwSQHx3FjIaM6aBrvw0A; i_PyiULH0Owtja9cPNGLgkTCQ = (NI)0; HEX3Atmp_yqc7lC69a1svwJ1PNlMZj8g = (NI)0; HEX3Atmp_yqc7lC69a1svwJ1PNlMZj8g = (NI)(n0 - ((NI) 1)); res_FZZwSQHx3FjIaM6aBrvw0A = h0; { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* v0; NI j0; if (!(res_FZZwSQHx3FjIaM6aBrvw0A <= HEX3Atmp_yqc7lC69a1svwJ1PNlMZj8g)) goto LA11; i_PyiULH0Owtja9cPNGLgkTCQ = res_FZZwSQHx3FjIaM6aBrvw0A; v0 = (*a0)->data[i_PyiULH0Owtja9cPNGLgkTCQ]; j0 = i_PyiULH0Owtja9cPNGLgkTCQ; { while (1) { NI LOC14; LOC14 = (NI)0; LOC14 = cmpsignatures_cAqjds4kZb9b9ajv5XUE8oyA((*a0)->data[(NI)(j0 - h0)], v0, relevantcols0); if (!(((NI) 0) <= LOC14)) goto LA13; asgnRefNoCycle((void**) (&(*a0)->data[j0]), (*a0)->data[(NI)(j0 - h0)]); j0 = (NI)(j0 - h0); { if (!(j0 < h0)) goto LA17; goto LA12; } LA17: ; } LA13: ; } LA12: ; asgnRefNoCycle((void**) (&(*a0)->data[j0]), v0); res_FZZwSQHx3FjIaM6aBrvw0A += ((NI) 1); } LA11: ; } } { if (!(h0 == ((NI) 1))) goto LA21; goto LA7; } LA21: ; } } LA7: ; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, gendispatcher_6TCIQbpIHWyB3YHjnI9c5qA)(TY_sksVpmPRIkNR9axiwtD1Guw* methods0, Intset_PQrmFm4BXFkFSVOUl1ojSg* relevantcols0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tsym_AXG7xcvKqaxY6koRX1xkCw* base0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC1; NI paramlen0; Tnode_bROa11lyF5vxEN9aYNbHmhw* disp0; Tsym_AXG7xcvKqaxY6koRX1xkCw* ands0; Tsym_AXG7xcvKqaxY6koRX1xkCw* iss0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC1 = lastson_esDJA7239bJDiq4UrX9aHCjg((*methods0->data[((NI) 0)]).ast); base0 = (*LOC1).kindU.S4.sym; result0 = base0; paramlen0 = sonslen_gG7hUAX9cA629ahMLVL3xN4w((*base0).typ); disp0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 92), (*base0).info); ands0 = getsyssym_shbCpG9bVTG0JrTOcXxC2hQ(((NimStringDesc*) &T_zwdrTKOAAM6OvWnXdBD4GQ_11)); iss0 = getsyssym_shbCpG9bVTG0JrTOcXxC2hQ(((NimStringDesc*) &T_zwdrTKOAAM6OvWnXdBD4GQ_12)); { NI meth_g9bVEXXgR9aVbdiCswpPO2Gw; NI HEX3Atmp_h9aI9ctW2n8LfdDDr5UG9aF0A; NI res_VkTvtvwTRIoMWBMuuN9a9chg; meth_g9bVEXXgR9aVbdiCswpPO2Gw = (NI)0; HEX3Atmp_h9aI9ctW2n8LfdDDr5UG9aF0A = (NI)0; HEX3Atmp_h9aI9ctW2n8LfdDDr5UG9aF0A = (methods0 ? (methods0->Sup.len-1) : -1); res_VkTvtvwTRIoMWBMuuN9a9chg = ((NI) 0); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* curr0; Tnode_bROa11lyF5vxEN9aYNbHmhw* cond0; Tnode_bROa11lyF5vxEN9aYNbHmhw* call0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC24; Tnode_bROa11lyF5vxEN9aYNbHmhw* ret0; if (!(res_VkTvtvwTRIoMWBMuuN9a9chg <= HEX3Atmp_h9aI9ctW2n8LfdDDr5UG9aF0A)) goto LA4; meth_g9bVEXXgR9aVbdiCswpPO2Gw = res_VkTvtvwTRIoMWBMuuN9a9chg; curr0 = methods0->data[meth_g9bVEXXgR9aVbdiCswpPO2Gw]; cond0 = NIM_NIL; { NI col_LAKnrIHKh4bNk8m9am59aQbA; NI HEX3Atmp_h9aI9ctW2n8LfdDDr5UG9aF0A_2; NI res_VkTvtvwTRIoMWBMuuN9a9chg_2; col_LAKnrIHKh4bNk8m9am59aQbA = (NI)0; HEX3Atmp_h9aI9ctW2n8LfdDDr5UG9aF0A_2 = (NI)0; HEX3Atmp_h9aI9ctW2n8LfdDDr5UG9aF0A_2 = (NI)(paramlen0 - ((NI) 1)); res_VkTvtvwTRIoMWBMuuN9a9chg_2 = ((NI) 1); { while (1) { if (!(res_VkTvtvwTRIoMWBMuuN9a9chg_2 <= HEX3Atmp_h9aI9ctW2n8LfdDDr5UG9aF0A_2)) goto LA7; col_LAKnrIHKh4bNk8m9am59aQbA = res_VkTvtvwTRIoMWBMuuN9a9chg_2; { NIM_BOOL LOC10; Tnode_bROa11lyF5vxEN9aYNbHmhw* isn0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC15; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC16; LOC10 = (NIM_BOOL)0; LOC10 = contains_sYBLNwnPJlAFi0nfWU79awg(relevantcols0, col_LAKnrIHKh4bNk8m9am59aQbA); if (!LOC10) goto LA11; LOC13 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC13 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1)); isn0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*base0).info, LOC13); LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = newsymnode_1ARBpggFQuvUDBVYjBelcw(iss0); addson_gCCf68XrWL79bKes6htzFjQ(isn0, LOC14); LOC15 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC15 = newsymnode_1ARBpggFQuvUDBVYjBelcw((*(*(*(*base0).typ).n).kindU.S6.sons->data[col_LAKnrIHKh4bNk8m9am59aQbA]).kindU.S4.sym); addson_gCCf68XrWL79bKes6htzFjQ(isn0, LOC15); LOC16 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC16 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4), (*base0).info, (*(*curr0).typ).sons->data[col_LAKnrIHKh4bNk8m9am59aQbA]); addson_gCCf68XrWL79bKes6htzFjQ(isn0, LOC16); { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC21; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC22; if (!!((cond0 == NIM_NIL))) goto LA19; LOC21 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC21 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1)); a0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*base0).info, LOC21); LOC22 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC22 = newsymnode_1ARBpggFQuvUDBVYjBelcw(ands0); addson_gCCf68XrWL79bKes6htzFjQ(a0, LOC22); addson_gCCf68XrWL79bKes6htzFjQ(a0, cond0); addson_gCCf68XrWL79bKes6htzFjQ(a0, isn0); cond0 = a0; } goto LA17; LA19: ; { cond0 = isn0; } LA17: ; } LA11: ; res_VkTvtvwTRIoMWBMuuN9a9chg_2 += ((NI) 1); } LA7: ; } } call0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*base0).info); LOC24 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC24 = newsymnode_1ARBpggFQuvUDBVYjBelcw(curr0); addson_gCCf68XrWL79bKes6htzFjQ(call0, LOC24); { NI col_LAKnrIHKh4bNk8m9am59aQbA_2; NI HEX3Atmp_h9aI9ctW2n8LfdDDr5UG9aF0A_3; NI res_VkTvtvwTRIoMWBMuuN9a9chg_3; col_LAKnrIHKh4bNk8m9am59aQbA_2 = (NI)0; HEX3Atmp_h9aI9ctW2n8LfdDDr5UG9aF0A_3 = (NI)0; HEX3Atmp_h9aI9ctW2n8LfdDDr5UG9aF0A_3 = (NI)(paramlen0 - ((NI) 1)); res_VkTvtvwTRIoMWBMuuN9a9chg_3 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC28; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC29; if (!(res_VkTvtvwTRIoMWBMuuN9a9chg_3 <= HEX3Atmp_h9aI9ctW2n8LfdDDr5UG9aF0A_3)) goto LA27; col_LAKnrIHKh4bNk8m9am59aQbA_2 = res_VkTvtvwTRIoMWBMuuN9a9chg_3; LOC28 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC28 = newsymnode_1ARBpggFQuvUDBVYjBelcw((*(*(*(*base0).typ).n).kindU.S6.sons->data[col_LAKnrIHKh4bNk8m9am59aQbA_2]).kindU.S4.sym); LOC29 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC29 = genconv_Mskj9bLDk7w2DfiMjB3hvHQ(LOC28, (*(*curr0).typ).sons->data[col_LAKnrIHKh4bNk8m9am59aQbA_2], NIM_FALSE); addson_gCCf68XrWL79bKes6htzFjQ(call0, LOC29); res_VkTvtvwTRIoMWBMuuN9a9chg_3 += ((NI) 1); } LA27: ; } } ret0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC34; if (!!(((*(*base0).typ).sons->data[((NI) 0)] == NIM_NIL))) goto LA32; a0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 74), (*base0).info); LOC34 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC34 = newsymnode_1ARBpggFQuvUDBVYjBelcw((*(*(*base0).ast).kindU.S6.sons->data[((NI) 7)]).kindU.S4.sym); addson_gCCf68XrWL79bKes6htzFjQ(a0, LOC34); addson_gCCf68XrWL79bKes6htzFjQ(a0, call0); ret0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 109), (*base0).info); addson_gCCf68XrWL79bKes6htzFjQ(ret0, a0); } goto LA30; LA32: ; { ret0 = call0; } LA30: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; if (!!((cond0 == NIM_NIL))) goto LA38; a0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 86), (*base0).info); addson_gCCf68XrWL79bKes6htzFjQ(a0, cond0); addson_gCCf68XrWL79bKes6htzFjQ(a0, ret0); addson_gCCf68XrWL79bKes6htzFjQ(disp0, a0); } goto LA36; LA38: ; { disp0 = ret0; } LA36: ; res_VkTvtvwTRIoMWBMuuN9a9chg += ((NI) 1); } LA4: ; } } asgnRefNoCycle((void**) (&(*(*result0).ast).kindU.S6.sons->data[((NI) 6)]), disp0); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, generatemethoddispatchers_OPDbVo7EMB9cg4DIYdCSFeg)(void) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnode_IgnRxkID5wXTWvTZf9ct0rA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115)); { NI bucket_fNXObQcQG0X417tzaMzdDA; NI HEX3Atmp_YojO8s49cXY3SO7XQQeagFQ; NI res_RvDzp3EWD9cMqMQ1X8vH2WA; bucket_fNXObQcQG0X417tzaMzdDA = (NI)0; HEX3Atmp_YojO8s49cXY3SO7XQQeagFQ = (NI)0; HEX3Atmp_YojO8s49cXY3SO7XQQeagFQ = (NI)((gmethods_HEESWOs86AotXIakWIY9cVA ? gmethods_HEESWOs86AotXIakWIY9cVA->Sup.len : 0) - ((NI) 1)); res_RvDzp3EWD9cMqMQ1X8vH2WA = ((NI) 0); { while (1) { Intset_PQrmFm4BXFkFSVOUl1ojSg relevantcols0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC13; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; if (!(res_RvDzp3EWD9cMqMQ1X8vH2WA <= HEX3Atmp_YojO8s49cXY3SO7XQQeagFQ)) goto LA3; bucket_fNXObQcQG0X417tzaMzdDA = res_RvDzp3EWD9cMqMQ1X8vH2WA; memset((void*)(&relevantcols0), 0, sizeof(relevantcols0)); chckNil((void*)(&relevantcols0)); memset((void*)(&relevantcols0), 0, sizeof(relevantcols0)); initintset_a9a80eJplB17xrdZJ41Baww((&relevantcols0)); { NI col_ZAFcMcUu9bJUJ9b5RAAH9c7eg; NI HEX3Atmp_YojO8s49cXY3SO7XQQeagFQ_2; NI LOC5; NI res_RvDzp3EWD9cMqMQ1X8vH2WA_2; col_ZAFcMcUu9bJUJ9b5RAAH9c7eg = (NI)0; HEX3Atmp_YojO8s49cXY3SO7XQQeagFQ_2 = (NI)0; LOC5 = (NI)0; LOC5 = sonslen_gG7hUAX9cA629ahMLVL3xN4w((*gmethods_HEESWOs86AotXIakWIY9cVA->data[bucket_fNXObQcQG0X417tzaMzdDA].Field0->data[((NI) 0)]).typ); HEX3Atmp_YojO8s49cXY3SO7XQQeagFQ_2 = (NI)(LOC5 - ((NI) 1)); res_RvDzp3EWD9cMqMQ1X8vH2WA_2 = ((NI) 1); { while (1) { if (!(res_RvDzp3EWD9cMqMQ1X8vH2WA_2 <= HEX3Atmp_YojO8s49cXY3SO7XQQeagFQ_2)) goto LA7; col_ZAFcMcUu9bJUJ9b5RAAH9c7eg = res_RvDzp3EWD9cMqMQ1X8vH2WA_2; { NIM_BOOL LOC10; LOC10 = (NIM_BOOL)0; LOC10 = relevantcol_iDpBqT9bUuzV5ls8NIOJMpA(gmethods_HEESWOs86AotXIakWIY9cVA->data[bucket_fNXObQcQG0X417tzaMzdDA].Field0, col_ZAFcMcUu9bJUJ9b5RAAH9c7eg); if (!LOC10) goto LA11; incl_iUpE9bYmIR0fROyJskQwN8g((&relevantcols0), col_ZAFcMcUu9bJUJ9b5RAAH9c7eg); } LA11: ; res_RvDzp3EWD9cMqMQ1X8vH2WA_2 += ((NI) 1); } LA7: ; } } sortbucket_YaTd49cMUYL9cnYLWXdKt2MQ((&gmethods_HEESWOs86AotXIakWIY9cVA->data[bucket_fNXObQcQG0X417tzaMzdDA].Field0), (&relevantcols0)); LOC13 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC13 = gendispatcher_6TCIQbpIHWyB3YHjnI9c5qA(gmethods_HEESWOs86AotXIakWIY9cVA->data[bucket_fNXObQcQG0X417tzaMzdDA].Field0, (&relevantcols0)); LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = newsymnode_1ARBpggFQuvUDBVYjBelcw(LOC13); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC14); res_RvDzp3EWD9cMqMQ1X8vH2WA += ((NI) 1); } LA3: ; } } return result0; } NIM_EXTERNC N_NOINLINE(void, compiler_cgmethInit000)(void) { nimRegisterGlobalMarker(T_zwdrTKOAAM6OvWnXdBD4GQ_3); if (gmethods_HEESWOs86AotXIakWIY9cVA) nimGCunrefNoCycle(gmethods_HEESWOs86AotXIakWIY9cVA); gmethods_HEESWOs86AotXIakWIY9cVA = (TY_npTAlnSu9cyJr3PNURLEKhQ*) newSeqRC1((&NTI_npTAlnSu9cyJr3PNURLEKhQ), 0); } NIM_EXTERNC N_NOINLINE(void, compiler_cgmethDatInit000)(void) { static TNimNode* T_zwdrTKOAAM6OvWnXdBD4GQ_2[2]; static TNimNode T_zwdrTKOAAM6OvWnXdBD4GQ_0[3]; NTI_c3iwyH3aQEvxlw6WDIN9c0g.size = sizeof(TY_c3iwyH3aQEvxlw6WDIN9c0g); NTI_c3iwyH3aQEvxlw6WDIN9c0g.kind = 18; NTI_c3iwyH3aQEvxlw6WDIN9c0g.base = 0; NTI_c3iwyH3aQEvxlw6WDIN9c0g.flags = 2; T_zwdrTKOAAM6OvWnXdBD4GQ_2[0] = &T_zwdrTKOAAM6OvWnXdBD4GQ_0[1]; T_zwdrTKOAAM6OvWnXdBD4GQ_0[1].kind = 1; T_zwdrTKOAAM6OvWnXdBD4GQ_0[1].offset = offsetof(TY_c3iwyH3aQEvxlw6WDIN9c0g, Field0); T_zwdrTKOAAM6OvWnXdBD4GQ_0[1].typ = (&NTI_sksVpmPRIkNR9axiwtD1Guw); T_zwdrTKOAAM6OvWnXdBD4GQ_0[1].name = "Field0"; T_zwdrTKOAAM6OvWnXdBD4GQ_2[1] = &T_zwdrTKOAAM6OvWnXdBD4GQ_0[2]; T_zwdrTKOAAM6OvWnXdBD4GQ_0[2].kind = 1; T_zwdrTKOAAM6OvWnXdBD4GQ_0[2].offset = offsetof(TY_c3iwyH3aQEvxlw6WDIN9c0g, Field1); T_zwdrTKOAAM6OvWnXdBD4GQ_0[2].typ = (&NTI_83n62yi1b9bgUtRR9axFWW9ag); T_zwdrTKOAAM6OvWnXdBD4GQ_0[2].name = "Field1"; T_zwdrTKOAAM6OvWnXdBD4GQ_0[0].len = 2; T_zwdrTKOAAM6OvWnXdBD4GQ_0[0].kind = 2; T_zwdrTKOAAM6OvWnXdBD4GQ_0[0].sons = &T_zwdrTKOAAM6OvWnXdBD4GQ_2[0]; NTI_c3iwyH3aQEvxlw6WDIN9c0g.node = &T_zwdrTKOAAM6OvWnXdBD4GQ_0[0]; NTI_npTAlnSu9cyJr3PNURLEKhQ.size = sizeof(TY_npTAlnSu9cyJr3PNURLEKhQ*); NTI_npTAlnSu9cyJr3PNURLEKhQ.kind = 24; NTI_npTAlnSu9cyJr3PNURLEKhQ.base = (&NTI_c3iwyH3aQEvxlw6WDIN9c0g); NTI_npTAlnSu9cyJr3PNURLEKhQ.flags = 2; NTI_npTAlnSu9cyJr3PNURLEKhQ.marker = Marker_TY_npTAlnSu9cyJr3PNURLEKhQ; }