/* 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 Tsym_AXG7xcvKqaxY6koRX1xkCw Tsym_AXG7xcvKqaxY6koRX1xkCw; typedef struct Tcontext_5TfOJKwTttj3W1t1tMzWUQ Tcontext_5TfOJKwTttj3W1t1tMzWUQ; typedef struct Tscope_1cQRXW6aAknk7ywAwjH3nw Tscope_1cQRXW6aAknk7ywAwjH3nw; typedef struct Tidentiter_Oi4goG2ACEsy9cyTe6OCPrA Tidentiter_Oi4goG2ACEsy9cyTe6OCPrA; typedef struct Tident_4umxGerWTHGPwUms7Yqu3g Tident_4umxGerWTHGPwUms7Yqu3g; typedef struct Tstrtable_f07aOS3dr28kGa5wcE29aFA Tstrtable_f07aOS3dr28kGa5wcE29aFA; typedef struct TY_sksVpmPRIkNR9axiwtD1Guw TY_sksVpmPRIkNR9axiwtD1Guw; typedef struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg Tidobj_raN9cHVgzmvaXisezY9aGg9cg; typedef struct TNimObject TNimObject; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct TY_zuqP4Riz26Oi5fWgPYVEgA TY_zuqP4Riz26Oi5fWgPYVEgA; typedef struct TY_DXS6mEo7PVUFJkirsQ9bNQA TY_DXS6mEo7PVUFJkirsQ9bNQA; typedef struct Ttype_LTUWCZolpovw9cWE3JBWSUw Ttype_LTUWCZolpovw9cWE3JBWSUw; 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_iGkpo9aKQdr3NWelKC4cnJA TY_iGkpo9aKQdr3NWelKC4cnJA; typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Tpasscontext_qNsm39cWb35W2r5AAd9ch87g; typedef struct Tproccon_s5jyYR8yL1QmFqiHICzU9aQ Tproccon_s5jyYR8yL1QmFqiHICzU9aQ; typedef struct Intset_PQrmFm4BXFkFSVOUl1ojSg Intset_PQrmFm4BXFkFSVOUl1ojSg; typedef struct Trunk_ul49aWfv9aes8cutmeltT3gQ Trunk_ul49aWfv9aes8cutmeltT3gQ; typedef struct TY_9brg1xNurxcus33lU4IE1Dw TY_9brg1xNurxcus33lU4IE1Dw; typedef struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw; typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q; typedef struct Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q; typedef struct TY_Mh9agqM29bm9aP5AUL1x7dZGA TY_Mh9agqM29bm9aP5AUL1x7dZGA; typedef struct Tctx_hJGtOysUvnnuB9cLutWG9a2w Tctx_hJGtOysUvnnuB9cLutWG9a2w; typedef struct TY_jWKvSdankQPoT5bw9cBU9aiw TY_jWKvSdankQPoT5bw9cBU9aiw; typedef struct IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw; typedef struct ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ; typedef struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA; typedef struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ; typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg; typedef struct Tidpair_AdFnD2YdADPeuJbG2YJ4vg Tidpair_AdFnD2YdADPeuJbG2YJ4vg; typedef struct TY_9bAGqSvkAaFL9bWjsEPslrFA TY_9bAGqSvkAaFL9bWjsEPslrFA; typedef struct TY_dRkMGUPOSmkGlhHeIeiomQ TY_dRkMGUPOSmkGlhHeIeiomQ; typedef struct PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ; typedef struct TY_RsxI3z4wK8jTuZiO0576gQ TY_RsxI3z4wK8jTuZiO0576gQ; typedef struct Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ; typedef struct Table_tfmlwa8ktiw8woWAs5vhtQ Table_tfmlwa8ktiw8woWAs5vhtQ; typedef struct TY_kxu4GK0onha2t9bo86mdVAg TY_kxu4GK0onha2t9bo86mdVAg; typedef struct TY_48JTohSgTy339bRxHzUD8KA TY_48JTohSgTy339bRxHzUD8KA; typedef struct TY_JokFGfUW6i9b6aeU7xu6xBw TY_JokFGfUW6i9b6aeU7xu6xBw; typedef struct TY_SlmU1Ju0WFHUWkihyHMVYg TY_SlmU1Ju0WFHUWkihyHMVYg; typedef struct TY_UCrBsiykDha2x4hr9aWPwKA TY_UCrBsiykDha2x4hr9aWPwKA; typedef struct Vmargs_0UUl6e5CNNQfMon2xW2bVA Vmargs_0UUl6e5CNNQfMon2xW2bVA; typedef struct TY_xDU9bZmv1ZbZkJDaATBekIQ TY_xDU9bZmv1ZbZkJDaATBekIQ; typedef struct Tblock_2tJGcW69ahqq39a9bVJC1sqGQ Tblock_2tJGcW69ahqq39a9bVJC1sqGQ; typedef struct TY_qwqHTkRvwhrRyENtudHQ7g TY_qwqHTkRvwhrRyENtudHQ7g; struct Tidentiter_Oi4goG2ACEsy9cyTe6OCPrA { NI h; Tident_4umxGerWTHGPwUms7Yqu3g* name; }; struct Tstrtable_f07aOS3dr28kGa5wcE29aFA { NI counter; TY_sksVpmPRIkNR9axiwtD1Guw* data; }; struct Tscope_1cQRXW6aAknk7ywAwjH3nw { NI depthlevel; Tstrtable_f07aOS3dr28kGa5wcE29aFA symbols; Tscope_1cQRXW6aAknk7ywAwjH3nw* parent; }; 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 Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set; typedef NU8 Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ; 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 NU8 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; typedef NimStringDesc* TY_Re75IspeoxXy2oCZHwcRrA[2]; typedef NU8 Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw; typedef NU16 Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw; struct Tident_4umxGerWTHGPwUms7Yqu3g { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; NimStringDesc* s; Tident_4umxGerWTHGPwUms7Yqu3g* next; NI h; }; struct Tpasscontext_qNsm39cWb35W2r5AAd9ch87g { TNimObject Sup; NIM_BOOL fromcache; }; struct Intset_PQrmFm4BXFkFSVOUl1ojSg { NI counter; NI max; Trunk_ul49aWfv9aes8cutmeltT3gQ* head; TY_9brg1xNurxcus33lU4IE1Dw* data; }; struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* head; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* tail; NI counter; }; struct Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q { NI counter; TY_Mh9agqM29bm9aP5AUL1x7dZGA* data; }; typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_AKW0Vo9cFIVu0NCvmOexsSA) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); typedef NU16 Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set; typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_iQuMqQxTQ0KsiquHcemjUQ) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0); typedef NU32 Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set; typedef N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, TY_C8AXaVscqGOxLOeiHy1lmw) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tsymkind_cNCW9acsSznmEccl1fgQwkw_Set filter0); typedef N_NIMCALL_PTR(Ttype_LTUWCZolpovw9cWE3JBWSUw*, TY_bA9c5ClPJvgmXvNlbUiJQiQ) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0); typedef struct { N_NIMCALL_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, ClPrc) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, void* ClEnv); void* ClEnv; } TY_rVRuvning49bS21o9c7OfIPQ; typedef struct { N_NIMCALL_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, ClPrc) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, void* ClEnv); void* ClEnv; } TY_jT9bmmdeK1mqhnuxic7a1jw; typedef NU8 Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ; typedef N_NIMCALL_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, TY_kd4mVSM3CyNW38z8itHZOA) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* dc0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ op0, NI col0); struct Tcontext_5TfOJKwTttj3W1t1tMzWUQ { Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Sup; Tsym_AXG7xcvKqaxY6koRX1xkCw* module; Tscope_1cQRXW6aAknk7ywAwjH3nw* currentscope; Tscope_1cQRXW6aAknk7ywAwjH3nw* importtable; Tscope_1cQRXW6aAknk7ywAwjH3nw* toplevelscope; Tproccon_s5jyYR8yL1QmFqiHICzU9aQ* p; TY_sksVpmPRIkNR9axiwtD1Guw* friendmodules; NI instcounter; Intset_PQrmFm4BXFkFSVOUl1ojSg ambiguoussymbols; NI intypeclass; NI ingenericcontext; NI inunrolledcontext; NI compilescontextid; NI compilescontextidgenerator; NI ingenericinst; TY_sksVpmPRIkNR9axiwtD1Guw* converters; TY_sksVpmPRIkNR9axiwtD1Guw* patterns; Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw optionstack; Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q symmapping; Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw libs; TY_AKW0Vo9cFIVu0NCvmOexsSA semconstexpr; TY_iQuMqQxTQ0KsiquHcemjUQ semexpr; TY_iQuMqQxTQ0KsiquHcemjUQ semtryexpr; TY_AKW0Vo9cFIVu0NCvmOexsSA semtryconstexpr; TY_iQuMqQxTQ0KsiquHcemjUQ semoperand; TY_AKW0Vo9cFIVu0NCvmOexsSA semconstboolexpr; TY_C8AXaVscqGOxLOeiHy1lmw semoverloadedcall; TY_bA9c5ClPJvgmXvNlbUiJQiQ semtypenode; TY_rVRuvning49bS21o9c7OfIPQ seminferredlambda; TY_jT9bmmdeK1mqhnuxic7a1jw semgenerateinstance; Intset_PQrmFm4BXFkFSVOUl1ojSg includedfiles; Tstrtable_f07aOS3dr28kGa5wcE29aFA userpragmas; Tctx_hJGtOysUvnnuB9cLutWG9a2w* evalcontext; Intset_PQrmFm4BXFkFSVOUl1ojSg unknownidents; TY_jWKvSdankQPoT5bw9cBU9aiw* generics; NI topstmts; NI lastgenericidx; NI hloloopdetector; NI inparallelstmt; TY_kd4mVSM3CyNW38z8itHZOA insttypeboundop; Tident_4umxGerWTHGPwUms7Yqu3g* selfname; IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache; ModulegraphHEX3Aobjecttype_RZI3hCs0FTPYx8StfC81qQ* graph; Tstrtable_f07aOS3dr28kGa5wcE29aFA signatures; NimStringDesc* recursivedep; }; typedef NU8 Tnimnodekind_unfNsxrcATrufDZmpBq4HQ; struct TNimNode { Tnimnodekind_unfNsxrcATrufDZmpBq4HQ kind; NI offset; TNimType* typ; NCSTRING name; NI len; TNimNode** sons; }; 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 TY_a09bGTAl9ceOKTAytYdkbyKg { NI Field0; Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1; }; struct Tproccon_s5jyYR8yL1QmFqiHICzU9aQ { Tsym_AXG7xcvKqaxY6koRX1xkCw* owner; Tsym_AXG7xcvKqaxY6koRX1xkCw* resultsym; Tsym_AXG7xcvKqaxY6koRX1xkCw* selfsym; NI nestedloopcounter; NI nestedblockcounter; NI intrystmt; Tproccon_s5jyYR8yL1QmFqiHICzU9aQ* next; NIM_BOOL wasforwarded; Tnode_bROa11lyF5vxEN9aYNbHmhw* bracketexpr; }; typedef NI TY_9a8QARi5WsUggNU9bom7kzTQ[8]; struct Trunk_ul49aWfv9aes8cutmeltT3gQ { Trunk_ul49aWfv9aes8cutmeltT3gQ* next; NI key; TY_9a8QARi5WsUggNU9bom7kzTQ bits; }; struct Tidpair_AdFnD2YdADPeuJbG2YJ4vg { Tidobj_raN9cHVgzmvaXisezY9aGg9cg* key; TNimObject* val; }; typedef NU8 Tevalmode_UbrbHUpo4hYFr1DbYzJgRQ; typedef NU8 Tsandboxflag_JyPEhkAmDAldmLHNNrLR0A_Set; struct Tctx_hJGtOysUvnnuB9cLutWG9a2w { Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Sup; TY_9bAGqSvkAaFL9bWjsEPslrFA* code; TY_dRkMGUPOSmkGlhHeIeiomQ* debug; Tnode_bROa11lyF5vxEN9aYNbHmhw* globals; Tnode_bROa11lyF5vxEN9aYNbHmhw* constants; TY_zuqP4Riz26Oi5fWgPYVEgA* types; Tnode_bROa11lyF5vxEN9aYNbHmhw* currentexceptiona; Tnode_bROa11lyF5vxEN9aYNbHmhw* currentexceptionb; NI exceptioninstr; PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ* prc; Tsym_AXG7xcvKqaxY6koRX1xkCw* module; Tnode_bROa11lyF5vxEN9aYNbHmhw* callsite; Tevalmode_UbrbHUpo4hYFr1DbYzJgRQ mode; Tsandboxflag_JyPEhkAmDAldmLHNNrLR0A_Set features; NIM_BOOL traceactive; NI loopiterations; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw comesfromheuristic; TY_RsxI3z4wK8jTuZiO0576gQ* callbacks; NimStringDesc* errorflag; IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw* cache; }; struct Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ { Tsym_AXG7xcvKqaxY6koRX1xkCw* genericsym; Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA* inst; }; typedef Tident_4umxGerWTHGPwUms7Yqu3g* TY_CBfZt49asUfAsBVM7a3Rc9cw[8192]; struct IdentcacheHEX3Aobjecttype_TzLHS09bRH9a0TYLs39cqcNaw { TY_CBfZt49asUfAsBVM7a3Rc9cw buckets; NI wordcounter; Tident_4umxGerWTHGPwUms7Yqu3g* idanon; Tident_4umxGerWTHGPwUms7Yqu3g* iddelegator; Tident_4umxGerWTHGPwUms7Yqu3g* emptyident; }; 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; }; struct Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA { Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes; NI compilesid; }; typedef NU8 Tslotkind_QOyrDzzey9cf6gDtSRPuZMQ; struct TY_SlmU1Ju0WFHUWkihyHMVYg { NIM_BOOL Field0; Tslotkind_QOyrDzzey9cf6gDtSRPuZMQ Field1; }; typedef TY_SlmU1Ju0WFHUWkihyHMVYg TY_ORKcvNw6ApGJhbot1dJ6oA[256]; struct PprocHEX3Aobjecttype_VFEBuxrDHC6kHPzc1TWaRQ { TY_JokFGfUW6i9b6aeU7xu6xBw* blocks; Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_ORKcvNw6ApGJhbot1dJ6oA slots; NI maxslots; }; typedef struct { N_NIMCALL_PTR(void, ClPrc) (Vmargs_0UUl6e5CNNQfMon2xW2bVA* args0, void* ClEnv); void* ClEnv; } TY_S09bPfanQx9bEvdh4862x8zw; struct TY_UCrBsiykDha2x4hr9aWPwKA { NimStringDesc* Field0; TY_S09bPfanQx9bEvdh4862x8zw Field1; }; struct TY_xDU9bZmv1ZbZkJDaATBekIQ { NI Field0; NI32 Field1; NI32 Field2; }; struct Tblock_2tJGcW69ahqq39a9bVJC1sqGQ { Tsym_AXG7xcvKqaxY6koRX1xkCw* label; TY_qwqHTkRvwhrRyENtudHQ7g* fixups; }; struct Vmargs_0UUl6e5CNNQfMon2xW2bVA { NI ra; NI rb; NI rc; void* slots; Tnode_bROa11lyF5vxEN9aYNbHmhw* currentexception; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw currentlineinfo; }; struct TY_sksVpmPRIkNR9axiwtD1Guw { TGenericSeq Sup; Tsym_AXG7xcvKqaxY6koRX1xkCw* 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_9brg1xNurxcus33lU4IE1Dw { TGenericSeq Sup; Trunk_ul49aWfv9aes8cutmeltT3gQ* data[SEQ_DECL_SIZE]; }; struct TY_Mh9agqM29bm9aP5AUL1x7dZGA { TGenericSeq Sup; Tidpair_AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE]; }; struct TY_jWKvSdankQPoT5bw9cBU9aiw { TGenericSeq Sup; Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE]; }; struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ { TGenericSeq Sup; Tnode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE]; }; struct TY_9bAGqSvkAaFL9bWjsEPslrFA { TGenericSeq Sup; NU32 data[SEQ_DECL_SIZE]; }; struct TY_dRkMGUPOSmkGlhHeIeiomQ { TGenericSeq Sup; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw data[SEQ_DECL_SIZE]; }; struct TY_RsxI3z4wK8jTuZiO0576gQ { TGenericSeq Sup; TY_UCrBsiykDha2x4hr9aWPwKA data[SEQ_DECL_SIZE]; }; struct TY_kxu4GK0onha2t9bo86mdVAg { TGenericSeq Sup; TY_xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE]; }; struct TY_48JTohSgTy339bRxHzUD8KA { TGenericSeq Sup; NI32 data[SEQ_DECL_SIZE]; }; struct TY_JokFGfUW6i9b6aeU7xu6xBw { TGenericSeq Sup; Tblock_2tJGcW69ahqq39a9bVJC1sqGQ data[SEQ_DECL_SIZE]; }; struct TY_qwqHTkRvwhrRyENtudHQ7g { TGenericSeq Sup; NI data[SEQ_DECL_SIZE]; }; N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, searchforprocnew_XUBQS3wiYN5kYQxrNN9awNQ_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tscope_1cQRXW6aAknk7ywAwjH3nw* scope0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, initidentiter_mWFOqJ9be21lsluYGFm6uRA)(Tidentiter_Oi4goG2ACEsy9cyTe6OCPrA* ti0, Tstrtable_f07aOS3dr28kGa5wcE29aFA tab0, Tident_4umxGerWTHGPwUms7Yqu3g* s0); N_NIMCALL(NIM_BOOL, sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags0); N_NIMCALL(Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ, equalparams_rxsP2U5qp9atwRH9aUfmAquQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0); N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr0, NimStringDesc** a0, NI a0Len0); N_NIMCALL(NimStringDesc*, getprocheader_9c0TLKVGuRBEJe67tk7UlpA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0); N_NIMCALL(NimStringDesc*, HEX24_yjUDf1xsp2Vnrl7HYmqNww)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(void, localerror_VpilfPWbplGz6ny7O9cfr2g)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, nextidentiter_rTNfZVe9bciOJ9bfDRjx5gIw)(Tidentiter_Oi4goG2ACEsy9cyTe6OCPrA* ti0, Tstrtable_f07aOS3dr28kGa5wcE29aFA tab0); STRING_LITERAL(T_UQi3TxvDqkoRVo8YKAWcxA_2, "public implementation \'$1\' has non-public forward declaration i" "n $2", 67); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, searchforprocnew_XUBQS3wiYN5kYQxrNN9awNQ_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tscope_1cQRXW6aAknk7ywAwjH3nw* scope0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tidentiter_Oi4goG2ACEsy9cyTe6OCPrA it0; { result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; memset((void*)(&it0), 0, sizeof(it0)); result0 = initidentiter_mWFOqJ9be21lsluYGFm6uRA((&it0), (*scope0).symbols, (*fn0).name); { while (1) { if (!!((result0 == NIM_NIL))) goto LA2; { NIM_BOOL LOC5; Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ LOC9; LOC5 = (NIM_BOOL)0; LOC5 = ((*result0).kind == (*fn0).kind); if (!(LOC5)) goto LA6; LOC5 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ((*result0).typ, (*fn0).typ, 30); LA6: ; if (!LOC5) goto LA7; LOC9 = (Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ)0; LOC9 = equalparams_rxsP2U5qp9atwRH9aUfmAquQ((*(*result0).typ).n, (*(*fn0).typ).n); switch (LOC9) { case ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 1): { { NIM_BOOL LOC13; NimStringDesc* message0; TY_Re75IspeoxXy2oCZHwcRrA LOC17; LOC13 = (NIM_BOOL)0; LOC13 = !((((*result0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&31U)))!=0)); if (!(LOC13)) goto LA14; LOC13 = (((*fn0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&31U)))!=0); LA14: ; if (!LOC13) goto LA15; memset((void*)LOC17, 0, sizeof(LOC17)); LOC17[0] = getprocheader_9c0TLKVGuRBEJe67tk7UlpA(result0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC17[1] = HEX24_yjUDf1xsp2Vnrl7HYmqNww((*result0).info); message0 = nsuFormatOpenArray(((NimStringDesc*) &T_UQi3TxvDqkoRVo8YKAWcxA_2), LOC17, 2); localerror_VpilfPWbplGz6ny7O9cfr2g((*fn0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), message0); } LA15: ; goto BeforeRet; } break; case ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 2): { localerror_VpilfPWbplGz6ny7O9cfr2g((*fn0).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 69), (*(*fn0).name).s); goto BeforeRet; } break; case ((Tparamsequality_fvN026oaoXOuZ9ajGPibaYQ) 0): { } break; } } LA7: ; result0 = nextidentiter_rTNfZVe9bciOJ9bfDRjx5gIw((&it0), (*scope0).symbols); } LA2: ; } result0 = NIM_NIL; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, searchforproc_XUBQS3wiYN5kYQxrNN9awNQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tscope_1cQRXW6aAknk7ywAwjH3nw* scope0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; result0 = searchforprocnew_XUBQS3wiYN5kYQxrNN9awNQ_2(c0, scope0, fn0); return result0; } NIM_EXTERNC N_NOINLINE(void, compiler_procfindInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, compiler_procfindDatInit000)(void) { }