/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ #define NIM_INTBITS 32 #include "nimbase.h" #undef linux typedef struct ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ; typedef struct Tsym_AXG7xcvKqaxY6koRX1xkCw Tsym_AXG7xcvKqaxY6koRX1xkCw; typedef struct TY_sksVpmPRIkNR9axiwtD1Guw TY_sksVpmPRIkNR9axiwtD1Guw; typedef struct Tstrtable_f07aOS3dr28kGa5wcE29aFA Tstrtable_f07aOS3dr28kGa5wcE29aFA; typedef struct Intset_PQrmFm4BXFkFSVOUl1ojSg Intset_PQrmFm4BXFkFSVOUl1ojSg; typedef struct Trunk_ul49aWfv9aes8cutmeltT3gQ Trunk_ul49aWfv9aes8cutmeltT3gQ; typedef struct TY_9brg1xNurxcus33lU4IE1Dw TY_9brg1xNurxcus33lU4IE1Dw; typedef struct Table_tfmlwa8ktiw8woWAs5vhtQ Table_tfmlwa8ktiw8woWAs5vhtQ; typedef struct TY_kxu4GK0onha2t9bo86mdVAg TY_kxu4GK0onha2t9bo86mdVAg; typedef struct TY_48JTohSgTy339bRxHzUD8KA TY_48JTohSgTy339bRxHzUD8KA; typedef struct TNimObject TNimObject; typedef struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg Tidobj_raN9cHVgzmvaXisezY9aGg9cg; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct TY_zuqP4Riz26Oi5fWgPYVEgA TY_zuqP4Riz26Oi5fWgPYVEgA; typedef struct TY_DXS6mEo7PVUFJkirsQ9bNQA TY_DXS6mEo7PVUFJkirsQ9bNQA; 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 TGenericSeq TGenericSeq; 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 TY_xDU9bZmv1ZbZkJDaATBekIQ TY_xDU9bZmv1ZbZkJDaATBekIQ; typedef struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA; typedef struct TY_iGkpo9aKQdr3NWelKC4cnJA TY_iGkpo9aKQdr3NWelKC4cnJA; typedef struct NimStringDesc NimStringDesc; typedef struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ; typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q; typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w; typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ; typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg; struct Tstrtable_f07aOS3dr28kGa5wcE29aFA { NI counter; TY_sksVpmPRIkNR9axiwtD1Guw* data; }; struct Intset_PQrmFm4BXFkFSVOUl1ojSg { NI counter; NI max; Trunk_ul49aWfv9aes8cutmeltT3gQ* head; TY_9brg1xNurxcus33lU4IE1Dw* data; }; struct Table_tfmlwa8ktiw8woWAs5vhtQ { TY_kxu4GK0onha2t9bo86mdVAg* data; NI counter; }; struct ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ { TY_sksVpmPRIkNR9axiwtD1Guw* modules; Tstrtable_f07aOS3dr28kGa5wcE29aFA packagesyms; Intset_PQrmFm4BXFkFSVOUl1ojSg deps; NIM_BOOL suggestmode; NIM_BOOL invalidtransitiveclosure; Table_tfmlwa8ktiw8woWAs5vhtQ incltomod; TY_48JTohSgTy339bRxHzUD8KA* importstack; TNimObject* backend; }; 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 Tsymkind_cNCW9acsSznmEccl1fgQwkw; 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; }; typedef NU8 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; struct TGenericSeq { NI len; NI reserved; }; 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 NI TY_9agrCtWKhCnWWMJpKKugJag[16]; struct Trunk_ul49aWfv9aes8cutmeltT3gQ { Trunk_ul49aWfv9aes8cutmeltT3gQ* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; struct TY_xDU9bZmv1ZbZkJDaATBekIQ { NI Field0; NI32 Field1; NI32 Field2; }; 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; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct Tident_4umxGerWTHGPwUms7Yqu3g { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; NimStringDesc* s; Tident_4umxGerWTHGPwUms7Yqu3g* next; NI h; }; 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; }; 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 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; }; struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag 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_9agrCtWKhCnWWMJpKKugJag bits; }; struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA { Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes; NI compilesid; }; struct TY_a09bGTAl9ceOKTAytYdkbyKg { NI Field0; Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1; }; struct Freecell_u6M5LHprqzkn9axr04yg9bGQ { Freecell_u6M5LHprqzkn9axr04yg9bGQ* next; NI zerofield; }; struct TY_sksVpmPRIkNR9axiwtD1Guw { TGenericSeq Sup; Tsym_AXG7xcvKqaxY6koRX1xkCw* data[SEQ_DECL_SIZE]; }; struct TY_48JTohSgTy339bRxHzUD8KA { TGenericSeq Sup; NI32 data[SEQ_DECL_SIZE]; }; struct TY_9brg1xNurxcus33lU4IE1Dw { TGenericSeq Sup; Trunk_ul49aWfv9aes8cutmeltT3gQ* data[SEQ_DECL_SIZE]; }; struct TY_kxu4GK0onha2t9bo86mdVAg { TGenericSeq Sup; TY_xDU9bZmv1ZbZkJDaATBekIQ 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]; }; N_NIMCALL(void, incl_iUpE9bYmIR0fROyJskQwN8g)(Intset_PQrmFm4BXFkFSVOUl1ojSg* s0, NI key0); static N_INLINE(NI, dependson_8xz3Il0A9cFHda0rnV4YY7gmodulegraphs)(NI a0, NI b0); N_NIMCALL(NIM_BOOL, haskeyorput_vMzEPMGQV8V0uNKrVGJGKQ)(Table_tfmlwa8ktiw8woWAs5vhtQ* t0, NI32 key0, NI32 val0); N_NIMCALL(void, transitiveclosure_yrgDYY6ZCs4kCCBXNlq7JQ)(Intset_PQrmFm4BXFkFSVOUl1ojSg* g0, NI n0); N_NIMCALL(NIM_BOOL, contains_sYBLNwnPJlAFi0nfWU79awg)(Intset_PQrmFm4BXFkFSVOUl1ojSg s0, NI key0); N_NIMCALL(void, nimGCvisit)(void* d0, NI op0); static N_NIMCALL(void, Marker_TY_KfdHSsl8vyUCSI9b3inBcww)(void* p, NI op); N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0); N_NIMCALL(void, initstrtable_dDG9ckEId9ai4WID9aLQcRYNg)(Tstrtable_f07aOS3dr28kGa5wcE29aFA* x0); N_NIMCALL(void, initintset_a9a80eJplB17xrdZJ41Baww)(Intset_PQrmFm4BXFkFSVOUl1ojSg* Result); 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(void, inittable_ANARQJPe8QiWqio6ndea9aA)(NI initialsize0, Table_tfmlwa8ktiw8woWAs5vhtQ* Result); TNimType NTI_RZI3hCs0FTPYx8StfC81qQ; extern TNimType NTI_sksVpmPRIkNR9axiwtD1Guw; extern TNimType NTI_f07aOS3dr28kGa5wcE29aFA; extern TNimType NTI_PQrmFm4BXFkFSVOUl1ojSg; extern TNimType NTI_VaVACK0bpYmqIQ0mKcHfQQ; extern TNimType NTI_tfmlwa8ktiw8woWAs5vhtQ; extern TNimType NTI_48JTohSgTy339bRxHzUD8KA; extern TNimType NTI_1VeTzqrFu2VJ4a6cGvuoyA; TNimType NTI_KfdHSsl8vyUCSI9b3inBcww; extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q; static N_INLINE(NI, dependson_8xz3Il0A9cFHda0rnV4YY7gmodulegraphs)(NI a0, NI b0) { NI result0; result0 = (NI)0; result0 = (NI)((NI)((NU32)(a0) << (NU32)(((NI) 15))) + b0); return result0; } N_NIMCALL(void, adddep_bpTLmRO2YCcsGWIIZuYw3w)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0, Tsym_AXG7xcvKqaxY6koRX1xkCw* m0, NI32 dep0) { { NI LOC5; if (!(*g0).suggestmode) goto LA3; LOC5 = (NI)0; LOC5 = dependson_8xz3Il0A9cFHda0rnV4YY7gmodulegraphs((*m0).position, ((NI) (dep0))); incl_iUpE9bYmIR0fROyJskQwN8g((&(*g0).deps), LOC5); (*g0).invalidtransitiveclosure = NIM_TRUE; } LA3: ; } N_NIMCALL(void, addincludedep_8AuVl1X7MAtzKBj1JR4bNw)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0, NI32 module0, NI32 includefile0) { NIM_BOOL LOC1; LOC1 = (NIM_BOOL)0; LOC1 = haskeyorput_vMzEPMGQV8V0uNKrVGJGKQ((&(*g0).incltomod), includefile0, module0); } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getmodule_pXsjDtOjTbIc0Z4pPVTuIA)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0, NI32 fileidx0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (((NI32) 0) <= fileidx0); if (!(LOC3)) goto LA4; LOC3 = (((NI) (fileidx0)) < ((*g0).modules ? (*g0).modules->Sup.len : 0)); LA4: ; if (!LOC3) goto LA5; result0 = (*g0).modules->data[fileidx0]; } LA5: ; return result0; } N_NIMCALL(NIM_BOOL, isdirty_tNb7AgepscAanJnzSeLytQ)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0, Tsym_AXG7xcvKqaxY6koRX1xkCw* m0) { NIM_BOOL result0; NIM_BOOL LOC1; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC1 = (*g0).suggestmode; if (!(LOC1)) goto LA2; LOC1 = (((*m0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 9))&31U)))!=0); LA2: ; result0 = LOC1; return result0; } N_NIMCALL(void, transitiveclosure_yrgDYY6ZCs4kCCBXNlq7JQ)(Intset_PQrmFm4BXFkFSVOUl1ojSg* g0, NI n0) { { NI k_ZZwS8KYKGAmEnzgqEU9bIxg; NI i_iBaV9cY4F7AszL9a9aMmypf0Q; k_ZZwS8KYKGAmEnzgqEU9bIxg = (NI)0; i_iBaV9cY4F7AszL9a9aMmypf0Q = ((NI) 0); { while (1) { if (!(i_iBaV9cY4F7AszL9a9aMmypf0Q < n0)) goto LA3; k_ZZwS8KYKGAmEnzgqEU9bIxg = i_iBaV9cY4F7AszL9a9aMmypf0Q; { NI i_iBaV9cY4F7AszL9a9aMmypf0Q_2; NI i_iBaV9cY4F7AszL9a9aMmypf0Q_3; i_iBaV9cY4F7AszL9a9aMmypf0Q_2 = (NI)0; i_iBaV9cY4F7AszL9a9aMmypf0Q_3 = ((NI) 0); { while (1) { if (!(i_iBaV9cY4F7AszL9a9aMmypf0Q_3 < n0)) goto LA6; i_iBaV9cY4F7AszL9a9aMmypf0Q_2 = i_iBaV9cY4F7AszL9a9aMmypf0Q_3; { NI j_Auvy7n9bhgd9bmfuBTf1OEjg; NI i_iBaV9cY4F7AszL9a9aMmypf0Q_4; j_Auvy7n9bhgd9bmfuBTf1OEjg = (NI)0; i_iBaV9cY4F7AszL9a9aMmypf0Q_4 = ((NI) 0); { while (1) { if (!(i_iBaV9cY4F7AszL9a9aMmypf0Q_4 < n0)) goto LA9; j_Auvy7n9bhgd9bmfuBTf1OEjg = i_iBaV9cY4F7AszL9a9aMmypf0Q_4; { NIM_BOOL LOC12; NI LOC14; NIM_BOOL LOC15; LOC12 = (NIM_BOOL)0; LOC12 = !((i_iBaV9cY4F7AszL9a9aMmypf0Q_2 == j_Auvy7n9bhgd9bmfuBTf1OEjg)); if (!(LOC12)) goto LA13; LOC14 = (NI)0; LOC14 = dependson_8xz3Il0A9cFHda0rnV4YY7gmodulegraphs(i_iBaV9cY4F7AszL9a9aMmypf0Q_2, j_Auvy7n9bhgd9bmfuBTf1OEjg); LOC15 = (NIM_BOOL)0; LOC15 = contains_sYBLNwnPJlAFi0nfWU79awg((*g0), LOC14); LOC12 = !(LOC15); LA13: ; if (!LOC12) goto LA16; { NIM_BOOL LOC20; NI LOC21; NI LOC23; NI LOC26; LOC20 = (NIM_BOOL)0; LOC21 = (NI)0; LOC21 = dependson_8xz3Il0A9cFHda0rnV4YY7gmodulegraphs(i_iBaV9cY4F7AszL9a9aMmypf0Q_2, k_ZZwS8KYKGAmEnzgqEU9bIxg); LOC20 = contains_sYBLNwnPJlAFi0nfWU79awg((*g0), LOC21); if (!(LOC20)) goto LA22; LOC23 = (NI)0; LOC23 = dependson_8xz3Il0A9cFHda0rnV4YY7gmodulegraphs(k_ZZwS8KYKGAmEnzgqEU9bIxg, j_Auvy7n9bhgd9bmfuBTf1OEjg); LOC20 = contains_sYBLNwnPJlAFi0nfWU79awg((*g0), LOC23); LA22: ; if (!LOC20) goto LA24; LOC26 = (NI)0; LOC26 = dependson_8xz3Il0A9cFHda0rnV4YY7gmodulegraphs(i_iBaV9cY4F7AszL9a9aMmypf0Q_2, j_Auvy7n9bhgd9bmfuBTf1OEjg); incl_iUpE9bYmIR0fROyJskQwN8g(g0, LOC26); } LA24: ; } LA16: ; i_iBaV9cY4F7AszL9a9aMmypf0Q_4 += ((NI) 1); } LA9: ; } } i_iBaV9cY4F7AszL9a9aMmypf0Q_3 += ((NI) 1); } LA6: ; } } i_iBaV9cY4F7AszL9a9aMmypf0Q += ((NI) 1); } LA3: ; } } } N_NIMCALL(void, markclientsdirty_m8vBjzOPK6kug9cJ6IVqGng)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0, NI32 fileidx0) { { if (!(*g0).invalidtransitiveclosure) goto LA3; (*g0).invalidtransitiveclosure = NIM_FALSE; transitiveclosure_yrgDYY6ZCs4kCCBXNlq7JQ((&(*g0).deps), ((*g0).modules ? (*g0).modules->Sup.len : 0)); } LA3: ; { NI32 i_4N2IirF9bD9b1g2OOM59aODqw; NI32 HEX3Atmp_d5K2dDhs7geb3AWieUUCqQ; NI32 i_4N2IirF9bD9b1g2OOM59aODqw_2; i_4N2IirF9bD9b1g2OOM59aODqw = (NI32)0; HEX3Atmp_d5K2dDhs7geb3AWieUUCqQ = (NI32)0; HEX3Atmp_d5K2dDhs7geb3AWieUUCqQ = ((NI32) (((*g0).modules ? (*g0).modules->Sup.len : 0))); i_4N2IirF9bD9b1g2OOM59aODqw_2 = ((NI32) 0); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* m0; if (!(i_4N2IirF9bD9b1g2OOM59aODqw_2 < HEX3Atmp_d5K2dDhs7geb3AWieUUCqQ)) goto LA7; i_4N2IirF9bD9b1g2OOM59aODqw = i_4N2IirF9bD9b1g2OOM59aODqw_2; m0 = (*g0).modules->data[i_4N2IirF9bD9b1g2OOM59aODqw]; { NIM_BOOL LOC10; NI LOC12; LOC10 = (NIM_BOOL)0; LOC10 = !((m0 == NIM_NIL)); if (!(LOC10)) goto LA11; LOC12 = (NI)0; LOC12 = dependson_8xz3Il0A9cFHda0rnV4YY7gmodulegraphs(((NI) (i_4N2IirF9bD9b1g2OOM59aODqw)), ((NI) (fileidx0))); LOC10 = contains_sYBLNwnPJlAFi0nfWU79awg((*g0).deps, LOC12); LA11: ; if (!LOC10) goto LA13; (*m0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 9))%(sizeof(NU32)*8)); } LA13: ; i_4N2IirF9bD9b1g2OOM59aODqw_2 += ((NI) 1); } LA7: ; } } } static N_NIMCALL(void, Marker_TY_KfdHSsl8vyUCSI9b3inBcww)(void* p, NI op) { ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* a; a = (ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ*)p; nimGCvisit((void*)(*a).modules, op); nimGCvisit((void*)(*a).packagesyms.data, op); nimGCvisit((void*)(*a).deps.head, op); nimGCvisit((void*)(*a).deps.data, op); nimGCvisit((void*)(*a).incltomod.data, op); nimGCvisit((void*)(*a).importstack, op); nimGCvisit((void*)(*a).backend, op); } static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0; result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (usr0))) - (NU32)(((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 (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA3: ; } N_NIMCALL(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ*, newmodulegraph_GQ1K7tcEyGzXeNGgaZT54w)(void) { ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* result0; ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* LOC1; result0 = (ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ*)0; LOC1 = (ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ*)0; LOC1 = (ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ*) newObj((&NTI_KfdHSsl8vyUCSI9b3inBcww), sizeof(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ)); result0 = LOC1; initstrtable_dDG9ckEId9ai4WID9aLQcRYNg((&(*result0).packagesyms)); initintset_a9a80eJplB17xrdZJ41Baww((&(*result0).deps)); if ((*result0).modules) nimGCunrefNoCycle((*result0).modules); (*result0).modules = (TY_sksVpmPRIkNR9axiwtD1Guw*) newSeqRC1((&NTI_sksVpmPRIkNR9axiwtD1Guw), 0); if ((*result0).importstack) nimGCunrefNoCycle((*result0).importstack); (*result0).importstack = (TY_48JTohSgTy339bRxHzUD8KA*) newSeqRC1((&NTI_48JTohSgTy339bRxHzUD8KA), 0); inittable_ANARQJPe8QiWqio6ndea9aA(((NI) 64), (&(*result0).incltomod)); return result0; } NIM_EXTERNC N_NOINLINE(void, compiler_modulegraphsInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, compiler_modulegraphsDatInit000)(void) { static TNimNode* T_vJDjRhiQWnfbAi9csscWSug_2[8]; static TNimNode T_vJDjRhiQWnfbAi9csscWSug_0[9]; NTI_RZI3hCs0FTPYx8StfC81qQ.size = sizeof(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ); NTI_RZI3hCs0FTPYx8StfC81qQ.kind = 18; NTI_RZI3hCs0FTPYx8StfC81qQ.base = 0; T_vJDjRhiQWnfbAi9csscWSug_2[0] = &T_vJDjRhiQWnfbAi9csscWSug_0[1]; T_vJDjRhiQWnfbAi9csscWSug_0[1].kind = 1; T_vJDjRhiQWnfbAi9csscWSug_0[1].offset = offsetof(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ, modules); T_vJDjRhiQWnfbAi9csscWSug_0[1].typ = (&NTI_sksVpmPRIkNR9axiwtD1Guw); T_vJDjRhiQWnfbAi9csscWSug_0[1].name = "modules"; T_vJDjRhiQWnfbAi9csscWSug_2[1] = &T_vJDjRhiQWnfbAi9csscWSug_0[2]; T_vJDjRhiQWnfbAi9csscWSug_0[2].kind = 1; T_vJDjRhiQWnfbAi9csscWSug_0[2].offset = offsetof(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ, packagesyms); T_vJDjRhiQWnfbAi9csscWSug_0[2].typ = (&NTI_f07aOS3dr28kGa5wcE29aFA); T_vJDjRhiQWnfbAi9csscWSug_0[2].name = "packageSyms"; T_vJDjRhiQWnfbAi9csscWSug_2[2] = &T_vJDjRhiQWnfbAi9csscWSug_0[3]; T_vJDjRhiQWnfbAi9csscWSug_0[3].kind = 1; T_vJDjRhiQWnfbAi9csscWSug_0[3].offset = offsetof(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ, deps); T_vJDjRhiQWnfbAi9csscWSug_0[3].typ = (&NTI_PQrmFm4BXFkFSVOUl1ojSg); T_vJDjRhiQWnfbAi9csscWSug_0[3].name = "deps"; T_vJDjRhiQWnfbAi9csscWSug_2[3] = &T_vJDjRhiQWnfbAi9csscWSug_0[4]; T_vJDjRhiQWnfbAi9csscWSug_0[4].kind = 1; T_vJDjRhiQWnfbAi9csscWSug_0[4].offset = offsetof(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ, suggestmode); T_vJDjRhiQWnfbAi9csscWSug_0[4].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ); T_vJDjRhiQWnfbAi9csscWSug_0[4].name = "suggestMode"; T_vJDjRhiQWnfbAi9csscWSug_2[4] = &T_vJDjRhiQWnfbAi9csscWSug_0[5]; T_vJDjRhiQWnfbAi9csscWSug_0[5].kind = 1; T_vJDjRhiQWnfbAi9csscWSug_0[5].offset = offsetof(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ, invalidtransitiveclosure); T_vJDjRhiQWnfbAi9csscWSug_0[5].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ); T_vJDjRhiQWnfbAi9csscWSug_0[5].name = "invalidTransitiveClosure"; T_vJDjRhiQWnfbAi9csscWSug_2[5] = &T_vJDjRhiQWnfbAi9csscWSug_0[6]; T_vJDjRhiQWnfbAi9csscWSug_0[6].kind = 1; T_vJDjRhiQWnfbAi9csscWSug_0[6].offset = offsetof(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ, incltomod); T_vJDjRhiQWnfbAi9csscWSug_0[6].typ = (&NTI_tfmlwa8ktiw8woWAs5vhtQ); T_vJDjRhiQWnfbAi9csscWSug_0[6].name = "inclToMod"; T_vJDjRhiQWnfbAi9csscWSug_2[6] = &T_vJDjRhiQWnfbAi9csscWSug_0[7]; T_vJDjRhiQWnfbAi9csscWSug_0[7].kind = 1; T_vJDjRhiQWnfbAi9csscWSug_0[7].offset = offsetof(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ, importstack); T_vJDjRhiQWnfbAi9csscWSug_0[7].typ = (&NTI_48JTohSgTy339bRxHzUD8KA); T_vJDjRhiQWnfbAi9csscWSug_0[7].name = "importStack"; T_vJDjRhiQWnfbAi9csscWSug_2[7] = &T_vJDjRhiQWnfbAi9csscWSug_0[8]; T_vJDjRhiQWnfbAi9csscWSug_0[8].kind = 1; T_vJDjRhiQWnfbAi9csscWSug_0[8].offset = offsetof(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ, backend); T_vJDjRhiQWnfbAi9csscWSug_0[8].typ = (&NTI_1VeTzqrFu2VJ4a6cGvuoyA); T_vJDjRhiQWnfbAi9csscWSug_0[8].name = "backend"; T_vJDjRhiQWnfbAi9csscWSug_0[0].len = 8; T_vJDjRhiQWnfbAi9csscWSug_0[0].kind = 2; T_vJDjRhiQWnfbAi9csscWSug_0[0].sons = &T_vJDjRhiQWnfbAi9csscWSug_2[0]; NTI_RZI3hCs0FTPYx8StfC81qQ.node = &T_vJDjRhiQWnfbAi9csscWSug_0[0]; NTI_KfdHSsl8vyUCSI9b3inBcww.size = sizeof(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ*); NTI_KfdHSsl8vyUCSI9b3inBcww.kind = 22; NTI_KfdHSsl8vyUCSI9b3inBcww.base = (&NTI_RZI3hCs0FTPYx8StfC81qQ); NTI_KfdHSsl8vyUCSI9b3inBcww.marker = Marker_TY_KfdHSsl8vyUCSI9b3inBcww; }