/* 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_modulegraphs.o tools/nimsuggest/nimcache/compiler_modulegraphs.c */ #define NIM_INTBITS 64 #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 TY_dRkMGUPOSmkGlhHeIeiomQ TY_dRkMGUPOSmkGlhHeIeiomQ; typedef struct TGenericSeq TGenericSeq; 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 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; TY_dRkMGUPOSmkGlhHeIeiomQ* allusages; }; 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; }; typedef NI TY_9a8QARi5WsUggNU9bom7kzTQ[8]; struct Trunk_ul49aWfv9aes8cutmeltT3gQ { Trunk_ul49aWfv9aes8cutmeltT3gQ* next; NI key; TY_9a8QARi5WsUggNU9bom7kzTQ 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 Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA { Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes; NI compilesid; }; struct TY_a09bGTAl9ceOKTAytYdkbyKg { NI Field0; Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1; }; 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_dRkMGUPOSmkGlhHeIeiomQ { TGenericSeq Sup; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw 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); N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0); N_NIMCALL(void, inittable_ANARQJPe8QiWqio6ndea9aA)(NI initialsize0, Table_tfmlwa8ktiw8woWAs5vhtQ* Result); N_NIMCALL(NI32, getordefault_kEnofecQ1EfEYSzWPVnDug)(Table_tfmlwa8ktiw8woWAs5vhtQ t0, NI32 key0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getmodule_pXsjDtOjTbIc0Z4pPVTuIA)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0, NI32 fileidx0); 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; static N_INLINE(NI, dependson_8xz3Il0A9cFHda0rnV4YY7gmodulegraphs)(NI a0, NI b0) { NI result0; result0 = (NI)0; result0 = (NI)((NI)((NU64)(a0) << (NU64)(((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); } 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)); (*result0).modules = (TY_sksVpmPRIkNR9axiwtD1Guw*) newSeq((&NTI_sksVpmPRIkNR9axiwtD1Guw), 0); (*result0).importstack = (TY_48JTohSgTy339bRxHzUD8KA*) newSeq((&NTI_48JTohSgTy339bRxHzUD8KA), 0); inittable_ANARQJPe8QiWqio6ndea9aA(((NI) 64), (&(*result0).incltomod)); return result0; } N_NIMCALL(void, resetallmodules_4SNO3KO19ah4nZ7YCVcFW0w)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0) { initstrtable_dDG9ckEId9ai4WID9aLQcRYNg((&(*g0).packagesyms)); initintset_a9a80eJplB17xrdZJ41Baww((&(*g0).deps)); (*g0).modules = (TY_sksVpmPRIkNR9axiwtD1Guw*) newSeq((&NTI_sksVpmPRIkNR9axiwtD1Guw), 0); (*g0).importstack = (TY_48JTohSgTy339bRxHzUD8KA*) newSeq((&NTI_48JTohSgTy339bRxHzUD8KA), 0); inittable_ANARQJPe8QiWqio6ndea9aA(((NI) 64), (&(*g0).incltomod)); } N_NIMCALL(NI32, parentmodule_w0OEOSfCYwCI5WK635MOSQ)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0, NI32 fileidx0) { NI32 result0; result0 = (NI32)0; { NIM_BOOL LOC3; NIM_BOOL LOC4; LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC4 = (((NI32) 0) <= fileidx0); if (!(LOC4)) goto LA5; LOC4 = (((NI) (fileidx0)) < ((*g0).modules ? (*g0).modules->Sup.len : 0)); LA5: ; LOC3 = LOC4; if (!(LOC3)) goto LA6; LOC3 = !(((*g0).modules->data[fileidx0] == NIM_NIL)); LA6: ; if (!LOC3) goto LA7; result0 = fileidx0; } goto LA1; LA7: ; { result0 = getordefault_kEnofecQ1EfEYSzWPVnDug((*g0).incltomod, fileidx0); } LA1: ; return result0; } N_NIMCALL(void, markdirty_m8vBjzOPK6kug9cJ6IVqGng_2)(ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* g0, NI32 fileidx0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* m0; m0 = getmodule_pXsjDtOjTbIc0Z4pPVTuIA(g0, fileidx0); { if (!!((m0 == NIM_NIL))) goto LA3; (*m0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 9))%(sizeof(NU32)*8)); } LA3: ; } 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; }