/* 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 #include #undef linux typedef struct Suggest_tFc84OXhHlhBIifsMtOJew Suggest_tFc84OXhHlhBIifsMtOJew; typedef struct TY_sdDP1TTkc2gaTu5fV53Zqg TY_sdDP1TTkc2gaTu5fV53Zqg; typedef struct TY_qERWGavQjzug69cyzEYP39bQ TY_qERWGavQjzug69cyzEYP39bQ; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct Tsym_AXG7xcvKqaxY6koRX1xkCw Tsym_AXG7xcvKqaxY6koRX1xkCw; typedef struct Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw; typedef struct Tcontext_5TfOJKwTttj3W1t1tMzWUQ Tcontext_5TfOJKwTttj3W1t1tMzWUQ; typedef struct Tnode_bROa11lyF5vxEN9aYNbHmhw Tnode_bROa11lyF5vxEN9aYNbHmhw; typedef struct Ttype_LTUWCZolpovw9cWE3JBWSUw Ttype_LTUWCZolpovw9cWE3JBWSUw; typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct Tident_4umxGerWTHGPwUms7Yqu3g Tident_4umxGerWTHGPwUms7Yqu3g; typedef struct TY_ehmV9bTklH2Gt9cXHV9c0HLeQ TY_ehmV9bTklH2Gt9cXHV9c0HLeQ; typedef struct Tpasscontext_qNsm39cWb35W2r5AAd9ch87g Tpasscontext_qNsm39cWb35W2r5AAd9ch87g; typedef struct TNimObject TNimObject; typedef struct Tscope_1cQRXW6aAknk7ywAwjH3nw Tscope_1cQRXW6aAknk7ywAwjH3nw; typedef struct Tproccon_s5jyYR8yL1QmFqiHICzU9aQ Tproccon_s5jyYR8yL1QmFqiHICzU9aQ; typedef struct TY_sksVpmPRIkNR9axiwtD1Guw TY_sksVpmPRIkNR9axiwtD1Guw; 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 Tstrtable_f07aOS3dr28kGa5wcE29aFA Tstrtable_f07aOS3dr28kGa5wcE29aFA; 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 Exception Exception; typedef struct TSafePoint TSafePoint; 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 TY_zuqP4Riz26Oi5fWgPYVEgA TY_zuqP4Riz26Oi5fWgPYVEgA; typedef struct TY_DXS6mEo7PVUFJkirsQ9bNQA TY_DXS6mEo7PVUFJkirsQ9bNQA; typedef struct Tloc_EtHNvCB0bgfu9bFjzx9cb6aA Tloc_EtHNvCB0bgfu9bFjzx9cb6aA; typedef struct Ropeobj_HF4qJnb6xiOddgPmsxodtQ Ropeobj_HF4qJnb6xiOddgPmsxodtQ; typedef struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA Tlib_4f9aBgmqEuj7uWJdBBGcRgA; typedef struct Ttabiter_VYF5VQsIYEVaBL0fKZJkbg Ttabiter_VYF5VQsIYEVaBL0fKZJkbg; typedef struct TY_sM4lkSb7zS6F7OVMvW9cffQ TY_sM4lkSb7zS6F7OVMvW9cffQ; typedef struct Tdocumentor_AoMzi1HUj6N6QwYiA5PvoQ Tdocumentor_AoMzi1HUj6N6QwYiA5PvoQ; typedef struct TY_iGkpo9aKQdr3NWelKC4cnJA TY_iGkpo9aKQdr3NWelKC4cnJA; typedef struct Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA; typedef struct TY_xITzrU1RhJLKwBlRCAbn9bA TY_xITzrU1RhJLKwBlRCAbn9bA; typedef struct TY_XOVT24GHXwqiEj5GCsEGCA TY_XOVT24GHXwqiEj5GCsEGCA; typedef struct TY_uZlRb8w5pa9b16Yfjq9cGRXQ TY_uZlRb8w5pa9b16Yfjq9cGRXQ; 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 Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA; typedef struct Table_tfmlwa8ktiw8woWAs5vhtQ Table_tfmlwa8ktiw8woWAs5vhtQ; typedef struct TY_kxu4GK0onha2t9bo86mdVAg TY_kxu4GK0onha2t9bo86mdVAg; typedef struct TY_48JTohSgTy339bRxHzUD8KA TY_48JTohSgTy339bRxHzUD8KA; typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w; typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ; typedef struct Rstgenerator_bnsEnRKte9bKKfeTFpYaoSQ Rstgenerator_bnsEnRKte9bKKfeTFpYaoSQ; typedef struct Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw; typedef struct TY_b7kA8pLABz0wMAUNGYo6Wg TY_b7kA8pLABz0wMAUNGYo6Wg; typedef struct Table_zjMaDBasw1LnKbj11akpfw Table_zjMaDBasw1LnKbj11akpfw; typedef struct TY_pUxI6Ljo6IKKHXKOZkQ7Og TY_pUxI6Ljo6IKKHXKOZkQ7Og; typedef struct Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q; typedef struct TY_a09bGTAl9ceOKTAytYdkbyKg TY_a09bGTAl9ceOKTAytYdkbyKg; 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 TY_4eQHGndY6XBYpFOH09apV8Q TY_4eQHGndY6XBYpFOH09apV8Q; typedef struct Tocentry_z7kal23LlR1mL50YJIPMCw Tocentry_z7kal23LlR1mL50YJIPMCw; typedef struct Rstnode_CjRS2xrmuD58kdGedE3yyg Rstnode_CjRS2xrmuD58kdGedE3yyg; typedef struct TY_sr3s7uVHpu9cEbbDnCSg8yQ TY_sr3s7uVHpu9cEbbDnCSg8yQ; typedef struct Orderedtable_AF39bJ7XDr6gpANuGpxkHrw Orderedtable_AF39bJ7XDr6gpANuGpxkHrw; typedef struct TY_MlAD6nAPq9bHKla9cWiIZP0g TY_MlAD6nAPq9bHKla9cWiIZP0g; typedef struct TY_oLpBKXzW3hF9aCVMo5EymfQ TY_oLpBKXzW3hF9aCVMo5EymfQ; typedef struct Tblock_2tJGcW69ahqq39a9bVJC1sqGQ Tblock_2tJGcW69ahqq39a9bVJC1sqGQ; typedef struct TY_qwqHTkRvwhrRyENtudHQ7g TY_qwqHTkRvwhrRyENtudHQ7g; typedef struct TY_UV3llMMYFckfui8YMBuUZA TY_UV3llMMYFckfui8YMBuUZA; typedef struct TY_sawZST1Esj3o7EY9ayWwGPw TY_sawZST1Esj3o7EY9ayWwGPw; typedef struct TY_awOivLjlO76sGdHY7nQUjQ TY_awOivLjlO76sGdHY7nQUjQ; typedef struct { N_NIMCALL_PTR(void, ClPrc) (Suggest_tFc84OXhHlhBIifsMtOJew* result0, void* ClEnv); void* ClEnv; } TY_S1iHa9bJe79be19aRwtH7KMRg; struct TY_sdDP1TTkc2gaTu5fV53Zqg { void* Field0; TY_qERWGavQjzug69cyzEYP39bQ* 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 Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw { NI16 line; NI16 col; NI32 fileindex; }; typedef NU8 Tcheckpointresult_mp7otVupbkudrLwM0IFcHg; typedef NU16 Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set; typedef NU8 Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct Tnode_bROa11lyF5vxEN9aYNbHmhw { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info; Tnodeflag_jyh9acXHkhZANSSvPIY7ZLg_Set flags; Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind; union{ struct {NI64 intval; } S1; struct {NF floatval; } S2; struct {NimStringDesc* strval; } S3; struct {Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; } S4; struct {Tident_4umxGerWTHGPwUms7Yqu3g* ident; } S5; struct {TY_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons; } S6; } kindU; NimStringDesc* comment; }; struct TNimObject { TNimType* m_type; }; 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; struct Tstrtable_f07aOS3dr28kGa5wcE29aFA { NI counter; TY_sksVpmPRIkNR9axiwtD1Guw* data; }; 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 Idecmd_1Ced39bl5eePmZ1PKMPXigQ; struct Exception { TNimObject Sup; Exception* parent; NCSTRING name; NimStringDesc* message; NimStringDesc* trace; }; typedef struct { N_NIMCALL_PTR(NIM_BOOL, ClPrc) (Exception* e0, void* ClEnv); void* ClEnv; } TY_KeeAOYBd84Ofsw6Y7LizaQ; struct TSafePoint { TSafePoint* prev; NI status; jmp_buf context; NIM_BOOL hasRaiseAction; TY_KeeAOYBd84Ofsw6Y7LizaQ raiseAction; }; 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; }; struct Tidobj_raN9cHVgzmvaXisezY9aGg9cg { TNimObject Sup; NI id; }; typedef NU8 Tsymkind_cNCW9acsSznmEccl1fgQwkw; typedef NU16 Tmagic_shZhZOdbVC5nnFvcXQAImg; 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 Tscope_1cQRXW6aAknk7ywAwjH3nw { NI depthlevel; Tstrtable_f07aOS3dr28kGa5wcE29aFA symbols; Tscope_1cQRXW6aAknk7ywAwjH3nw* parent; }; struct Ttabiter_VYF5VQsIYEVaBL0fKZJkbg { NI h; }; typedef N_CLOSURE_PTR(void, T_EV5hHJmjIY9cla9b9be7fSVJQ_6) (Suggest_tFc84OXhHlhBIifsMtOJew* result0); struct Suggest_tFc84OXhHlhBIifsMtOJew { Idecmd_1Ced39bl5eePmZ1PKMPXigQ section; TY_sM4lkSb7zS6F7OVMvW9cffQ* qualifiedpath; NimStringDesc* filepath; NI line; NI column; NimStringDesc* doc; Tsymkind_cNCW9acsSznmEccl1fgQwkw symkind; NimStringDesc* forth; NI quality; NIM_BOOL isglobal; NI tokenlen; }; typedef NU8 Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw; struct Tident_4umxGerWTHGPwUms7Yqu3g { Tidobj_raN9cHVgzmvaXisezY9aGg9cg Sup; NimStringDesc* s; Tident_4umxGerWTHGPwUms7Yqu3g* next; NI h; }; typedef NU64 Tglobaloption_RAfAEZqjnKMDumgyKKc1qw_Set; typedef NU8 Tglobaloption_RAfAEZqjnKMDumgyKKc1qw; typedef NU8 Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw; 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 struct { N_NIMCALL_PTR(NI, ClPrc) (Tsym_AXG7xcvKqaxY6koRX1xkCw* x_HajRHuG3hBLu9aRClDrclVA, Tsym_AXG7xcvKqaxY6koRX1xkCw* y_KmGmpKMOJbSpotUkWVINGw, void* ClEnv); void* ClEnv; } TY_ebCc9bLaaaoeQAaNbPKMIRA; typedef NU8 Sortorder_8iBc6wlNqBa9cju9cUAhUAxA; typedef N_CLOSURE_PTR(NI, T_EV5hHJmjIY9cla9b9be7fSVJQ_13) (Tsym_AXG7xcvKqaxY6koRX1xkCw* x_HajRHuG3hBLu9aRClDrclVA_2, Tsym_AXG7xcvKqaxY6koRX1xkCw* y_KmGmpKMOJbSpotUkWVINGw_2, void* ClEnv); typedef NU64 Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set; typedef NU8 Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg; struct Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA { Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c; NI exactmatches; NI genericmatches; NI subtypematches; NI intconvmatches; NI convmatches; Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg state; Ttype_LTUWCZolpovw9cWE3JBWSUw* callee; Tsym_AXG7xcvKqaxY6koRX1xkCw* calleesym; NI calleescope; Tnode_bROa11lyF5vxEN9aYNbHmhw* call; Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q bindings; Tmagic_shZhZOdbVC5nnFvcXQAImg magic; NIM_BOOL basetypematch; Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag fauxmatch; NIM_BOOL genericconverter; NIM_BOOL coercedistincts; NIM_BOOL typedescmatched; NIM_BOOL isnocall; NU8 mutabilityproblem; NI inheritancepenalty; TY_xITzrU1RhJLKwBlRCAbn9bA* errors; }; typedef NU8 Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw; typedef Ttype_LTUWCZolpovw9cWE3JBWSUw* TY_BF9aKj6RAH9ccQDWaEKQ1HOw[1]; typedef NU8 Ttyperelation_1IMf5P083XuEtWGxYaIXyQ; typedef NU8 Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set; typedef NU8 Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ; struct TY_XOVT24GHXwqiEj5GCsEGCA { NimStringDesc* Field0; NI Field1; }; typedef NU16 Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw; typedef N_CLOSURE_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, T_EV5hHJmjIY9cla9b9be7fSVJQ_24) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); typedef N_CLOSURE_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, T_EV5hHJmjIY9cla9b9be7fSVJQ_25) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); typedef N_CLOSURE_PTR(Tnode_bROa11lyF5vxEN9aYNbHmhw*, T_EV5hHJmjIY9cla9b9be7fSVJQ_28) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); typedef N_CLOSURE_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, T_EV5hHJmjIY9cla9b9be7fSVJQ_29) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); struct TY_uZlRb8w5pa9b16Yfjq9cGRXQ { Tsym_AXG7xcvKqaxY6koRX1xkCw* Field0; NI Field1; }; typedef N_CLOSURE_PTR(NI, T_EV5hHJmjIY9cla9b9be7fSVJQ_36) (Tsym_AXG7xcvKqaxY6koRX1xkCw* x_HajRHuG3hBLu9aRClDrclVA_3, Tsym_AXG7xcvKqaxY6koRX1xkCw* y_KmGmpKMOJbSpotUkWVINGw_3, void* ClEnv); typedef NU8 Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set; typedef N_CLOSURE_PTR(Tsym_AXG7xcvKqaxY6koRX1xkCw*, T_EV5hHJmjIY9cla9b9be7fSVJQ_45) (Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* fn0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); struct TY_qERWGavQjzug69cyzEYP39bQ { char dummy; }; 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 Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q { TNimObject Sup; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* prev; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* next; }; 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 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_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; }; typedef NU8 Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ; struct Tlib_4f9aBgmqEuj7uWJdBBGcRgA { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup; Tlibkind_9b8v60kso59bBaw9cp8B9a9apKQ kind; NIM_BOOL generated; NIM_BOOL isoverriden; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* name; Tnode_bROa11lyF5vxEN9aYNbHmhw* path; }; typedef NU8 Outputtarget_lDlBg9cTod71s9abpUj82lsw; typedef NU8 Rstparseoption_fiZmsylYkyh6nEciRZcPsw_Set; typedef N_NIMCALL_PTR(NimStringDesc*, TY_zTTG1BW0RKgQJxZCxtMtzw) (NimStringDesc* filename0); typedef NU8 Msgkind_iviJnHlj9acPYlnNRbd9bhkQ; typedef N_NIMCALL_PTR(void, TY_tyrxeYd2fCCwD9a8BTYcYJA) (NimStringDesc* filename0, NI line0, NI col0, Msgkind_iviJnHlj9acPYlnNRbd9bhkQ msgkind0, NimStringDesc* arg0); typedef NimStringDesc* TY_C9cQfUOxfT2Mk6yT19cPu9aIA[5]; struct Table_zjMaDBasw1LnKbj11akpfw { TY_pUxI6Ljo6IKKHXKOZkQ7Og* data; NI counter; }; struct Rstgenerator_bnsEnRKte9bKKfeTFpYaoSQ { TNimObject Sup; Outputtarget_lDlBg9cTod71s9abpUj82lsw target; Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* config; NI splitafter; NI listingcounter; TY_b7kA8pLABz0wMAUNGYo6Wg* tocpart; NIM_BOOL hastoc; NimStringDesc* theindex; Rstparseoption_fiZmsylYkyh6nEciRZcPsw_Set options; TY_zTTG1BW0RKgQJxZCxtMtzw findfile; TY_tyrxeYd2fCCwD9a8BTYcYJA msghandler; NimStringDesc* filename; TY_C9cQfUOxfT2Mk6yT19cPu9aIA meta; NimStringDesc* currentsection; Table_zjMaDBasw1LnKbj11akpfw seenindexterms; }; typedef Ropeobj_HF4qJnb6xiOddgPmsxodtQ* TY_YAK3AUlia0Xx2JCfYWAUzg[25]; struct Tdocumentor_AoMzi1HUj6N6QwYiA5PvoQ { Rstgenerator_bnsEnRKte9bKKfeTFpYaoSQ Sup; Ropeobj_HF4qJnb6xiOddgPmsxodtQ* moddesc; NI id; TY_YAK3AUlia0Xx2JCfYWAUzg toc; TY_YAK3AUlia0Xx2JCfYWAUzg section; NimStringDesc* indexvalfilename; NimStringDesc* analytics; Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw* seensymbols; Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* jarray; Tstrtable_f07aOS3dr28kGa5wcE29aFA types; NIM_BOOL ispurerst; }; struct TY_a09bGTAl9ceOKTAytYdkbyKg { NI Field0; Tsym_AXG7xcvKqaxY6koRX1xkCw* Field1; }; 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 Tinstantiation_5LqgVn6Tq9ainQRK7TQAQxA { Tsym_AXG7xcvKqaxY6koRX1xkCw* sym; TY_zuqP4Riz26Oi5fWgPYVEgA* concretetypes; NI compilesid; }; struct TY_xDU9bZmv1ZbZkJDaATBekIQ { NI Field0; NI32 Field1; NI32 Field2; }; struct Freecell_u6M5LHprqzkn9axr04yg9bGQ { Freecell_u6M5LHprqzkn9axr04yg9bGQ* next; NI zerofield; }; typedef NU8 Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ; struct Stringtableobj_DKRIdH9c9cKI7YpQb9c0wKlEw { TNimObject Sup; NI counter; TY_4eQHGndY6XBYpFOH09apV8Q* data; Stringtablemode_G9c4wVDFIzf0xHmQvxso9a9cQ mode; }; struct Tocentry_z7kal23LlR1mL50YJIPMCw { Rstnode_CjRS2xrmuD58kdGedE3yyg* n; NimStringDesc* refname; NimStringDesc* header; }; struct TY_sr3s7uVHpu9cEbbDnCSg8yQ { NI Field0; NimStringDesc* Field1; NI Field2; }; typedef NU8 Jsonnodekind_RUngo7nCHe6O8aBGIcrhtg; struct Orderedtable_AF39bJ7XDr6gpANuGpxkHrw { TY_MlAD6nAPq9bHKla9cWiIZP0g* data; NI counter; NI first; NI last; }; struct Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q { Jsonnodekind_RUngo7nCHe6O8aBGIcrhtg kind; union{ struct {NimStringDesc* str; } S1; struct {NI64 num; } S2; struct {NF fnum; } S3; struct {NIM_BOOL bval; } S4; struct {Orderedtable_AF39bJ7XDr6gpANuGpxkHrw fields; } S6; struct {TY_oLpBKXzW3hF9aCVMo5EymfQ* elems; } S7; } kindU; }; 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_UV3llMMYFckfui8YMBuUZA { NimStringDesc* Field0; NimStringDesc* Field1; }; typedef NU8 Rstnodekind_Q1jM9a8f0MKlvbLZpipB3qg; struct Rstnode_CjRS2xrmuD58kdGedE3yyg { Rstnodekind_Q1jM9a8f0MKlvbLZpipB3qg kind; NimStringDesc* text; NI level; TY_sawZST1Esj3o7EY9ayWwGPw* sons; }; struct TY_awOivLjlO76sGdHY7nQUjQ { NI Field0; NI Field1; NimStringDesc* Field2; Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* Field3; }; struct TY_sM4lkSb7zS6F7OVMvW9cffQ { TGenericSeq Sup; NimStringDesc* data[SEQ_DECL_SIZE]; }; struct TY_sksVpmPRIkNR9axiwtD1Guw { TGenericSeq Sup; Tsym_AXG7xcvKqaxY6koRX1xkCw* data[SEQ_DECL_SIZE]; }; struct TY_zuqP4Riz26Oi5fWgPYVEgA { TGenericSeq Sup; Ttype_LTUWCZolpovw9cWE3JBWSUw* data[SEQ_DECL_SIZE]; }; struct TY_xITzrU1RhJLKwBlRCAbn9bA { TGenericSeq Sup; TY_uZlRb8w5pa9b16Yfjq9cGRXQ 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]; }; struct TY_Mh9agqM29bm9aP5AUL1x7dZGA { TGenericSeq Sup; Tidpair_AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE]; }; struct TY_jWKvSdankQPoT5bw9cBU9aiw { TGenericSeq Sup; Tinstantiationpair_HkXM4cJmOpk8zFcmq9c9c3gQ 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_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_b7kA8pLABz0wMAUNGYo6Wg { TGenericSeq Sup; Tocentry_z7kal23LlR1mL50YJIPMCw data[SEQ_DECL_SIZE]; }; struct TY_pUxI6Ljo6IKKHXKOZkQ7Og { TGenericSeq Sup; TY_sr3s7uVHpu9cEbbDnCSg8yQ data[SEQ_DECL_SIZE]; }; struct TY_JokFGfUW6i9b6aeU7xu6xBw { TGenericSeq Sup; Tblock_2tJGcW69ahqq39a9bVJC1sqGQ data[SEQ_DECL_SIZE]; }; struct TY_4eQHGndY6XBYpFOH09apV8Q { TGenericSeq Sup; TY_UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE]; }; struct TY_MlAD6nAPq9bHKla9cWiIZP0g { TGenericSeq Sup; TY_awOivLjlO76sGdHY7nQUjQ data[SEQ_DECL_SIZE]; }; struct TY_oLpBKXzW3hF9aCVMo5EymfQ { TGenericSeq Sup; Jsonnodeobj_df9bshXB7C9cTiWPIOtX3j1Q* data[SEQ_DECL_SIZE]; }; struct TY_qwqHTkRvwhrRyENtudHQ7g { TGenericSeq Sup; NI data[SEQ_DECL_SIZE]; }; struct TY_sawZST1Esj3o7EY9ayWwGPw { TGenericSeq Sup; Rstnode_CjRS2xrmuD58kdGedE3yyg* data[SEQ_DECL_SIZE]; }; N_NIMCALL(void, nimGCvisit)(void* d0, NI op0); static N_NIMCALL(void, T_EV5hHJmjIY9cla9b9be7fSVJQ_3)(void); N_NIMCALL(void, nimRegisterGlobalMarker)(TY_T4eqaYlFJYZUv9aG9b1TV0bQ markerproc0); static N_NIMCALL(void, T_EV5hHJmjIY9cla9b9be7fSVJQ_4)(void); N_NIMCALL(Tcheckpointresult_mp7otVupbkudrLwM0IFcHg, incheckpoint_GA4ibfeQx1uKQi9bIH2QX4w)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw current0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, findclosestdot_9aBm2OiqFaJoTlXkYMqFfYQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(NI, safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, safesemexpr_74xCvYZL9b9cKsQyQ9a9aX3Oqw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); static N_INLINE(void, pushSafePoint)(TSafePoint* s0); static N_INLINE(void, popSafePoint)(void); N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj0, TNimType* subclass0); static N_INLINE(Exception*, getCurrentException)(void); static N_INLINE(void, popCurrentException)(void); static N_INLINE(void, asgnRef)(void** dest0, void* src0); static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0); static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NOINLINE(void, addzct_fCDI7oO1NNVXXURtxSzsRw)(Cellseq_Axo1XVm9aaQueTOldv8le5w* s0, Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0); N_NIMCALL(void, reraiseException)(void); N_NIMCALL(void, suggestfieldaccess_sZLTug9chAc5gilY9bLWuoAw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI* outputs0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, inittabiter_4ygtuv45J5xOJG1H4GUF9bA)(Ttabiter_VYF5VQsIYEVaBL0fKZJkbg* ti0, Tstrtable_f07aOS3dr28kGa5wcE29aFA tab0); static N_INLINE(NIM_BOOL, filtersym_XtYBweJqs2OpFBFVtkucbQsigmatch)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(void, suggestresult_XfzKoO09bw9cbOe5pnn9bxngg)(Suggest_tFc84OXhHlhBIifsMtOJew* s0); N_NIMCALL(void, suggestwriteln_tRbCZ4fGDe9a36bXIedwnwQ)(NimStringDesc* s0); N_NIMCALL(NimStringDesc*, HEX24_d9cgTr4UmnyMXo9cuHiSWz3Q)(Suggest_tFc84OXhHlhBIifsMtOJew* suggest0); N_NIMCALL(NimStringDesc*, HEX24_9cJCKitIoTmipZ9bq1gB25Vw)(Idecmd_1Ced39bl5eePmZ1PKMPXigQ c0); N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s0, NIM_CHAR c0); static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0); static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0); N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest0, NI addlen0); N_NIMCALL(NimStringDesc*, reprEnum)(NI e0, TNimType* typ0); N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0); N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a0, NI a0Len0, NimStringDesc* sep0); N_NIMCALL(NimStringDesc*, nsuEscape)(NimStringDesc* s0, NimStringDesc* prefix0, NimStringDesc* suffix0); N_NIMCALL(void, symtosuggest_FFMkcTntV5b53OSyNeVJPQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL islocal0, NimStringDesc* section0, NI quality0, Suggest_tFc84OXhHlhBIifsMtOJew* Result); N_NIMCALL(void, symtosuggest_tOyawPUH9cST0l28alTZiyQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL islocal0, NimStringDesc* section0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw li0, NI quality0, Suggest_tFc84OXhHlhBIifsMtOJew* Result); N_NIMCALL(Idecmd_1Ced39bl5eePmZ1PKMPXigQ, parseidecmd_TQvrSbYJ8il5GbXHllB0rw)(NimStringDesc* s0); N_NIMCALL(NimStringDesc*, tofullpath_7s19cb7WBgztz9aqEBzwwuqA)(NI32 fileidx0); N_NIMCALL(void, unsureAsgnRef)(void** dest0, void* src0); static N_INLINE(NI, tolinenumber_Vr9aXuUyvBQDK4X2879cHuGgsigmatch)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); static N_INLINE(NI, tocolumn_Vr9aXuUyvBQDK4X2879cHuGg_2sigmatch)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(void*, newSeq)(TNimType* typ0, NI len0); N_NIMCALL(TGenericSeq*, incrSeqV2)(TGenericSeq* seq0, NI elemsize0); N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src0); static N_INLINE(void, nimGCunrefNoCycle)(void* p0); N_NIMCALL(NimStringDesc*, typetostring_iUZlBdvGqNPVN17wd9aVBNw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0); N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src0); N_NIMCALL(NimStringDesc*, extractdoccomment_gqZQN2lJPlhAvwYOW3Xf8Q)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tdocumentor_AoMzi1HUj6N6QwYiA5PvoQ* d0); N_NOINLINE(void, chckNil)(void* p0); N_NIMCALL(void, genericReset)(void* dest0, TNimType* mt0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, nextiter_MtRRPpsZix0WHVpZVShg0A)(Ttabiter_VYF5VQsIYEVaBL0fKZJkbg* ti0, Tstrtable_f07aOS3dr28kGa5wcE29aFA tab0); N_NIMCALL(void, suggesteverything_sZLTug9chAc5gilY9bLWuoAw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI* outputs0); N_NIMCALL(void, suggestsymlist_xnuyYG9cU5DIguyZ0JEF9cqg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* list0, NI* outputs0); N_NIMCALL(NI, sonslen_qPWPHw7WgJeEVYUdcaRIig)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, suggestfield_JoTXekhy9a4BpEitLZpiC8Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NI* outputs0); static N_INLINE(NIM_BOOL, fieldvisible_7dkMugvu9c7eUJBaXG7Qzowsigmatch)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* f0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getmodule_0lPlu1uOok1rRK50z1V70A)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(void, suggestoperations_MTkYMSIXBRdtvHqoUHhK1Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, NI* outputs0); static N_INLINE(void, asgnRefNoCycle)(void** dest0, void* src0); N_NIMCALL(void, genericSeqAssign)(void* dest0, void* src_qi9cfsBnd42r9a9cpCLO10jow, TNimType* mt0); N_NIMCALL(void, sort_pFXw7jjw1D1y9ahnr6FqyYQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw** a0, NI a0Len0, TY_ebCc9bLaaaoeQAaNbPKMIRA cmp0, Sortorder_8iBc6wlNqBa9cju9cUAhUAxA order0); N_NIMCALL(NI, HEX3Aanonymous_JXbbRJfy9awFVSPUsLGBSEQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* a_sHo1SPMXhnlNg9cx6eI2XrQ, Tsym_AXG7xcvKqaxY6koRX1xkCw* b_anUFsWNzYbFvMxA6JiUCWA); N_NIMCALL(NI, cmp_xEnKsp9cfvO7Do9cTYXo8eJw)(NimStringDesc* x0, NimStringDesc* y0); static N_INLINE(NIM_BOOL, filtersymnoopr_XtYBweJqs2OpFBFVtkucbQ_2sigmatch)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(NIM_BOOL, iskeyword_J8SfzIplItYlZSj2oKWDnA)(Tident_4umxGerWTHGPwUms7Yqu3g* i0); static N_INLINE(NIM_BOOL, typefits_q79cNzBIFiMxy9cSPq2r9cWPQsigmatch)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Ttype_LTUWCZolpovw9cWE3JBWSUw* firstarg0); N_NIMCALL(NI, sonslen_gG7hUAX9cA629ahMLVL3xN4w)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skiptypes_pLCdCGDuirMe9cspwviV9aVA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set kinds0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, elemtype_46gPaVDDGhiU69b2oKDJZuA_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NIM_BOOL, argtypematches_cr4dgVPGk0yjqqQJn4quJw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0); N_NIMCALL(void, initcandidate_R0iDmZjaDJEKlSDdgINtVg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* ctx0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* callee0); static N_INLINE(void, initcandidateaux_4N44pnzycRIQPHhvl7qG9cQsigmatch)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* ctx0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* callee0); N_NIMCALL(void, initidtable_9cUS2oaKn1IFXKjLdglPZHQ)(Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q* x0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, paramtypesmatch_4oz468xMSO9cYY9cQWwg7YHg)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0, Tnode_bROa11lyF5vxEN9aYNbHmhw* argorig0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, paramtypesmatchaux_VRvPGOe1y6zeZJmJzzQbsQ)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* argtype_tI9cURCfcfMTZX8vYUIdGDg, Tnode_bROa11lyF5vxEN9aYNbHmhw* argsemantized0, Tnode_bROa11lyF5vxEN9aYNbHmhw* argorig0); N_NIMCALL(void, assigntype_50w9aT349c89bOXl19bOrS5HnA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* dest0, Ttype_LTUWCZolpovw9cWE3JBWSUw* src0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodeit_lbGnVdZM6n2HPza7jVIlww)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, maketypefromexpr_i8yLSSLd36fdLF9a4Nc0aeg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, newtypes_9cQrDprXawJ1DKOUTsPNMTg)(Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(void*, newSeqRC1)(TNimType* typ0, NI len0); N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, typerel_0fsYV9bVZA2eXpHTIQspjZA)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* aorig0, NIM_BOOL dobind0); static N_INLINE(void, put_JoRvap9abGYCKt6dvPFvsFAsigmatch)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* key0, Ttype_LTUWCZolpovw9cWE3JBWSUw* val0); N_NIMCALL(void, idtableput_3gLsywwJ9bZDaf06DfKpYbw)(Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q* t0, Tidobj_raN9cHVgzmvaXisezY9aGg9cg* key0, TNimObject* val0); static N_INLINE(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, getsystype_dewjtBqyEbcVGQRaQFtDAw)(Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, maybeskipdistinct_b9cb0j2qLR8Vva3Tro7wfEA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tsym_AXG7xcvKqaxY6koRX1xkCw* callee0); N_NIMCALL(NIM_BOOL, shouldskipdistinct_knSo3339cRSN2U4HFxzrY1g)(Tnode_bROa11lyF5vxEN9aYNbHmhw* rules0, Tident_4umxGerWTHGPwUms7Yqu3g* callident0); static N_INLINE(NI, len_CdME9baJhvveuPEDZE9bXoxAlambdalifting)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tident_4umxGerWTHGPwUms7Yqu3g*, considerquotedident_bi6H6x9cvavSxJocgYdA9bRw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, base_46gPaVDDGhiU69b2oKDJZuA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, lastson_E41DMKHtT9c6sAMyyvhmSIw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0); static N_INLINE(NIM_BOOL, sameenumtypes_8v4PltvnKUFVoINNTE260gsigmatch)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0); static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, tryresolvingstaticexpr_9c6ZlcqOU7h9ajbZLjoxOM0w)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, replacetypesinbody_B4zyXrESj1hI8fRLnmKryA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* p0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0); N_NOINLINE(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, typerangerel_h89bCS2h619a5vh77e9bOGAjQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0); N_NIMCALL(NI64, firstord_HUiBYxvKiECXCv8BzQNheg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NI64, lastord_HUiBYxvKiECXCv8BzQNheg_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NIM_BOOL, isconvertibletorange_02bS6aQ1YnsMHEF1Do9aHsg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0); N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, handlerange_9bd6b9aVP68tDeJTTDO30vSg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag min0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag max0); static N_INLINE(NIM_BOOL, isintlit_UBQknCC9aYWKMNMK4dmeTlQtypes)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, handlefloatrange_2C61PQXVzju4z2HN0r7b0g)(Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0); static N_INLINE(NIM_BOOL, isfloatlit_UBQknCC9aYWKMNMK4dmeTlQsigmatch)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(TNimObject*, idtableget_D12lVDWWPrKae8szg3EYLw)(Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q t0, Tidobj_raN9cHVgzmvaXisezY9aGg9cg* key0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, newtypewithsons_7xhH3IRNjYY0XJGePt8pLA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag kind0, TY_zuqP4Riz26Oi5fWgPYVEgA* sons0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newintnode_v2VGJAZNfKPVngZCqEXQtA)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, NI64 intval0); N_NIMCALL(NI64, lengthord_HUiBYxvKiECXCv8BzQNheg_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NI, len_gG7hUAX9cA629ahMLVL3xN4w_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* n0); static N_INLINE(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, allowsnil_59aII9aHhpaoZviau1LkOWWwsigmatch)(Ttype_LTUWCZolpovw9cWE3JBWSUw* f0); N_NIMCALL(NIM_BOOL, isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(void, internalerror_5XY9cUy7hZmUusM38U9cYYdw)(NimStringDesc* errmsg0); N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, recordrel_ATXQei1OP9acdbktDwpAl9ag)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0); N_NIMCALL(NIM_BOOL, sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0, Ttypecmpflag_72pgRXSg7774cr9aCWVPORw_Set flags0); N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, minrel_cHQQLlmn22nDWBNFDVGjGw)(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ a0, Ttyperelation_1IMf5P083XuEtWGxYaIXyQ b0); N_NIMCALL(void, internalerror_MXmtqrCmYwtOPkDCFgUWKQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* errmsg0); N_NIMCALL(NIM_BOOL, sameobjecttypes_bXxjiP8HPzKjOso3AVsG5w)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0); N_NIMCALL(NI, isobjectsubtype_AAFgb9cf1jok4tDnzcxROEA)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* fgenericorigin0); static N_INLINE(NIM_BOOL, samedistincttypes_E81g0CHdt1olSerxA8b5oAsigmatch)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0); N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, proctyperel_ATXQei1OP9acdbktDwpAl9ag_2)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0); N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, procparamtyperel_ATXQei1OP9acdbktDwpAl9ag_3)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f_ZGbbZW755tWLjGofnyQdGA, Ttype_LTUWCZolpovw9cWE3JBWSUw* a_vkoKSj6s9c29bFdjsTemg9amQ); N_NIMCALL(NIM_BOOL, ismetatype_BP9bVN0WuPxtcisPwKXmzoQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, generatetypeinstance_J1KXEIMiOMsSsHjeCCCXbQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* p0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q pt0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); static N_INLINE(NIM_BOOL, inconsistentvartypes_v1q2uuw9bsT7guGlN6Ln1vgsigmatch)(Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0); N_NIMCALL(NIM_BOOL, compatibleeffects_ulOq8f6fsd9cVuZJ1lRYKMw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0, Ttype_LTUWCZolpovw9cWE3JBWSUw* actual0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skipgenericalias_46gPaVDDGhiU69b2oKDJZuA_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NIM_BOOL, isgenericsubtype_iFYDgIHQFHAIUyeXIQKySg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, NI* d0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skiptoobject_2mzjvZ9aRUzu3xJQF0NC3eQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ* skipped0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, concretetype_LygDqx9ccbKjtPzfFJFniJQ)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(NimStringDesc*, rawNewString)(NI space0); N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, matchusertypeclass_NSmou3mZj0I2im7PS4zUIg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* ff0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0); N_NIMCALL(void, localerror_GarD0CQJ5aQhoHekHYinVQ)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, NimStringDesc* arg0); N_NIMCALL(NimStringDesc*, HEX24_qX5C9b0n9bOP7jk69amC8dA7A_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tscope_1cQRXW6aAknk7ywAwjH3nw*, openscope_en8ki68OmR49cqJSPN5rSJQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, newsym_2uJTpCZGZAi7a4eAm1ds8Q)(Tsymkind_cNCW9acsSznmEccl1fgQwkw symkind0, Tident_4umxGerWTHGPwUms7Yqu3g* name0, Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0); N_NIMCALL(void, adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, makevartype_mDAs5V37nZYC3ByzC3o7dQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* basetype0); N_NIMCALL(NimStringDesc*, HEX24_k53Ge4e9cDjc7y9c5uML7sPQ)(TY_XOVT24GHXwqiEj5GCsEGCA x0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, copytree_lz8T1F9c0YwEOpUnrAUYgjg_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* src0); N_NIMCALL(void, closescope_r2b7lx9cCbS9b0TH9b5UCNxAA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(NIM_BOOL, HEX3DHEX3D_59b802owH8LncWkMg9cCE3ng)(TY_zuqP4Riz26Oi5fWgPYVEgA* x0, TY_zuqP4Riz26Oi5fWgPYVEgA* y0); N_NIMCALL(NIM_BOOL, exprstructuralequivalent_XApnXRaD9btY9a4pkMO0ITTg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* b0, NIM_BOOL strictsymequality0); N_NIMCALL(void, localerror_VpilfPWbplGz6ny7O9cfr2g)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0); N_NIMCALL(void, incmatches_pC7j2mDtrjUpKOb1X8xk5A)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttyperelation_1IMf5P083XuEtWGxYaIXyQ r0, NI convmatch0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newsymnode_slQ2jWOFI1ND3N9c79b7b18g)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, implicitconv_ttBE689bA8zSgXJt6wtOZGA)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newnodei_PIqgSH9b0m7nFpOyXf9cpz5w)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(NIM_BOOL, containsgenerictype_Xhr5Lz1SR4KhD6lSHAyGDA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, getinstantiatedtype_4yLeA9cfYvM0ZfKPSGqCZCg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, errortype_ShA6p2jJG1xQ4GbGPvr38g)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0); N_NIMCALL(void, addson_gCCf68XrWL79bKes6htzFjQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0); N_NIMCALL(NIM_BOOL, isemptycontainer_XI7vH8jtAcp7rWqTmfZOSg_3)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, userconvmatch_fnGSh6c9cvB9b6ahDjUpd9aAA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0); N_NIMCALL(void, markused_Ue6rwV8sAT8uVT9cT5cip9aA)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(void, message_VpilfPWbplGz6ny7O9cfr2g_2)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw msg0, NimStringDesc* arg0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newsymnode_1ARBpggFQuvUDBVYjBelcw)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, localconvmatch_fnGSh6c9cvB9b6ahDjUpd9aAA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0); N_NIMCALL(void, add_gCCf68XrWL79bKes6htzFjQ_3)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0); N_NIMCALL(void, copycandidate_pupnwSeNO1uiPChHifpilQ)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* a0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* b0); N_NIMCALL(void, copyidtable_PAWgxjpTWlqAOeehMcKZ0w)(Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q* dest0, Tidtable_9aiv9bp2t5icFNINcg9c4xi1Q src0); static N_NIMCALL(void, Marker_TY_xITzrU1RhJLKwBlRCAbn9bA)(void* p, NI op); N_NIMCALL(void, genericAssign)(void* dest0, void* src0, TNimType* mt0); N_NIMCALL(NI, cmpcandidates_y6m9bhhlwHAuzsfu0xg0hDQ)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* a0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* b0); N_NIMCALL(NI, complexdisambiguation_QYrRv9bDF6IEx6OHay7hPpg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0); N_NIMCALL(NI, sumgeneric_3yGddmiezmYo8RY02I0sJQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t_D7m3YNJLIYTykWw0m4MtHQ); N_NIMCALL(void, suggestobject_sZLTug9chAc5gilY9bLWuoAw_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI* outputs0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, lastson_esDJA7239bJDiq4UrX9aHCjg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, findclosestcall_9aBm2OiqFaJoTlXkYMqFfYQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, copynode_lz8T1F9c0YwEOpUnrAUYgjg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* src0); N_NIMCALL(void, suggestcall_u17D1X5DVdBh1NyIkw529aA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, NI* outputs0); N_NIMCALL(NI, HEX3Aanonymous_JXbbRJfy9awFVSPUsLGBSEQ_2)(Tsym_AXG7xcvKqaxY6koRX1xkCw* a_yPPkY7dTxpeaTMk1k7YiRw, Tsym_AXG7xcvKqaxY6koRX1xkCw* b_rfNMfeaXpUQljDe6qQUHPw); N_NIMCALL(NIM_BOOL, namefits_aHOzXQ5KFmG6jnLobldVaw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, argsfit_Qn09aGeFsj9bCZF8BCCdCa0Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* candidate0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0); N_NIMCALL(void, initcandidate_k2gpOBVyx13JjcoIpvVYvQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* ctx0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* callee0, Tnode_bROa11lyF5vxEN9aYNbHmhw* binding0, NI calleescope0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, originatingmodule_ugWPlZqqVshHUeOH4zw3vA_2)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, skipgenericowner_ugWPlZqqVshHUeOH4zw3vA)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0); N_NIMCALL(void, partialmatch_x3U2uVO0diqi4Z4tOU2y9aw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0); N_NIMCALL(void, initintset_a9a80eJplB17xrdZJ41Baww)(Intset_PQrmFm4BXFkFSVOUl1ojSg* Result); N_NIMCALL(void, matchesaux_5B328Lq3sbOWOpGv9bkDcTg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0); N_NIMCALL(void, incl_iUpE9bYmIR0fROyJskQwN8g)(Intset_PQrmFm4BXFkFSVOUl1ojSg* s0, NI key0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, arrayconstr_kYM3keGF9bgNpWhgQ6i4cvw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(void, rawaddson_52UH8yKinsYmFX9bFij9c2Hw)(Ttype_LTUWCZolpovw9cWE3JBWSUw* father0, Ttype_LTUWCZolpovw9cWE3JBWSUw* son0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, makerangetype_dvifOZPMqHzaM6DkApBvxg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, NI64 first0, NI64 last0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttype_LTUWCZolpovw9cWE3JBWSUw* inttype0); N_NIMCALL(void, setson_FXgYDL7XFFjJ13GOQwso6g)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, NI at0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0); N_NIMCALL(TGenericSeq*, setLengthSeq)(TGenericSeq* seq0, NI elemsize0, NI newlen0); N_NIMCALL(void, incrindextype_rBBnNicDfwmFIGT2L6rbPA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0); N_NIMCALL(void, preparenamedparam_4aY53hSpWPSeKKJlRFg8JA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, newidentnode_G82iaTfj9aP4Nw5aup9b62iQ)(Tident_4umxGerWTHGPwUms7Yqu3g* ident0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0); N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, getsymfromlist_9c9cLkZFlCQ8DEaDRcXgGe9bA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* list0, Tident_4umxGerWTHGPwUms7Yqu3g* ident0, NI start0); N_NIMCALL(NIM_BOOL, containsorincl_B0EhVMrh5BBBZOOtYjAvVg)(Intset_PQrmFm4BXFkFSVOUl1ojSg* s0, NI key0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, prepareoperand_aaHsR8QX2N2PHWQRAidM9cQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0, Tnode_bROa11lyF5vxEN9aYNbHmhw* a0); N_NIMCALL(NIM_BOOL, matchnodekinds_WRbpWXbxOP9c3ULW5bbDujw)(Tnode_bROa11lyF5vxEN9aYNbHmhw* p0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(NIM_BOOL, islvalue_kCP6QlI8uS4X0pOQUdr7tg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, arrayconstr_Y9chpkGw6fgFUgeuv6B8QoA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0); N_NIMCALL(void, addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* father0, Ttype_LTUWCZolpovw9cWE3JBWSUw* son0); N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, prepareoperand_KkKYwsOmKMXfkn3glfCbuA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* a0); N_NIMCALL(void, suggestquit_9b9cOrPjJhKLIT47OQsALB4Q)(void); N_NIMCALL(NimStringDesc*, rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Trenderflag_wrPgUo1ExBlHvFnXN2nSHw_Set renderflags0); N_NIMCALL(NimStringDesc*, argtypetostring_4EtZe89aZdrkU6I6iZJr4Yg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0, Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0); N_NIMCALL(void, suggestexpr_GPATGlMDRN5VZ5q4eCQYag)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* node0); TY_S1iHa9bJe79be19aRwtH7KMRg suggestionresulthook_eFlaOR5uCOtsxg0ev4zSVw; TNimType NTI_S1iHa9bJe79be19aRwtH7KMRg; extern TNimType NTI_vr5DoT1jILTGdRlYv1OYpw; extern TNimType NTI_j4IZVEbOYTm9aXKJeVb8ILQ; NI suggestversion_yLEg4sXqoMAZlVgI47cCqw; Tsym_AXG7xcvKqaxY6koRX1xkCw* usagesym_PLzdQrZ70zUrwcAtCuQBMg; extern TNimType NTI_83n62yi1b9bgUtRR9axFWW9ag; Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw lastlineinfo_LlUrbumYeVEiQvPHDYfWbg; extern Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw gtrackpos_MB8TS6WWQAxbT0Tu9b9cDHkg; extern Idecmd_1Ced39bl5eePmZ1PKMPXigQ gidecmd_juq2yKSgC8DZC5pqLIaQmQ; extern TSafePoint* exchandler_rqLlY5bs9atDw2OXYqJEn5g; extern TNimType NTI_YAlYTV9cm9c08Uxrh3d9aczDg; extern Exception* currexception_9bVPeDJlYTi9bQApZpfH8wjg; extern Tnode_bROa11lyF5vxEN9aYNbHmhw* emptynode_69ccLGuQ2mITw7zylZYtWcA; extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q; extern TNimType NTI_cNCW9acsSznmEccl1fgQwkw; extern Tglobaloption_RAfAEZqjnKMDumgyKKc1qw_Set gglobaloptions_j042VVDC9cT5ENYoXnmhhVg; extern TNimType NTI_sM4lkSb7zS6F7OVMvW9cffQ; TNimType NTI_tFc84OXhHlhBIifsMtOJew; extern TNimType NTI_1Ced39bl5eePmZ1PKMPXigQ; extern TNimType NTI_77mFvmsOLKik79ci2hXkHEg; extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA; extern TNimType NTI_13aFwjKaWlqhwUBjDHvkIw; extern TNimType NTI_VaVACK0bpYmqIQ0mKcHfQQ; extern TNimType NTI_sksVpmPRIkNR9axiwtD1Guw; extern TNimType NTI_zuqP4Riz26Oi5fWgPYVEgA; extern TNimType NTI_9a3YiReNVD0IJHWFKgXRe9ag; TNimType NTI_B8Gf2sSWgQ79bLZ9bYWrLHaA; extern TNimType NTI_QxKU6hUjq23Dy0KTbUHAjg; TNimType NTI_C8RXb59bvbxaTzDOqx49aVVg; extern TNimType NTI_1EooIlSGbJRPSt3SfQJd7Q; extern TNimType NTI_fKfcLzXYiz5jNu3NH3Tv8Q; extern TNimType NTI_9aiv9bp2t5icFNINcg9c4xi1Q; extern TNimType NTI_shZhZOdbVC5nnFvcXQAImg; extern TNimType NTI_k3HXouOuhqAKq0dx450lXQ; TNimType NTI_uZlRb8w5pa9b16Yfjq9cGRXQ; TNimType NTI_xITzrU1RhJLKwBlRCAbn9bA; STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_7, "skGlobalVar", 11); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_8, "skGlobalLet", 11); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_9, ".", 1); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_10, "\"", 1); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_11, "", 0); extern NIM_CONST Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag_Set abstractinst_dLigiD0wrfdW59cejPpTktA; STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_14, "forward type in typeRel()", 25); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_15, "recordRel", 9); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_16, "wrong instantiated type!", 24); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_17, "cannot resolve type: ", 21); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_18, " too nested for type matching", 29); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_21, "sigmatch.nim", 12); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_EV5hHJmjIY9cla9b9be7fSVJQ_20 = {((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 619)} ; NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_EV5hHJmjIY9cla9b9be7fSVJQ_22 = {((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 1134)} ; STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_23, " unknown type kind ", 19); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_26, "getInstantiatedType", 19); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_27, "implicitConv", 12); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_35, "x.state is not csMatch", 22); NIM_CONST TY_XOVT24GHXwqiEj5GCsEGCA T_EV5hHJmjIY9cla9b9be7fSVJQ_37 = {((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_21), ((NI) 127)} ; STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_38, "matches", 7); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_39, ": ", 2); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_40, " | ", 3); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_41, "void", 4); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_42, ", ", 2); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_43, "cannot instantiate \'", 20); STRING_LITERAL(T_EV5hHJmjIY9cla9b9be7fSVJQ_44, "\'", 1); static N_NIMCALL(void, T_EV5hHJmjIY9cla9b9be7fSVJQ_3)(void) { nimGCvisit((void*)suggestionresulthook_eFlaOR5uCOtsxg0ev4zSVw.ClEnv, 0); } static N_NIMCALL(void, T_EV5hHJmjIY9cla9b9be7fSVJQ_4)(void) { nimGCvisit((void*)usagesym_PLzdQrZ70zUrwcAtCuQBMg, 0); } N_NIMCALL(Tcheckpointresult_mp7otVupbkudrLwM0IFcHg, incheckpoint_GA4ibfeQx1uKQi9bIH2QX4w)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw current0) { Tcheckpointresult_mp7otVupbkudrLwM0IFcHg result0; { result0 = (Tcheckpointresult_mp7otVupbkudrLwM0IFcHg)0; { if (!(current0.fileindex == gtrackpos_MB8TS6WWQAxbT0Tu9b9cDHkg.fileindex)) goto LA3; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = (current0.line == gtrackpos_MB8TS6WWQAxbT0Tu9b9cDHkg.line); if (!(LOC7)) goto LA8; LOC7 = (((NI16)(current0.col - gtrackpos_MB8TS6WWQAxbT0Tu9b9cDHkg.col) > 0? ((NI16)(current0.col - gtrackpos_MB8TS6WWQAxbT0Tu9b9cDHkg.col)) : -((NI16)(current0.col - gtrackpos_MB8TS6WWQAxbT0Tu9b9cDHkg.col))) < ((NI16) 4)); LA8: ; if (!LOC7) goto LA9; result0 = ((Tcheckpointresult_mp7otVupbkudrLwM0IFcHg) 2); goto BeforeRet; } LA9: ; { if (!(gtrackpos_MB8TS6WWQAxbT0Tu9b9cDHkg.line <= current0.line)) goto LA13; result0 = ((Tcheckpointresult_mp7otVupbkudrLwM0IFcHg) 1); goto BeforeRet; } LA13: ; } LA3: ; }BeforeRet: ; return result0; } static N_INLINE(NI, safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NI result0; result0 = (NI)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((*n0).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n0).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23)); if (LOC3) goto LA4; LOC3 = ((*n0).kindU.S6.sons == 0); LA4: ; if (!LOC3) goto LA5; result0 = ((NI) 0); } goto LA1; LA5: ; { result0 = ((*n0).kindU.S6.sons ? (*n0).kindU.S6.sons->Sup.len : 0); } LA1: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, findclosestdot_9aBm2OiqFaJoTlXkYMqFfYQ)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; Tcheckpointresult_mp7otVupbkudrLwM0IFcHg LOC5; LOC3 = (NIM_BOOL)0; LOC3 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45)); if (!(LOC3)) goto LA4; LOC5 = (Tcheckpointresult_mp7otVupbkudrLwM0IFcHg)0; LOC5 = incheckpoint_GA4ibfeQx1uKQi9bIH2QX4w((*n0).info); LOC3 = (LOC5 == ((Tcheckpointresult_mp7otVupbkudrLwM0IFcHg) 2)); LA4: ; if (!LOC3) goto LA6; result0 = n0; } goto LA1; LA6: ; { { NI i_QcdIt5lFGbuN9crCcvJBT9cw; NI HEX3Atmp_dsPv55aMmx5pZFiSPD4C9cA; NI LOC10; NI res_5ZdcmCDbZy0ND4vL6QUDXA; i_QcdIt5lFGbuN9crCcvJBT9cw = (NI)0; HEX3Atmp_dsPv55aMmx5pZFiSPD4C9cA = (NI)0; LOC10 = (NI)0; LOC10 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(n0); HEX3Atmp_dsPv55aMmx5pZFiSPD4C9cA = (LOC10 - 1); res_5ZdcmCDbZy0ND4vL6QUDXA = ((NI) 0); { while (1) { if (!(res_5ZdcmCDbZy0ND4vL6QUDXA <= HEX3Atmp_dsPv55aMmx5pZFiSPD4C9cA)) goto LA12; i_QcdIt5lFGbuN9crCcvJBT9cw = res_5ZdcmCDbZy0ND4vL6QUDXA; result0 = findclosestdot_9aBm2OiqFaJoTlXkYMqFfYQ((*n0).kindU.S6.sons->data[i_QcdIt5lFGbuN9crCcvJBT9cw]); { if (!!((result0 == NIM_NIL))) goto LA15; goto BeforeRet; } LA15: ; res_5ZdcmCDbZy0ND4vL6QUDXA += ((NI) 1); } LA12: ; } } } LA1: ; }BeforeRet: ; return result0; } static N_INLINE(void, pushSafePoint)(TSafePoint* s0) { (*s0).hasRaiseAction = NIM_FALSE; (*s0).prev = exchandler_rqLlY5bs9atDw2OXYqJEn5g; exchandler_rqLlY5bs9atDw2OXYqJEn5g = s0; } static N_INLINE(void, popSafePoint)(void) { exchandler_rqLlY5bs9atDw2OXYqJEn5g = (*exchandler_rqLlY5bs9atDw2OXYqJEn5g).prev; } static N_INLINE(Exception*, getCurrentException)(void) { Exception* result0; result0 = (Exception*)0; result0 = currexception_9bVPeDJlYTi9bQApZpfH8wjg; return result0; } static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { (*c0).refcount = (NI)((NU64)((*c0).refcount) + (NU64)(((NI) 8))); } 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, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { { (*c0).refcount -= ((NI) 8); if (!((NU64)((*c0).refcount) < (NU64)(((NI) 8)))) goto LA3; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA3: ; } static N_INLINE(void, asgnRef)(void** dest0, void* src0) { { Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC5; if (!!((src0 == NIM_NIL))) goto LA3; LOC5 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; LOC5 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(src0); incref_9cAA5YuQAAC3MVbnGeV86swsystem(LOC5); } LA3: ; { Cell_1zcF9cV8XIAtbN8h5HRUB8g* LOC10; if (!!(((*dest0) == NIM_NIL))) goto LA8; LOC10 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; LOC10 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem((*dest0)); decref_MV4BBk6J1qu70IbBxwEn4wsystem(LOC10); } LA8: ; (*dest0) = src0; } static N_INLINE(void, popCurrentException)(void) { asgnRef((void**) (&currexception_9bVPeDJlYTi9bQApZpfH8wjg), NIM_NIL); } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, safesemexpr_74xCvYZL9b9cKsQyQ9a9aX3Oqw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* volatile result0; TSafePoint T_EV5hHJmjIY9cla9b9be7fSVJQ_5; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; pushSafePoint(&T_EV5hHJmjIY9cla9b9be7fSVJQ_5); T_EV5hHJmjIY9cla9b9be7fSVJQ_5.status = setjmp(T_EV5hHJmjIY9cla9b9be7fSVJQ_5.context); if (T_EV5hHJmjIY9cla9b9be7fSVJQ_5.status == 0) { result0 = (*c0).semexpr(c0, n0, 0); popSafePoint(); } else { popSafePoint(); if (isObj(getCurrentException()->Sup.m_type, (&NTI_YAlYTV9cm9c08Uxrh3d9aczDg))) { T_EV5hHJmjIY9cla9b9be7fSVJQ_5.status = 0; result0 = emptynode_69ccLGuQ2mITw7zylZYtWcA; popCurrentException(); } } if (T_EV5hHJmjIY9cla9b9be7fSVJQ_5.status != 0) reraiseException(); return result0; } static N_INLINE(NIM_BOOL, filtersym_XtYBweJqs2OpFBFVtkucbQsigmatch)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = !(((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6))); 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(NimStringDesc*, HEX24_d9cgTr4UmnyMXo9cuHiSWz3Q)(Suggest_tFc84OXhHlhBIifsMtOJew* suggest0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; result0 = HEX24_9cJCKitIoTmipZ9bq1gB25Vw((*suggest0).section); result0 = addChar(result0, 9); { NimStringDesc* LOC17; NimStringDesc* LOC18; NimStringDesc* LOC19; if (!((*suggest0).section == ((Idecmd_1Ced39bl5eePmZ1PKMPXigQ) 8))) goto LA3; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = ((*suggest0).symkind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8)); if (!(LOC7)) goto LA8; LOC7 = (*suggest0).isglobal; LA8: ; if (!LOC7) goto LA9; result0 = resizeString(result0, 11); appendString(result0, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_7)); } goto LA5; LA9: ; { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = ((*suggest0).symkind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 9)); if (!(LOC12)) goto LA13; LOC12 = (*suggest0).isglobal; LA13: ; if (!LOC12) goto LA14; result0 = resizeString(result0, 11); appendString(result0, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_8)); } goto LA5; LA14: ; { result0 = resizeString(result0, reprEnum((NI)(*suggest0).symkind, (&NTI_cNCW9acsSznmEccl1fgQwkw))->Sup.len + 0); appendString(result0, reprEnum((NI)(*suggest0).symkind, (&NTI_cNCW9acsSznmEccl1fgQwkw))); } LA5: ; result0 = addChar(result0, 9); LOC17 = (NimStringDesc*)0; LOC17 = nimIntToStr((*suggest0).line); result0 = resizeString(result0, LOC17->Sup.len + 0); appendString(result0, LOC17); result0 = addChar(result0, 9); LOC18 = (NimStringDesc*)0; LOC18 = nimIntToStr((*suggest0).column); result0 = resizeString(result0, LOC18->Sup.len + 0); appendString(result0, LOC18); result0 = addChar(result0, 9); LOC19 = (NimStringDesc*)0; LOC19 = nimIntToStr((*suggest0).tokenlen); result0 = resizeString(result0, LOC19->Sup.len + 0); appendString(result0, LOC19); } goto LA1; LA3: ; { NimStringDesc* LOC21; NimStringDesc* LOC22; NimStringDesc* LOC23; NimStringDesc* LOC24; result0 = resizeString(result0, reprEnum((NI)(*suggest0).symkind, (&NTI_cNCW9acsSznmEccl1fgQwkw))->Sup.len + 0); appendString(result0, reprEnum((NI)(*suggest0).symkind, (&NTI_cNCW9acsSznmEccl1fgQwkw))); result0 = addChar(result0, 9); LOC21 = (NimStringDesc*)0; LOC21 = nsuJoinSep((*suggest0).qualifiedpath->data, (*suggest0).qualifiedpath->Sup.len, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_9)); result0 = resizeString(result0, LOC21->Sup.len + 0); appendString(result0, LOC21); result0 = addChar(result0, 9); result0 = resizeString(result0, (*suggest0).forth->Sup.len + 0); appendString(result0, (*suggest0).forth); result0 = addChar(result0, 9); result0 = resizeString(result0, (*suggest0).filepath->Sup.len + 0); appendString(result0, (*suggest0).filepath); result0 = addChar(result0, 9); LOC22 = (NimStringDesc*)0; LOC22 = nimIntToStr((*suggest0).line); result0 = resizeString(result0, LOC22->Sup.len + 0); appendString(result0, LOC22); result0 = addChar(result0, 9); LOC23 = (NimStringDesc*)0; LOC23 = nimIntToStr((*suggest0).column); result0 = resizeString(result0, LOC23->Sup.len + 0); appendString(result0, LOC23); result0 = addChar(result0, 9); LOC24 = (NimStringDesc*)0; LOC24 = nsuEscape((*suggest0).doc, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_10), ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_10)); result0 = resizeString(result0, LOC24->Sup.len + 0); appendString(result0, LOC24); { NimStringDesc* LOC29; if (!(suggestversion_yLEg4sXqoMAZlVgI47cCqw == ((NI) 2))) goto LA27; result0 = addChar(result0, 9); LOC29 = (NimStringDesc*)0; LOC29 = nimIntToStr(((NI) ((*suggest0).quality))); result0 = resizeString(result0, LOC29->Sup.len + 0); appendString(result0, LOC29); } LA27: ; } LA1: ; return result0; } N_NIMCALL(void, suggestresult_XfzKoO09bw9cbOe5pnn9bxngg)(Suggest_tFc84OXhHlhBIifsMtOJew* s0) { { if (!!((suggestionresulthook_eFlaOR5uCOtsxg0ev4zSVw.ClPrc == 0))) goto LA3; suggestionresulthook_eFlaOR5uCOtsxg0ev4zSVw.ClEnv? suggestionresulthook_eFlaOR5uCOtsxg0ev4zSVw.ClPrc(s0, suggestionresulthook_eFlaOR5uCOtsxg0ev4zSVw.ClEnv):((T_EV5hHJmjIY9cla9b9be7fSVJQ_6)(suggestionresulthook_eFlaOR5uCOtsxg0ev4zSVw.ClPrc))(s0); } goto LA1; LA3: ; { NimStringDesc* LOC6; LOC6 = (NimStringDesc*)0; LOC6 = HEX24_d9cgTr4UmnyMXo9cuHiSWz3Q(s0); suggestwriteln_tRbCZ4fGDe9a36bXIedwnwQ(LOC6); } LA1: ; } static N_INLINE(NI, tolinenumber_Vr9aXuUyvBQDK4X2879cHuGgsigmatch)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { NI result0; result0 = (NI)0; result0 = ((NI) (info0.line)); return result0; } static N_INLINE(NI, tocolumn_Vr9aXuUyvBQDK4X2879cHuGg_2sigmatch)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { NI result0; result0 = (NI)0; result0 = ((NI) (info0.col)); return result0; } 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(void, symtosuggest_tOyawPUH9cST0l28alTZiyQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL islocal0, NimStringDesc* section0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw li0, NI quality0, Suggest_tFc84OXhHlhBIifsMtOJew* Result) { (*Result).section = parseidecmd_TQvrSbYJ8il5GbXHllB0rw(section0); (*Result).quality = quality0; (*Result).isglobal = (((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 3))&31U)))!=0); (*Result).tokenlen = ((*(*s0).name).s ? (*(*s0).name).s->Sup.len : 0); { if (!((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 30))&63U)))!=0)) goto LA3; (*Result).symkind = (*s0).kind; unsureAsgnRef((void**) (&(*Result).filepath), tofullpath_7s19cb7WBgztz9aqEBzwwuqA(li0.fileindex)); (*Result).line = tolinenumber_Vr9aXuUyvBQDK4X2879cHuGgsigmatch(li0); (*Result).column = tocolumn_Vr9aXuUyvBQDK4X2879cHuGg_2sigmatch(li0); } goto LA1; LA3: ; { NimStringDesc* LOC26; (*Result).symkind = (*s0).kind; unsureAsgnRef((void**) (&(*Result).qualifiedpath), (TY_sM4lkSb7zS6F7OVMvW9cffQ*) newSeq((&NTI_sM4lkSb7zS6F7OVMvW9cffQ), 0)); { NIM_BOOL LOC8; Tsym_AXG7xcvKqaxY6koRX1xkCw* ow0; LOC8 = (NIM_BOOL)0; LOC8 = !(islocal0); if (!(LOC8)) goto LA9; LOC8 = !(((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6))); LA9: ; if (!LOC8) goto LA10; ow0 = (*s0).owner; { NIM_BOOL LOC14; NIM_BOOL LOC15; Tsym_AXG7xcvKqaxY6koRX1xkCw* ow20; NimStringDesc* LOC20; LOC14 = (NIM_BOOL)0; LOC15 = (NIM_BOOL)0; LOC15 = !((ow0 == NIM_NIL)); if (!(LOC15)) goto LA16; LOC15 = !(((*ow0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6))); LA16: ; LOC14 = LOC15; if (!(LOC14)) goto LA17; LOC14 = !(((*ow0).owner == NIM_NIL)); LA17: ; if (!LOC14) goto LA18; ow20 = (*ow0).owner; (*Result).qualifiedpath = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV2(&((*Result).qualifiedpath)->Sup, sizeof(NimStringDesc*)); LOC20 = (NimStringDesc*)0; LOC20 = (*Result).qualifiedpath->data[(*Result).qualifiedpath->Sup.len]; (*Result).qualifiedpath->data[(*Result).qualifiedpath->Sup.len] = copyStringRC1((*(*ow20).name).s); if (LOC20) nimGCunrefNoCycle(LOC20); ++(*Result).qualifiedpath->Sup.len; } LA18: ; { NimStringDesc* LOC25; if (!!((ow0 == NIM_NIL))) goto LA23; (*Result).qualifiedpath = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV2(&((*Result).qualifiedpath)->Sup, sizeof(NimStringDesc*)); LOC25 = (NimStringDesc*)0; LOC25 = (*Result).qualifiedpath->data[(*Result).qualifiedpath->Sup.len]; (*Result).qualifiedpath->data[(*Result).qualifiedpath->Sup.len] = copyStringRC1((*(*ow0).name).s); if (LOC25) nimGCunrefNoCycle(LOC25); ++(*Result).qualifiedpath->Sup.len; } LA23: ; } LA10: ; (*Result).qualifiedpath = (TY_sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV2(&((*Result).qualifiedpath)->Sup, sizeof(NimStringDesc*)); LOC26 = (NimStringDesc*)0; LOC26 = (*Result).qualifiedpath->data[(*Result).qualifiedpath->Sup.len]; (*Result).qualifiedpath->data[(*Result).qualifiedpath->Sup.len] = copyStringRC1((*(*s0).name).s); if (LOC26) nimGCunrefNoCycle(LOC26); ++(*Result).qualifiedpath->Sup.len; { if (!!(((*s0).typ == NIM_NIL))) goto LA29; unsureAsgnRef((void**) (&(*Result).forth), typetostring_iUZlBdvGqNPVN17wd9aVBNw((*s0).typ, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0))); } goto LA27; LA29: ; { unsureAsgnRef((void**) (&(*Result).forth), copyString(((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_11))); } LA27: ; unsureAsgnRef((void**) (&(*Result).filepath), tofullpath_7s19cb7WBgztz9aqEBzwwuqA(li0.fileindex)); (*Result).line = tolinenumber_Vr9aXuUyvBQDK4X2879cHuGgsigmatch(li0); (*Result).column = tocolumn_Vr9aXuUyvBQDK4X2879cHuGg_2sigmatch(li0); unsureAsgnRef((void**) (&(*Result).doc), extractdoccomment_gqZQN2lJPlhAvwYOW3Xf8Q(s0, NIM_NIL)); } LA1: ; } N_NIMCALL(void, symtosuggest_FFMkcTntV5b53OSyNeVJPQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NIM_BOOL islocal0, NimStringDesc* section0, NI quality0, Suggest_tFc84OXhHlhBIifsMtOJew* Result) { chckNil((void*)Result); genericReset((void*)Result, (&NTI_tFc84OXhHlhBIifsMtOJew)); symtosuggest_tOyawPUH9cST0l28alTZiyQ(s0, islocal0, section0, (*s0).info, quality0, Result); } N_NIMCALL(void, suggesteverything_sZLTug9chAc5gilY9bLWuoAw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI* outputs0) { NIM_BOOL islocal0; islocal0 = NIM_TRUE; { Tscope_1cQRXW6aAknk7ywAwjH3nw* scope_LzlaCtag9bQbr18bhdeafLg; Tscope_1cQRXW6aAknk7ywAwjH3nw* HEX3Atmp_HXvGj3SNCsHN0rZwrb7i6A; Tscope_1cQRXW6aAknk7ywAwjH3nw* current_Ca9cjbGiKOsv73WpqOwLH7Q; scope_LzlaCtag9bQbr18bhdeafLg = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; HEX3Atmp_HXvGj3SNCsHN0rZwrb7i6A = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; HEX3Atmp_HXvGj3SNCsHN0rZwrb7i6A = (*c0).currentscope; current_Ca9cjbGiKOsv73WpqOwLH7Q = HEX3Atmp_HXvGj3SNCsHN0rZwrb7i6A; { while (1) { if (!!((current_Ca9cjbGiKOsv73WpqOwLH7Q == NIM_NIL))) goto LA3; scope_LzlaCtag9bQbr18bhdeafLg = current_Ca9cjbGiKOsv73WpqOwLH7Q; { if (!(scope_LzlaCtag9bQbr18bhdeafLg == (*c0).toplevelscope)) goto LA6; islocal0 = NIM_FALSE; } LA6: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* it_byNyeVaIV9aznEgn4g0RNzA; Tstrtable_f07aOS3dr28kGa5wcE29aFA HEX3Atmp_HXvGj3SNCsHN0rZwrb7i6A_2; Ttabiter_VYF5VQsIYEVaBL0fKZJkbg it_byNyeVaIV9aznEgn4g0RNzA_2; Tsym_AXG7xcvKqaxY6koRX1xkCw* s_3F9b2WDu419cPNuv9ag3AtOCw; it_byNyeVaIV9aznEgn4g0RNzA = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; memset((void*)(&HEX3Atmp_HXvGj3SNCsHN0rZwrb7i6A_2), 0, sizeof(HEX3Atmp_HXvGj3SNCsHN0rZwrb7i6A_2)); HEX3Atmp_HXvGj3SNCsHN0rZwrb7i6A_2.counter = (*scope_LzlaCtag9bQbr18bhdeafLg).symbols.counter; HEX3Atmp_HXvGj3SNCsHN0rZwrb7i6A_2.data = (*scope_LzlaCtag9bQbr18bhdeafLg).symbols.data; memset((void*)(&it_byNyeVaIV9aznEgn4g0RNzA_2), 0, sizeof(it_byNyeVaIV9aznEgn4g0RNzA_2)); s_3F9b2WDu419cPNuv9ag3AtOCw = inittabiter_4ygtuv45J5xOJG1H4GUF9bA((&it_byNyeVaIV9aznEgn4g0RNzA_2), HEX3Atmp_HXvGj3SNCsHN0rZwrb7i6A_2); { while (1) { if (!!((s_3F9b2WDu419cPNuv9ag3AtOCw == NIM_NIL))) goto LA10; it_byNyeVaIV9aznEgn4g0RNzA = s_3F9b2WDu419cPNuv9ag3AtOCw; { NIM_BOOL LOC13; NimStringDesc* LOC16; Suggest_tFc84OXhHlhBIifsMtOJew LOC17; LOC13 = (NIM_BOOL)0; LOC13 = filtersym_XtYBweJqs2OpFBFVtkucbQsigmatch(it_byNyeVaIV9aznEgn4g0RNzA); if (!LOC13) goto LA14; LOC16 = (NimStringDesc*)0; LOC16 = HEX24_9cJCKitIoTmipZ9bq1gB25Vw(((Idecmd_1Ced39bl5eePmZ1PKMPXigQ) 1)); memset((void*)(&LOC17), 0, sizeof(LOC17)); symtosuggest_FFMkcTntV5b53OSyNeVJPQ(it_byNyeVaIV9aznEgn4g0RNzA, islocal0, LOC16, ((NI) 0), (&LOC17)); suggestresult_XfzKoO09bw9cbOe5pnn9bxngg((&LOC17)); (*outputs0) += ((NI) 1); } LA14: ; s_3F9b2WDu419cPNuv9ag3AtOCw = nextiter_MtRRPpsZix0WHVpZVShg0A((&it_byNyeVaIV9aznEgn4g0RNzA_2), HEX3Atmp_HXvGj3SNCsHN0rZwrb7i6A_2); } LA10: ; } } { if (!(scope_LzlaCtag9bQbr18bhdeafLg == (*c0).toplevelscope)) goto LA20; goto LA1; } LA20: ; current_Ca9cjbGiKOsv73WpqOwLH7Q = (*current_Ca9cjbGiKOsv73WpqOwLH7Q).parent; } LA3: ; } } LA1: ; } static N_INLINE(NIM_BOOL, fieldvisible_7dkMugvu9c7eUJBaXG7Qzowsigmatch)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* f0) { NIM_BOOL result0; NI fmoduleid0; Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC1; NIM_BOOL LOC2; result0 = (NIM_BOOL)0; LOC1 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC1 = getmodule_0lPlu1uOok1rRK50z1V70A(f0); fmoduleid0 = (*LOC1).Sup.id; LOC2 = (NIM_BOOL)0; LOC2 = (((*f0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 1))&31U)))!=0); if (LOC2) goto LA3; LOC2 = (fmoduleid0 == (*(*c0).module).Sup.id); LA3: ; result0 = LOC2; { Tsym_AXG7xcvKqaxY6koRX1xkCw* module_W8Ke1hI9b9bLBFpzkxUtWOZQ; TY_sksVpmPRIkNR9axiwtD1Guw* HEX3Atmp_Sfbv4bzOhDXOqKL9aOxiT1g; NI i_npzQ8UQv9cbzFxOCk5ZY7Hw; NI L_KCapER9aqnRg2ofs0G3tJyQ; module_W8Ke1hI9b9bLBFpzkxUtWOZQ = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; HEX3Atmp_Sfbv4bzOhDXOqKL9aOxiT1g = (TY_sksVpmPRIkNR9axiwtD1Guw*)0; HEX3Atmp_Sfbv4bzOhDXOqKL9aOxiT1g = (*c0).friendmodules; i_npzQ8UQv9cbzFxOCk5ZY7Hw = ((NI) 0); L_KCapER9aqnRg2ofs0G3tJyQ = (HEX3Atmp_Sfbv4bzOhDXOqKL9aOxiT1g ? HEX3Atmp_Sfbv4bzOhDXOqKL9aOxiT1g->Sup.len : 0); { while (1) { if (!(i_npzQ8UQv9cbzFxOCk5ZY7Hw < L_KCapER9aqnRg2ofs0G3tJyQ)) goto LA6; module_W8Ke1hI9b9bLBFpzkxUtWOZQ = HEX3Atmp_Sfbv4bzOhDXOqKL9aOxiT1g->data[i_npzQ8UQv9cbzFxOCk5ZY7Hw]; { if (!(fmoduleid0 == (*module_W8Ke1hI9b9bLBFpzkxUtWOZQ).Sup.id)) goto LA9; result0 = NIM_TRUE; goto LA4; } LA9: ; i_npzQ8UQv9cbzFxOCk5ZY7Hw += ((NI) 1); } LA6: ; } } LA4: ; return result0; } N_NIMCALL(void, suggestfield_JoTXekhy9a4BpEitLZpiC8Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, NI* outputs0) { { NIM_BOOL LOC3; NimStringDesc* LOC7; Suggest_tFc84OXhHlhBIifsMtOJew LOC8; LOC3 = (NIM_BOOL)0; LOC3 = filtersym_XtYBweJqs2OpFBFVtkucbQsigmatch(s0); if (!(LOC3)) goto LA4; LOC3 = fieldvisible_7dkMugvu9c7eUJBaXG7Qzowsigmatch(c0, s0); LA4: ; if (!LOC3) goto LA5; LOC7 = (NimStringDesc*)0; LOC7 = HEX24_9cJCKitIoTmipZ9bq1gB25Vw(((Idecmd_1Ced39bl5eePmZ1PKMPXigQ) 1)); memset((void*)(&LOC8), 0, sizeof(LOC8)); symtosuggest_FFMkcTntV5b53OSyNeVJPQ(s0, NIM_TRUE, LOC7, ((NI) 100), (&LOC8)); suggestresult_XfzKoO09bw9cbOe5pnn9bxngg((&LOC8)); (*outputs0) += ((NI) 1); } LA5: ; } N_NIMCALL(void, suggestsymlist_xnuyYG9cU5DIguyZ0JEF9cqg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* list0, NI* outputs0) { { NI i_R9b7gHzqZqeW5ijFQOar9aNQ; NI HEX3Atmp_5E8QEcG89au3u4tN42OVhCA; NI LOC2; NI res_MmMtSfhAcMBin3w1dztJgw; i_R9b7gHzqZqeW5ijFQOar9aNQ = (NI)0; HEX3Atmp_5E8QEcG89au3u4tN42OVhCA = (NI)0; LOC2 = (NI)0; LOC2 = sonslen_qPWPHw7WgJeEVYUdcaRIig(list0); HEX3Atmp_5E8QEcG89au3u4tN42OVhCA = (NI)(LOC2 - ((NI) 1)); res_MmMtSfhAcMBin3w1dztJgw = ((NI) 0); { while (1) { if (!(res_MmMtSfhAcMBin3w1dztJgw <= HEX3Atmp_5E8QEcG89au3u4tN42OVhCA)) goto LA4; i_R9b7gHzqZqeW5ijFQOar9aNQ = res_MmMtSfhAcMBin3w1dztJgw; { if (!((*(*list0).kindU.S6.sons->data[i_R9b7gHzqZqeW5ijFQOar9aNQ]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA7; suggestfield_JoTXekhy9a4BpEitLZpiC8Q(c0, (*(*list0).kindU.S6.sons->data[i_R9b7gHzqZqeW5ijFQOar9aNQ]).kindU.S4.sym, outputs0); } LA7: ; res_MmMtSfhAcMBin3w1dztJgw += ((NI) 1); } LA4: ; } } } 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; } N_NIMCALL(NI, HEX3Aanonymous_JXbbRJfy9awFVSPUsLGBSEQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* a_sHo1SPMXhnlNg9cx6eI2XrQ, Tsym_AXG7xcvKqaxY6koRX1xkCw* b_anUFsWNzYbFvMxA6JiUCWA) { NI result0; { result0 = (NI)0; result0 = cmp_xEnKsp9cfvO7Do9cTYXo8eJw((*(*a_sHo1SPMXhnlNg9cx6eI2XrQ).name).s, (*(*b_anUFsWNzYbFvMxA6JiUCWA).name).s); goto BeforeRet; }BeforeRet: ; return result0; } static N_INLINE(NIM_BOOL, filtersymnoopr_XtYBweJqs2OpFBFVtkucbQ_2sigmatch)(Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { NIM_BOOL result0; NIM_BOOL LOC1; NIM_BOOL LOC2; NIM_BOOL LOC5; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC2 = (NIM_BOOL)0; LOC2 = !(((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6))); if (!(LOC2)) goto LA3; LOC2 = (((NU8)((*(*s0).name).s->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)((*(*s0).name).s->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)((*(*s0).name).s->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)((*(*s0).name).s->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)((*(*s0).name).s->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)((*(*s0).name).s->data[((NI) 0)])) <= ((NU8)(57)) || ((NU8)((*(*s0).name).s->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)((*(*s0).name).s->data[((NI) 0)])) <= ((NU8)(255))); LA3: ; LOC1 = LOC2; if (!(LOC1)) goto LA4; LOC5 = (NIM_BOOL)0; LOC5 = iskeyword_J8SfzIplItYlZSj2oKWDnA((*s0).name); LOC1 = !(LOC5); LA4: ; result0 = LOC1; return result0; } static N_INLINE(void, initcandidateaux_4N44pnzycRIQPHhvl7qG9cQsigmatch)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* ctx0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* callee0) { unsureAsgnRef((void**) (&(*c0).c), ctx0); (*c0).exactmatches = ((NI) 0); (*c0).subtypematches = ((NI) 0); (*c0).convmatches = ((NI) 0); (*c0).intconvmatches = ((NI) 0); (*c0).genericmatches = ((NI) 0); (*c0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 0); unsureAsgnRef((void**) (&(*c0).callee), callee0); unsureAsgnRef((void**) (&(*c0).call), NIM_NIL); (*c0).basetypematch = NIM_FALSE; (*c0).genericconverter = NIM_FALSE; (*c0).inheritancepenalty = ((NI) 0); } N_NIMCALL(void, initcandidate_R0iDmZjaDJEKlSDdgINtVg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* ctx0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* callee0) { initcandidateaux_4N44pnzycRIQPHhvl7qG9cQsigmatch(ctx0, c0, callee0); unsureAsgnRef((void**) (&(*c0).calleesym), NIM_NIL); initidtable_9cUS2oaKn1IFXKjLdglPZHQ((&(*c0).bindings)); } static N_INLINE(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; { result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!!(((*t0).n == NIM_NIL))) goto LA3; { if (!((IL64(70866960384) &((NU64)1<<((NU)((*t0).kind)&63U)))!=0)) goto LA7; result0 = getsystype_dewjtBqyEbcVGQRaQFtDAw((*t0).kind); goto BeforeRet; } LA7: ; } LA3: ; result0 = t0; }BeforeRet: ; return result0; } static N_INLINE(void, put_JoRvap9abGYCKt6dvPFvsFAsigmatch)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* key0, Ttype_LTUWCZolpovw9cWE3JBWSUw* val0) { Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC1; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC2; TNimObject* LOC3; LOC1 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC1 = &key0->Sup; LOC2 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC2 = skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys(val0); LOC3 = (TNimObject*)0; LOC3 = &LOC2->Sup.Sup; idtableput_3gLsywwJ9bZDaf06DfKpYbw((&(*c0).bindings), LOC1, LOC3); } 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(NIM_BOOL, shouldskipdistinct_knSo3339cRSN2U4HFxzrY1g)(Tnode_bROa11lyF5vxEN9aYNbHmhw* rules0, Tident_4umxGerWTHGPwUms7Yqu3g* callident0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { if (!((*rules0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 130))) goto LA3; { Tnode_bROa11lyF5vxEN9aYNbHmhw* r_ZDQs9cgscmtXqw9c6py7j9bLA; r_ZDQs9cgscmtXqw9c6py7j9bLA = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_Ei0jYlBZ9cuBxvD9c9cf6FAMg; NI HEX3Atmp_IM1UpU9b9cGnT3YUczwylo2g; NI LOC7; NI res_Qm9a14DiMyauIOpBXYMUzhg; i_Ei0jYlBZ9cuBxvD9c9cf6FAMg = (NI)0; HEX3Atmp_IM1UpU9b9cGnT3YUczwylo2g = (NI)0; LOC7 = (NI)0; LOC7 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(rules0); HEX3Atmp_IM1UpU9b9cGnT3YUczwylo2g = (LOC7 - 1); res_Qm9a14DiMyauIOpBXYMUzhg = ((NI) 0); { while (1) { if (!(res_Qm9a14DiMyauIOpBXYMUzhg <= HEX3Atmp_IM1UpU9b9cGnT3YUczwylo2g)) goto LA9; i_Ei0jYlBZ9cuBxvD9c9cf6FAMg = res_Qm9a14DiMyauIOpBXYMUzhg; r_ZDQs9cgscmtXqw9c6py7j9bLA = (*rules0).kindU.S6.sons->data[i_Ei0jYlBZ9cuBxvD9c9cf6FAMg]; { Tident_4umxGerWTHGPwUms7Yqu3g* LOC12; LOC12 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC12 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(r_ZDQs9cgscmtXqw9c6py7j9bLA); if (!(LOC12 == callident0)) goto LA13; result0 = NIM_TRUE; goto BeforeRet; } LA13: ; res_Qm9a14DiMyauIOpBXYMUzhg += ((NI) 1); } LA9: ; } } } result0 = NIM_FALSE; goto BeforeRet; } goto LA1; LA3: ; { { Tnode_bROa11lyF5vxEN9aYNbHmhw* r_ZDQs9cgscmtXqw9c6py7j9bLA_2; r_ZDQs9cgscmtXqw9c6py7j9bLA_2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NI i_Ei0jYlBZ9cuBxvD9c9cf6FAMg_2; NI HEX3Atmp_IM1UpU9b9cGnT3YUczwylo2g_2; NI LOC18; NI res_Qm9a14DiMyauIOpBXYMUzhg_2; i_Ei0jYlBZ9cuBxvD9c9cf6FAMg_2 = (NI)0; HEX3Atmp_IM1UpU9b9cGnT3YUczwylo2g_2 = (NI)0; LOC18 = (NI)0; LOC18 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(rules0); HEX3Atmp_IM1UpU9b9cGnT3YUczwylo2g_2 = (LOC18 - 1); res_Qm9a14DiMyauIOpBXYMUzhg_2 = ((NI) 0); { while (1) { if (!(res_Qm9a14DiMyauIOpBXYMUzhg_2 <= HEX3Atmp_IM1UpU9b9cGnT3YUczwylo2g_2)) goto LA20; i_Ei0jYlBZ9cuBxvD9c9cf6FAMg_2 = res_Qm9a14DiMyauIOpBXYMUzhg_2; r_ZDQs9cgscmtXqw9c6py7j9bLA_2 = (*rules0).kindU.S6.sons->data[i_Ei0jYlBZ9cuBxvD9c9cf6FAMg_2]; { Tident_4umxGerWTHGPwUms7Yqu3g* LOC23; LOC23 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC23 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw(r_ZDQs9cgscmtXqw9c6py7j9bLA_2); if (!(LOC23 == callident0)) goto LA24; result0 = NIM_FALSE; goto BeforeRet; } LA24: ; res_Qm9a14DiMyauIOpBXYMUzhg_2 += ((NI) 1); } LA20: ; } } } result0 = NIM_TRUE; goto BeforeRet; } LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, maybeskipdistinct_b9cb0j2qLR8Vva3Tro7wfEA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tsym_AXG7xcvKqaxY6koRX1xkCw* callee0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { NIM_BOOL LOC3; NIM_BOOL LOC4; NIM_BOOL LOC5; LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC5 = (NIM_BOOL)0; LOC5 = !((t0 == NIM_NIL)); if (!(LOC5)) goto LA6; LOC5 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13)); LA6: ; LOC4 = LOC5; if (!(LOC4)) goto LA7; LOC4 = !(((*t0).n == NIM_NIL)); LA7: ; LOC3 = LOC4; if (!(LOC3)) goto LA8; LOC3 = shouldskipdistinct_knSo3339cRSN2U4HFxzrY1g((*t0).n, (*callee0).name); LA8: ; if (!LOC3) goto LA9; result0 = base_46gPaVDDGhiU69b2oKDJZuA(t0); } goto LA1; LA9: ; { result0 = t0; } LA1: ; return result0; } static N_INLINE(NIM_BOOL, sameenumtypes_8v4PltvnKUFVoINNTE260gsigmatch)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = ((*a0).Sup.id == (*b0).Sup.id); return result0; } static N_INLINE(Tnode_bROa11lyF5vxEN9aYNbHmhw*, HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI i0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = (*n0).kindU.S6.sons->data[i0]; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, tryresolvingstaticexpr_9c6ZlcqOU7h9ajbZLjoxOM0w)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* instantiated0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; instantiated0 = replacetypesinbody_B4zyXrESj1hI8fRLnmKryA((*c0).c, (*c0).bindings, n0, NIM_NIL); result0 = (*(*c0).c).semexpr((*c0).c, instantiated0, 0); return result0; } N_NOINLINE(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, typerangerel_h89bCS2h619a5vh77e9bOGAjQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ result0; NI64 a00; NI64 a10; NI64 f00; NI64 f10; result0 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; a00 = firstord_HUiBYxvKiECXCv8BzQNheg(a0); a10 = lastord_HUiBYxvKiECXCv8BzQNheg_2(a0); f00 = firstord_HUiBYxvKiECXCv8BzQNheg(f0); f10 = lastord_HUiBYxvKiECXCv8BzQNheg_2(f0); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (a00 == f00); if (!(LOC3)) goto LA4; LOC3 = (a10 == f10); LA4: ; if (!LOC3) goto LA5; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } goto LA1; LA5: ; { NIM_BOOL LOC8; LOC8 = (NIM_BOOL)0; LOC8 = (f00 <= a00); if (!(LOC8)) goto LA9; LOC8 = (a10 <= f10); LA9: ; if (!LOC8) goto LA10; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA1; LA10: ; { NIM_BOOL LOC13; LOC13 = (NIM_BOOL)0; LOC13 = (a00 <= f10); if (!(LOC13)) goto LA14; LOC13 = (f00 <= a10); LA14: ; if (!LOC13) goto LA15; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA1; LA15: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA1: ; return result0; } N_NIMCALL(NIM_BOOL, isconvertibletorange_02bS6aQ1YnsMHEF1Do9aHsg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((IL64(34151432454144) &((NU64)1<<((NU)((*f0).kind)&63U)))!=0); if (!(LOC3)) goto LA4; LOC3 = ((IL64(34151432454144) &((NU64)1<<((NU)((*a0).kind)&63U)))!=0); LA4: ; if (!LOC3) goto LA5; result0 = NIM_TRUE; } goto LA1; LA5: ; { NIM_BOOL LOC8; LOC8 = (NIM_BOOL)0; LOC8 = ((IL64(1030792151040) &((NU64)1<<((NU)((*f0).kind)&63U)))!=0); if (!(LOC8)) goto LA9; LOC8 = ((IL64(1030792151040) &((NU64)1<<((NU)((*a0).kind)&63U)))!=0); LA9: ; if (!LOC8) goto LA10; result0 = NIM_TRUE; } goto LA1; LA10: ; LA1: ; return result0; } static N_INLINE(NIM_BOOL, isintlit_UBQknCC9aYWKMNMK4dmeTlQtypes)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NIM_BOOL result0; NIM_BOOL LOC1; NIM_BOOL LOC2; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC2 = (NIM_BOOL)0; LOC2 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); if (!(LOC2)) goto LA3; LOC2 = !(((*t0).n == NIM_NIL)); LA3: ; LOC1 = LOC2; if (!(LOC1)) goto LA4; LOC1 = ((*(*t0).n).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6)); LA4: ; result0 = LOC1; return result0; } N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, handlerange_9bd6b9aVP68tDeJTTDO30vSg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag min0, Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag max0) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ result0; result0 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; { if (!((*a0).kind == (*f0).kind)) goto LA3; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } goto LA1; LA3: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* ab0; Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag k0; ab0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(a0, 1048576); k0 = (*ab0).kind; { if (!(k0 == (*f0).kind)) goto LA8; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 4); } goto LA6; LA8: ; { NIM_BOOL LOC11; NIM_BOOL LOC12; NIM_BOOL LOC13; NIM_BOOL LOC14; NI64 LOC18; NI64 LOC20; LOC11 = (NIM_BOOL)0; LOC12 = (NIM_BOOL)0; LOC13 = (NIM_BOOL)0; LOC14 = (NIM_BOOL)0; LOC14 = (k0 == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); if (!(LOC14)) goto LA15; LOC14 = ((IL64(34149286019072) &((NU64)1<<((NU)((*f0).kind)&63U)))!=0); LA15: ; LOC13 = LOC14; if (!(LOC13)) goto LA16; LOC13 = isintlit_UBQknCC9aYWKMNMK4dmeTlQtypes(ab0); LA16: ; LOC12 = LOC13; if (!(LOC12)) goto LA17; LOC18 = (NI64)0; LOC18 = firstord_HUiBYxvKiECXCv8BzQNheg(f0); LOC12 = (LOC18 <= (*(*ab0).n).kindU.S1.intval); LA17: ; LOC11 = LOC12; if (!(LOC11)) goto LA19; LOC20 = (NI64)0; LOC20 = lastord_HUiBYxvKiECXCv8BzQNheg_2(f0); LOC11 = ((*(*ab0).n).kindU.S1.intval <= LOC20); LA19: ; if (!LOC11) goto LA21; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 9); } goto LA6; LA21: ; { NIM_BOOL LOC24; LOC24 = (NIM_BOOL)0; LOC24 = ((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); if (!(LOC24)) goto LA25; LOC24 = ((IL64(30064771072) &((NU64)1<<((NU)(k0)&63U)))!=0); LA25: ; if (!LOC24) goto LA26; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 2); } goto LA6; LA26: ; { NIM_BOOL LOC29; LOC29 = (NIM_BOOL)0; LOC29 = (min0 <= k0); if (!(LOC29)) goto LA30; LOC29 = (k0 <= max0); LA30: ; if (!LOC29) goto LA31; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA6; LA31: ; { NIM_BOOL LOC34; NIM_BOOL LOC35; NIM_BOOL LOC36; NI64 LOC39; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC40; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC42; NI64 LOC43; LOC34 = (NIM_BOOL)0; LOC35 = (NIM_BOOL)0; LOC36 = (NIM_BOOL)0; LOC36 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20)); if (!(LOC36)) goto LA37; LOC36 = ((IL64(15459734781952) &((NU64)1<<((NU)((*(*a0).sons->data[((NI) 0)]).kind)&63U)))!=0); LA37: ; LOC35 = LOC36; if (!(LOC35)) goto LA38; LOC39 = (NI64)0; LOC39 = firstord_HUiBYxvKiECXCv8BzQNheg(f0); LOC40 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC40 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*a0).n, ((NI) 0)); LOC35 = (LOC39 <= (*LOC40).kindU.S1.intval); LA38: ; LOC34 = LOC35; if (!(LOC34)) goto LA41; LOC42 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC42 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*a0).n, ((NI) 1)); LOC43 = (NI64)0; LOC43 = lastord_HUiBYxvKiECXCv8BzQNheg_2(f0); LOC34 = ((*LOC42).kindU.S1.intval <= LOC43); LA41: ; if (!LOC34) goto LA44; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA6; LA44: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA6: ; } LA1: ; return result0; } static N_INLINE(NIM_BOOL, isfloatlit_UBQknCC9aYWKMNMK4dmeTlQsigmatch)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { NIM_BOOL result0; NIM_BOOL LOC1; NIM_BOOL LOC2; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC2 = (NIM_BOOL)0; LOC2 = ((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 36)); if (!(LOC2)) goto LA3; LOC2 = !(((*t0).n == NIM_NIL)); LA3: ; LOC1 = LOC2; if (!(LOC1)) goto LA4; LOC1 = ((*(*t0).n).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 16)); LA4: ; result0 = LOC1; return result0; } N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, handlefloatrange_2C61PQXVzju4z2HN0r7b0g)(Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ result0; result0 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; { if (!((*a0).kind == (*f0).kind)) goto LA3; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } goto LA1; LA3: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* ab0; Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag k0; ab0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(a0, 1048576); k0 = (*ab0).kind; { if (!(k0 == (*f0).kind)) goto LA8; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 4); } goto LA6; LA8: ; { NIM_BOOL LOC11; LOC11 = (NIM_BOOL)0; LOC11 = isfloatlit_UBQknCC9aYWKMNMK4dmeTlQsigmatch(ab0); if (!LOC11) goto LA12; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 9); } goto LA6; LA12: ; { NIM_BOOL LOC15; LOC15 = (NIM_BOOL)0; LOC15 = isintlit_UBQknCC9aYWKMNMK4dmeTlQtypes(ab0); if (!LOC15) goto LA16; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA6; LA16: ; { NIM_BOOL LOC19; LOC19 = (NIM_BOOL)0; LOC19 = (((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 36) <= k0); if (!(LOC19)) goto LA20; LOC19 = (k0 <= ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 39)); LA20: ; if (!LOC19) goto LA21; { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 37))) goto LA25; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA23; LA25: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 2); } LA23: ; } goto LA6; LA21: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA6: ; } LA1: ; return result0; } static N_INLINE(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, allowsnil_59aII9aHhpaoZviau1LkOWWwsigmatch)(Ttype_LTUWCZolpovw9cWE3JBWSUw* f0) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ result0; result0 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; { if (!!((((*f0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0))) goto LA3; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3); } goto LA1; LA3: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA1: ; return result0; } N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, minrel_cHQQLlmn22nDWBNFDVGjGw)(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ a0, Ttyperelation_1IMf5P083XuEtWGxYaIXyQ b0) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ result0; result0 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; { if (!(a0 <= b0)) goto LA3; result0 = a0; } goto LA1; LA3: ; { result0 = b0; } LA1: ; return result0; } N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, recordrel_ATXQei1OP9acdbktDwpAl9ag)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ result0; { result0 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = sametype_EjIk4Kwv9bxfpaU9cx49cCrBQ(f0, a0, 0); if (!LOC3) goto LA4; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } goto LA1; LA4: ; { NI LOC7; NI LOC8; NI firstfield0; LOC7 = (NI)0; LOC7 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(a0); LOC8 = (NI)0; LOC8 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(f0); if (!(LOC7 == LOC8)) goto LA9; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA13; firstfield0 = ((NI) 0); } goto LA11; LA13: ; { firstfield0 = ((NI) 1); } LA11: ; { NI i_lPczT9blTTRzPnN57SLYpYw; NI HEX3Atmp_Nx281SG1E8qxc3Mq3AFbYQ; NI LOC17; NI res_N9bDKfJJAOUnD0ILtiU9c6pg; i_lPczT9blTTRzPnN57SLYpYw = (NI)0; HEX3Atmp_Nx281SG1E8qxc3Mq3AFbYQ = (NI)0; LOC17 = (NI)0; LOC17 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(f0); HEX3Atmp_Nx281SG1E8qxc3Mq3AFbYQ = (NI)(LOC17 - ((NI) 1)); res_N9bDKfJJAOUnD0ILtiU9c6pg = firstfield0; { while (1) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ m0; if (!(res_N9bDKfJJAOUnD0ILtiU9c6pg <= HEX3Atmp_Nx281SG1E8qxc3Mq3AFbYQ)) goto LA19; i_lPczT9blTTRzPnN57SLYpYw = res_N9bDKfJJAOUnD0ILtiU9c6pg; m0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, (*f0).sons->data[i_lPczT9blTTRzPnN57SLYpYw], (*a0).sons->data[i_lPczT9blTTRzPnN57SLYpYw], NIM_TRUE); { if (!(m0 < ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3))) goto LA22; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA22: ; result0 = minrel_cHQQLlmn22nDWBNFDVGjGw(result0, m0); res_N9bDKfJJAOUnD0ILtiU9c6pg += ((NI) 1); } LA19: ; } } { NIM_BOOL LOC26; LOC26 = (NIM_BOOL)0; LOC26 = !(((*f0).n == NIM_NIL)); if (!(LOC26)) goto LA27; LOC26 = !(((*a0).n == NIM_NIL)); LA27: ; if (!LOC26) goto LA28; { NI i_lPczT9blTTRzPnN57SLYpYw_2; NI HEX3Atmp_Nx281SG1E8qxc3Mq3AFbYQ_2; NI LOC31; NI res_N9bDKfJJAOUnD0ILtiU9c6pg_2; i_lPczT9blTTRzPnN57SLYpYw_2 = (NI)0; HEX3Atmp_Nx281SG1E8qxc3Mq3AFbYQ_2 = (NI)0; LOC31 = (NI)0; LOC31 = sonslen_qPWPHw7WgJeEVYUdcaRIig((*f0).n); HEX3Atmp_Nx281SG1E8qxc3Mq3AFbYQ_2 = (NI)(LOC31 - ((NI) 1)); res_N9bDKfJJAOUnD0ILtiU9c6pg_2 = ((NI) 0); { while (1) { if (!(res_N9bDKfJJAOUnD0ILtiU9c6pg_2 <= HEX3Atmp_Nx281SG1E8qxc3Mq3AFbYQ_2)) goto LA33; i_lPczT9blTTRzPnN57SLYpYw_2 = res_N9bDKfJJAOUnD0ILtiU9c6pg_2; { if (!!(((*(*(*f0).n).kindU.S6.sons->data[i_lPczT9blTTRzPnN57SLYpYw_2]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA36; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*(*f0).n).info, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_15)); } goto LA34; LA36: ; { if (!!(((*(*(*a0).n).kindU.S6.sons->data[i_lPczT9blTTRzPnN57SLYpYw_2]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA39; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*(*a0).n).info, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_15)); } goto LA34; LA39: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* x0; Tsym_AXG7xcvKqaxY6koRX1xkCw* y0; x0 = (*(*(*f0).n).kindU.S6.sons->data[i_lPczT9blTTRzPnN57SLYpYw_2]).kindU.S4.sym; y0 = (*(*(*a0).n).kindU.S6.sons->data[i_lPczT9blTTRzPnN57SLYpYw_2]).kindU.S4.sym; { NIM_BOOL LOC44; Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC46; LOC44 = (NIM_BOOL)0; LOC44 = ((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); if (!(LOC44)) goto LA45; LOC46 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC46 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, (*x0).typ, (*y0).typ, NIM_TRUE); LOC44 = (LOC46 < ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3)); LA45: ; if (!LOC44) goto LA47; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA47: ; { if (!!(((*(*x0).name).Sup.id == (*(*y0).name).Sup.id))) goto LA51; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA51: ; } LA34: ; res_N9bDKfJJAOUnD0ILtiU9c6pg_2 += ((NI) 1); } LA33: ; } } } LA28: ; } goto LA1; LA9: ; LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(NI, isobjectsubtype_AAFgb9cf1jok4tDnzcxROEA)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* fgenericorigin0) { NI result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; NI depth0; Ttype_LTUWCZolpovw9cWE3JBWSUw* last0; result0 = (NI)0; t0 = a0; depth0 = ((NI) 0); last0 = a0; { while (1) { NIM_BOOL LOC3; NIM_BOOL LOC5; LOC3 = (NIM_BOOL)0; LOC3 = !((t0 == NIM_NIL)); if (!(LOC3)) goto LA4; LOC5 = (NIM_BOOL)0; LOC5 = sameobjecttypes_bXxjiP8HPzKjOso3AVsG5w(f0, t0); LOC3 = !(LOC5); LA4: ; if (!LOC3) goto LA2; t0 = (*t0).sons->data[((NI) 0)]; { if (!(t0 == NIM_NIL)) goto LA8; goto LA1; } LA8: ; last0 = t0; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(t0, 14682384); depth0 += ((NI) 1); } LA2: ; } LA1: ; { if (!!((t0 == NIM_NIL))) goto LA12; { NIM_BOOL LOC16; NIM_BOOL LOC17; NI LOC20; NI LOC21; LOC16 = (NIM_BOOL)0; LOC17 = (NIM_BOOL)0; LOC17 = !((fgenericorigin0 == NIM_NIL)); if (!(LOC17)) goto LA18; LOC17 = ((*last0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11)); LA18: ; LOC16 = LOC17; if (!(LOC16)) goto LA19; LOC20 = (NI)0; LOC20 = len_gG7hUAX9cA629ahMLVL3xN4w_2(last0); LOC21 = (NI)0; LOC21 = len_gG7hUAX9cA629ahMLVL3xN4w_2(fgenericorigin0); LOC16 = ((NI)(LOC20 - ((NI) 1)) == LOC21); LA19: ; if (!LOC16) goto LA22; { NI i_yf5CnWkG0hFjLXoBabgffA; NI HEX3Atmp_CDxxvxbYtff7hWqjXf7gCg; NI LOC25; NI res_UscuspQJEbXvSJlOKx0mPA; i_yf5CnWkG0hFjLXoBabgffA = (NI)0; HEX3Atmp_CDxxvxbYtff7hWqjXf7gCg = (NI)0; LOC25 = (NI)0; LOC25 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(fgenericorigin0); HEX3Atmp_CDxxvxbYtff7hWqjXf7gCg = (NI)(LOC25 - ((NI) 1)); res_UscuspQJEbXvSJlOKx0mPA = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* x0; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC28; TNimObject* LOC29; if (!(res_UscuspQJEbXvSJlOKx0mPA <= HEX3Atmp_CDxxvxbYtff7hWqjXf7gCg)) goto LA27; i_yf5CnWkG0hFjLXoBabgffA = res_UscuspQJEbXvSJlOKx0mPA; LOC28 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC28 = &(*fgenericorigin0).sons->data[i_yf5CnWkG0hFjLXoBabgffA]->Sup; LOC29 = (TNimObject*)0; LOC29 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC28); x0 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC29)); { if (!(x0 == NIM_NIL)) goto LA32; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, (*fgenericorigin0).sons->data[i_yf5CnWkG0hFjLXoBabgffA], (*last0).sons->data[i_yf5CnWkG0hFjLXoBabgffA]); } LA32: ; res_UscuspQJEbXvSJlOKx0mPA += ((NI) 1); } LA27: ; } } } LA22: ; result0 = depth0; } goto LA10; LA12: ; { result0 = ((NI) -1); } LA10: ; return result0; } static N_INLINE(NIM_BOOL, samedistincttypes_E81g0CHdt1olSerxA8b5oAsigmatch)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = sameobjecttypes_bXxjiP8HPzKjOso3AVsG5w(a0, b0); return result0; } static N_INLINE(NIM_BOOL, inconsistentvartypes_v1q2uuw9bsT7guGlN6Ln1vgsigmatch)(Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0) { NIM_BOOL result0; NIM_BOOL LOC1; NIM_BOOL LOC3; result0 = (NIM_BOOL)0; LOC1 = (NIM_BOOL)0; LOC1 = !(((*f0).kind == (*a0).kind)); if (!(LOC1)) goto LA2; LOC3 = (NIM_BOOL)0; LOC3 = ((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)); if (LOC3) goto LA4; LOC3 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)); LA4: ; LOC1 = LOC3; LA2: ; result0 = LOC1; return result0; } N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, procparamtyperel_ATXQei1OP9acdbktDwpAl9ag_3)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f_ZGbbZW755tWLjGofnyQdGA, Ttype_LTUWCZolpovw9cWE3JBWSUw* a_vkoKSj6s9c29bFdjsTemg9amQ) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* f0; Ttype_LTUWCZolpovw9cWE3JBWSUw* a0; { result0 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; f0 = f_ZGbbZW755tWLjGofnyQdGA; a0 = a_vkoKSj6s9c29bFdjsTemg9amQ; { NIM_BOOL LOC3; Ttype_LTUWCZolpovw9cWE3JBWSUw* aresolved0; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC6; TNimObject* LOC7; LOC3 = (NIM_BOOL)0; LOC3 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ(a0); if (!LOC3) goto LA4; LOC6 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC6 = &a0->Sup; LOC7 = (TNimObject*)0; LOC7 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC6); aresolved0 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC7)); { if (!!((aresolved0 == NIM_NIL))) goto LA10; a0 = aresolved0; } LA10: ; } LA4: ; { NIM_BOOL LOC14; Ttyperelation_1IMf5P083XuEtWGxYaIXyQ reverserel0; LOC14 = (NIM_BOOL)0; LOC14 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ(a0); if (!LOC14) goto LA15; { NIM_BOOL LOC19; LOC19 = (NIM_BOOL)0; LOC19 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ(f0); if (!LOC19) goto LA20; f0 = generatetypeinstance_J1KXEIMiOMsSsHjeCCCXbQ((*c0).c, (*c0).bindings, (*(*c0).call).info, f0); { NIM_BOOL LOC24; LOC24 = (NIM_BOOL)0; LOC24 = (f0 == NIM_NIL); if (LOC24) goto LA25; LOC24 = ismetatype_BP9bVN0WuPxtcisPwKXmzoQ(f0); LA25: ; if (!LOC24) goto LA26; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 5); goto BeforeRet; } LA26: ; } LA20: ; reverserel0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, a0, f0, NIM_TRUE); { if (!(((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8) <= reverserel0)) goto LA30; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 6); } LA30: ; } goto LA12; LA15: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, f0, a0, NIM_TRUE); } LA12: ; { NIM_BOOL LOC35; LOC35 = (NIM_BOOL)0; LOC35 = (result0 <= ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3)); if (LOC35) goto LA36; LOC35 = inconsistentvartypes_v1q2uuw9bsT7guGlN6Ln1vgsigmatch(f0, a0); LA36: ; if (!LOC35) goto LA37; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA37: ; }BeforeRet: ; return result0; } N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, proctyperel_ATXQei1OP9acdbktDwpAl9ag_2)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ result0; { result0 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; switch ((*a0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25): { { NI LOC4; NI LOC5; LOC4 = (NI)0; LOC4 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(f0); LOC5 = (NI)0; LOC5 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(a0); if (!!((LOC4 == LOC5))) goto LA6; goto BeforeRet; } LA6: ; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); { NI i_scw7ywe9c4IV9ap0Z1wDcHsA; NI HEX3Atmp_iBx9cYrjNJVNw9a6dn4Rygrg; NI LOC9; NI res_UCIf7hPVcYSEdyIVrhTOHQ; i_scw7ywe9c4IV9ap0Z1wDcHsA = (NI)0; HEX3Atmp_iBx9cYrjNJVNw9a6dn4Rygrg = (NI)0; LOC9 = (NI)0; LOC9 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(f0); HEX3Atmp_iBx9cYrjNJVNw9a6dn4Rygrg = (LOC9 - 1); res_UCIf7hPVcYSEdyIVrhTOHQ = ((NI) 1); { while (1) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC12; if (!(res_UCIf7hPVcYSEdyIVrhTOHQ <= HEX3Atmp_iBx9cYrjNJVNw9a6dn4Rygrg)) goto LA11; i_scw7ywe9c4IV9ap0Z1wDcHsA = res_UCIf7hPVcYSEdyIVrhTOHQ; LOC12 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC12 = procparamtyperel_ATXQei1OP9acdbktDwpAl9ag_3(c0, (*f0).sons->data[i_scw7ywe9c4IV9ap0Z1wDcHsA], (*a0).sons->data[i_scw7ywe9c4IV9ap0Z1wDcHsA]); result0 = minrel_cHQQLlmn22nDWBNFDVGjGw(result0, LOC12); { if (!(result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0))) goto LA15; goto BeforeRet; } LA15: ; res_UCIf7hPVcYSEdyIVrhTOHQ += ((NI) 1); } LA11: ; } } { if (!!(((*f0).sons->data[((NI) 0)] == NIM_NIL))) goto LA19; { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC25; if (!!(((*a0).sons->data[((NI) 0)] == NIM_NIL))) goto LA23; LOC25 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC25 = procparamtyperel_ATXQei1OP9acdbktDwpAl9ag_3(c0, (*f0).sons->data[((NI) 0)], (*a0).sons->data[((NI) 0)]); result0 = minrel_cHQQLlmn22nDWBNFDVGjGw(result0, LOC25); { if (!(result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0))) goto LA28; goto BeforeRet; } LA28: ; } goto LA21; LA23: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA21: ; } goto LA17; LA19: ; { if (!!(((*a0).sons->data[((NI) 0)] == NIM_NIL))) goto LA32; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } goto LA17; LA32: ; LA17: ; { NIM_BOOL LOC36; LOC36 = (NIM_BOOL)0; LOC36 = (((*f0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 1))&31U)))!=0); if (!(LOC36)) goto LA37; LOC36 = !((((*a0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 1))&31U)))!=0)); LA37: ; if (!LOC36) goto LA38; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } goto LA34; LA38: ; { NIM_BOOL LOC41; NIM_BOOL LOC42; LOC41 = (NIM_BOOL)0; LOC42 = (NIM_BOOL)0; LOC42 = (((*f0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 7))&31U)))!=0); if (!(LOC42)) goto LA43; LOC42 = (((*a0).flags & 130) == 0); LA43: ; LOC41 = LOC42; if (!(LOC41)) goto LA44; LOC41 = ((gglobaloptions_j042VVDC9cT5ENYoXnmhhVg &((NU64)1<<((NU)(((Tglobaloption_RAfAEZqjnKMDumgyKKc1qw) 24))&63U)))!=0); LA44: ; if (!LOC41) goto LA45; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } goto LA34; LA45: ; { if (!!((((*f0).flags & 16384) == ((*a0).flags & 16384)))) goto LA48; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } goto LA34; LA48: ; { if (!!(((*f0).callconv == (*a0).callconv))) goto LA51; { NIM_BOOL LOC55; LOC55 = (NIM_BOOL)0; LOC55 = ((*f0).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8)); if (!(LOC55)) goto LA56; LOC55 = ((*a0).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 0)); LA56: ; if (!LOC55) goto LA57; { if (!(result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 6))) goto LA61; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 7); } goto LA59; LA61: ; { if (!(result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 5))) goto LA64; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 5); } goto LA59; LA64: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } LA59: ; } goto LA53; LA57: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA53: ; } goto LA34; LA51: ; LA34: ; { NIM_BOOL LOC70; LOC70 = (NIM_BOOL)0; LOC70 = compatibleeffects_ulOq8f6fsd9cVuZJ1lRYKMw(f0, a0); if (!!(LOC70)) goto LA71; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA71: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): { result0 = allowsnil_59aII9aHhpaoZviau1LkOWWwsigmatch(f0); } break; default: { } break; } }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, skiptoobject_2mzjvZ9aRUzu3xJQF0NC3eQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ* skipped0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* r0; NI ptrs0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; r0 = t0; ptrs0 = ((NI) 0); { while (1) { if (!!((r0 == NIM_NIL))) goto LA2; switch ((*r0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9): { r0 = (*r0).sons->data[((NI) 0)]; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22): { ptrs0 += ((NI) 1); (*skipped0) = ((Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ) 1); r0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(r0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): { ptrs0 += ((NI) 1); (*skipped0) = ((Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ) 2); r0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(r0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { r0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(r0); } break; default: { goto LA1; } break; } } LA2: ; } LA1: ; { NIM_BOOL LOC10; LOC10 = (NIM_BOOL)0; LOC10 = ((*r0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17)); if (!(LOC10)) goto LA11; LOC10 = (ptrs0 <= ((NI) 1)); LA11: ; if (!LOC10) goto LA12; result0 = r0; } LA12: ; return result0; } N_NIMCALL(NIM_BOOL, isgenericsubtype_iFYDgIHQFHAIUyeXIQKySg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, NI* d0) { NIM_BOOL result0; Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ askip0; Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ fskip0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; Ttype_LTUWCZolpovw9cWE3JBWSUw* r0; NI depth0; { result0 = (NIM_BOOL)0; askip0 = ((Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ) 0); fskip0 = ((Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ) 0); t0 = skiptoobject_2mzjvZ9aRUzu3xJQF0NC3eQ(a0, (&askip0)); r0 = skiptoobject_2mzjvZ9aRUzu3xJQF0NC3eQ(f0, (&fskip0)); { if (!(r0 == NIM_NIL)) goto LA3; result0 = NIM_FALSE; goto BeforeRet; } LA3: ; depth0 = ((NI) 0); { while (1) { NIM_BOOL LOC7; NIM_BOOL LOC8; LOC7 = (NIM_BOOL)0; LOC8 = (NIM_BOOL)0; LOC8 = !((t0 == NIM_NIL)); if (!(LOC8)) goto LA9; LOC8 = !(((*r0).sym == (*t0).sym)); LA9: ; LOC7 = LOC8; if (!(LOC7)) goto LA10; LOC7 = (askip0 == fskip0); LA10: ; if (!LOC7) goto LA6; t0 = (*t0).sons->data[((NI) 0)]; { if (!!((t0 == NIM_NIL))) goto LA13; t0 = skiptoobject_2mzjvZ9aRUzu3xJQF0NC3eQ(t0, (&askip0)); } goto LA11; LA13: ; { goto LA5; } LA11: ; depth0 += ((NI) 1); } LA6: ; } LA5: ; { NIM_BOOL LOC18; LOC18 = (NIM_BOOL)0; LOC18 = !((t0 == NIM_NIL)); if (!(LOC18)) goto LA19; LOC18 = (askip0 == fskip0); LA19: ; if (!LOC18) goto LA20; (*d0) = depth0; result0 = NIM_TRUE; } LA20: ; }BeforeRet: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, concretetype_LygDqx9ccbKjtPzfFJFniJQ)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): { result0 = NIM_NIL; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): { { if (!(*c0).isnocall) goto LA5; result0 = t0; } goto LA3; LA5: ; { result0 = NIM_NIL; } LA3: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): { { if (!((*(*t0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA11; result0 = NIM_NIL; } goto LA9; LA11: ; { result0 = t0; } LA9: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58): { result0 = t0; { while (1) { Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC17; TNimObject* LOC18; LOC17 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC17 = &t0->Sup; LOC18 = (TNimObject*)0; LOC18 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC17); result0 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC18)); { if (!(result0 == NIM_NIL)) goto LA21; goto LA15; } LA21: ; { if (!!(((*result0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA25; goto LA15; } LA25: ; } } LA15: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9): { NimStringDesc* LOC28; NimStringDesc* LOC29; LOC28 = (NimStringDesc*)0; LOC29 = (NimStringDesc*)0; LOC29 = typetostring_iUZlBdvGqNPVN17wd9aVBNw(t0, ((Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw) 0)); LOC28 = rawNewString(LOC29->Sup.len + 21); appendString(LOC28, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_17)); appendString(LOC28, LOC29); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC28); result0 = t0; } break; default: { result0 = t0; } break; } return result0; } N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, matchusertypeclass_NSmou3mZj0I2im7PS4zUIg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* ff0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ volatile result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* body0; Tscope_1cQRXW6aAknk7ywAwjH3nw* LOC9; TSafePoint T_EV5hHJmjIY9cla9b9be7fSVJQ_19; { result0 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; body0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(ff0, IL64(9007199254740992)); { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; NimStringDesc* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC7; NimStringDesc* LOC8; if (!(((NI) 4) < (*c0).intypeclass)) goto LA3; LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*body0).n, ((NI) 3)); LOC6 = (NimStringDesc*)0; LOC7 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC7 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*body0).n, ((NI) 3)); LOC8 = (NimStringDesc*)0; LOC8 = HEX24_qX5C9b0n9bOP7jk69amC8dA7A_2(LOC7); LOC6 = rawNewString(LOC8->Sup.len + 29); appendString(LOC6, LOC8); appendString(LOC6, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_18)); localerror_GarD0CQJ5aQhoHekHYinVQ((*LOC5).info, LOC6); result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA3: ; LOC9 = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; LOC9 = openscope_en8ki68OmR49cqJSPN5rSJQ(c0); (*c0).intypeclass += ((NI) 1); pushSafePoint(&T_EV5hHJmjIY9cla9b9be7fSVJQ_19); T_EV5hHJmjIY9cla9b9be7fSVJQ_19.status = setjmp(T_EV5hHJmjIY9cla9b9be7fSVJQ_19.context); if (T_EV5hHJmjIY9cla9b9be7fSVJQ_19.status == 0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* checkedbody0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC43; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC44; { if (!((*ff0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 53))) goto LA13; { NI i_TkTXLx9aKuikr5jDq6lM2BA; NI HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ; NI LOC16; NI res_1QLD2qdByswMKuXSNdlyJw; i_TkTXLx9aKuikr5jDq6lM2BA = (NI)0; HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ = (NI)0; LOC16 = (NI)0; LOC16 = len_gG7hUAX9cA629ahMLVL3xN4w_2(ff0); HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ = ((NI)(LOC16 - ((NI) 1)) - 1); res_1QLD2qdByswMKuXSNdlyJw = ((NI) 1); { while (1) { Tident_4umxGerWTHGPwUms7Yqu3g* typeparamname0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC19; Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; Tsym_AXG7xcvKqaxY6koRX1xkCw* volatile param0; if (!(res_1QLD2qdByswMKuXSNdlyJw <= HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ)) goto LA18; i_TkTXLx9aKuikr5jDq6lM2BA = res_1QLD2qdByswMKuXSNdlyJw; LOC19 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC19 = base_46gPaVDDGhiU69b2oKDJZuA(ff0); typeparamname0 = (*(*(*LOC19).sons->data[(NI)(i_TkTXLx9aKuikr5jDq6lM2BA - ((NI) 1))]).sym).name; typ0 = (*ff0).sons->data[i_TkTXLx9aKuikr5jDq6lM2BA]; param0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; switch ((*typ0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59): { param0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 10), typeparamname0, (*body0).sym, (*(*body0).sym).info); asgnRefNoCycle((void**) (&(*param0).typ), base_46gPaVDDGhiU69b2oKDJZuA(typ0)); asgnRefNoCycle((void**) (&(*param0).ast), (*typ0).n); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 60): { param0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8), typeparamname0, (*body0).sym, (*(*body0).sym).info); asgnRefNoCycle((void**) (&(*param0).typ), typ0); } break; default: { param0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7), typeparamname0, (*body0).sym, (*(*body0).sym).info); asgnRefNoCycle((void**) (&(*param0).typ), maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g(c0, typ0)); } break; } adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, param0); res_1QLD2qdByswMKuXSNdlyJw += ((NI) 1); } LA18: ; } } } LA13: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* param_oyFU9bVn85NUQ0Kq6Fdh62Q; Tnode_bROa11lyF5vxEN9aYNbHmhw* HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ_2; param_oyFU9bVn85NUQ0Kq6Fdh62Q = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ_2 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ_2 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*body0).n, ((NI) 0)); { NI i_TkTXLx9aKuikr5jDq6lM2BA_2; NI HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ_3; NI LOC25; NI res_1QLD2qdByswMKuXSNdlyJw_2; i_TkTXLx9aKuikr5jDq6lM2BA_2 = (NI)0; HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ_3 = (NI)0; LOC25 = (NI)0; LOC25 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ_2); HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ_3 = (LOC25 - 1); res_1QLD2qdByswMKuXSNdlyJw_2 = ((NI) 0); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* volatile dummyname0; Ttype_LTUWCZolpovw9cWE3JBWSUw* volatile dummytype0; Tsym_AXG7xcvKqaxY6koRX1xkCw* dummyparam0; if (!(res_1QLD2qdByswMKuXSNdlyJw_2 <= HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ_3)) goto LA27; i_TkTXLx9aKuikr5jDq6lM2BA_2 = res_1QLD2qdByswMKuXSNdlyJw_2; param_oyFU9bVn85NUQ0Kq6Fdh62Q = (*HEX3Atmp_ha6HqhjXP4GPMH0ueVMKVQ_2).kindU.S6.sons->data[i_TkTXLx9aKuikr5jDq6lM2BA_2]; dummyname0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; dummytype0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; { if (!((*param_oyFU9bVn85NUQ0Kq6Fdh62Q).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 143))) goto LA30; dummyname0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(param_oyFU9bVn85NUQ0Kq6Fdh62Q, ((NI) 0)); { if (!!(((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23)))) goto LA34; dummytype0 = makevartype_mDAs5V37nZYC3ByzC3o7dQ(c0, a0); } goto LA32; LA34: ; { dummytype0 = a0; } LA32: ; } goto LA28; LA30: ; { dummyname0 = param_oyFU9bVn85NUQ0Kq6Fdh62Q; dummytype0 = a0; } LA28: ; { NimStringDesc* LOC42; if (!!(((*dummyname0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA40; LOC42 = (NimStringDesc*)0; LOC42 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_EV5hHJmjIY9cla9b9be7fSVJQ_20); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC42); } LA40: ; dummyparam0 = newsym_2uJTpCZGZAi7a4eAm1ds8Q(((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 8), (*dummyname0).kindU.S5.ident, (*body0).sym, (*(*body0).sym).info); asgnRefNoCycle((void**) (&(*dummyparam0).typ), dummytype0); adddecl_n1KYyMdrfFhXnSjpmEHg9cA_2(c0, dummyparam0); res_1QLD2qdByswMKuXSNdlyJw_2 += ((NI) 1); } LA27: ; } } } LOC43 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC43 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*body0).n, ((NI) 3)); LOC44 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC44 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(LOC43); checkedbody0 = (*c0).semtryexpr(c0, LOC44, 0); { if (!(checkedbody0 == NIM_NIL)) goto LA47; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); popSafePoint(); (*c0).intypeclass -= ((NI) 1); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); goto BeforeRet; } LA47: ; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); popSafePoint(); (*c0).intypeclass -= ((NI) 1); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); goto BeforeRet; popSafePoint(); } else { popSafePoint(); } { (*c0).intypeclass -= ((NI) 1); closescope_r2b7lx9cCbS9b0TH9b5UCNxAA(c0); } if (T_EV5hHJmjIY9cla9b9be7fSVJQ_19.status != 0) reraiseException(); }BeforeRet: ; return result0; } N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, typerel_0fsYV9bVZA2eXpHTIQspjZA)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* aorig0, NIM_BOOL dobind0) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* a0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC9; { result0 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6))) goto LA3; { if (!!((aorig0 == NIM_NIL))) goto LA7; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, aorig0); } LA7: ; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); goto BeforeRet; } LA3: ; LOC9 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC9 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(aorig0, IL64(576460752311812096)); a0 = maybeskipdistinct_b9cb0j2qLR8Vva3Tro7wfEA(LOC9, (*c0).calleesym); { NIM_BOOL LOC12; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC14; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC17; LOC12 = (NIM_BOOL)0; LOC12 = ((2064 &((NU64)1<<((NU)((*a0).kind)&63U)))!=0); if (!(LOC12)) goto LA13; LOC14 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC14 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(f0, 8388608); LOC12 = !(((IL64(574208952489745920) &((NU64)1<<((NU)((*LOC14).kind)&63U)))!=0)); LA13: ; if (!LOC12) goto LA15; LOC17 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC17 = lastson_E41DMKHtT9c6sAMyyvhmSIw(a0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, f0, LOC17, NIM_TRUE); goto BeforeRet; } LA15: ; switch ((*a0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 56): { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); { Ttype_LTUWCZolpovw9cWE3JBWSUw* branch_iR6OUatgymHYrrJu9b4n2xA; TY_zuqP4Riz26Oi5fWgPYVEgA* HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ; NI i_dnxDOYngS2xNLN57hKpsNg; NI L_rjATi9b0T48QHWapYqbQUbg; branch_iR6OUatgymHYrrJu9b4n2xA = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ = (*a0).sons; i_dnxDOYngS2xNLN57hKpsNg = ((NI) 0); L_rjATi9b0T48QHWapYqbQUbg = (HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ ? HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ->Sup.len : 0); { while (1) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ x0; if (!(i_dnxDOYngS2xNLN57hKpsNg < L_rjATi9b0T48QHWapYqbQUbg)) goto LA21; branch_iR6OUatgymHYrrJu9b4n2xA = HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ->data[i_dnxDOYngS2xNLN57hKpsNg]; x0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, f0, branch_iR6OUatgymHYrrJu9b4n2xA, NIM_FALSE); { if (!(x0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0))) goto LA24; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA24: ; { if (!(x0 < result0)) goto LA28; result0 = x0; } LA28: ; i_dnxDOYngS2xNLN57hKpsNg += ((NI) 1); } LA21: ; } } } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 55): { { Ttype_LTUWCZolpovw9cWE3JBWSUw* branch_iR6OUatgymHYrrJu9b4n2xA_2; TY_zuqP4Riz26Oi5fWgPYVEgA* HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_2; NI i_dnxDOYngS2xNLN57hKpsNg_2; NI L_rjATi9b0T48QHWapYqbQUbg_2; branch_iR6OUatgymHYrrJu9b4n2xA_2 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_2 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_2 = (*a0).sons; i_dnxDOYngS2xNLN57hKpsNg_2 = ((NI) 0); L_rjATi9b0T48QHWapYqbQUbg_2 = (HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_2 ? HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_2->Sup.len : 0); { while (1) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ x0; if (!(i_dnxDOYngS2xNLN57hKpsNg_2 < L_rjATi9b0T48QHWapYqbQUbg_2)) goto LA33; branch_iR6OUatgymHYrrJu9b4n2xA_2 = HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_2->data[i_dnxDOYngS2xNLN57hKpsNg_2]; x0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, f0, branch_iR6OUatgymHYrrJu9b4n2xA_2, NIM_FALSE); { if (!!((x0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0)))) goto LA36; { if (!(((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8) <= x0)) goto LA40; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA38; LA40: ; { result0 = x0; } LA38: ; goto BeforeRet; } LA36: ; i_dnxDOYngS2xNLN57hKpsNg_2 += ((NI) 1); } LA33: ; } } result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 57): { switch ((*f0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 57): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC45; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC46; LOC45 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC45 = lastson_E41DMKHtT9c6sAMyyvhmSIw(a0); LOC46 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC46 = lastson_E41DMKHtT9c6sAMyyvhmSIw(f0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC45, LOC46, NIM_TRUE); goto BeforeRet; } break; default: { { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58))) goto LA50; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA48; LA50: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA48: ; goto BeforeRet; } break; } } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58): { { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58))) goto LA56; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA54; LA56: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA54: ; goto BeforeRet; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 52): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 53): { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ x0; x0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, a0, f0, NIM_FALSE); { if (!(((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8) <= x0)) goto LA62; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); goto BeforeRet; } LA62: ; } break; default: { } break; } switch ((*f0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14): { { NIM_BOOL LOC68; LOC68 = (NIM_BOOL)0; LOC68 = ((*a0).kind == (*f0).kind); if (!(LOC68)) goto LA69; LOC68 = sameenumtypes_8v4PltvnKUFVoINNTE260gsigmatch(f0, a0); LA69: ; if (!LOC68) goto LA70; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } goto LA66; LA70: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC73; NIM_BOOL LOC74; LOC73 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC73 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(a0, 1048576); LOC74 = (NIM_BOOL)0; LOC74 = sameenumtypes_8v4PltvnKUFVoINNTE260gsigmatch(f0, LOC73); if (!LOC74) goto LA75; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3); } goto LA66; LA75: ; LA66: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2): { { if (!((*a0).kind == (*f0).kind)) goto LA80; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } goto LA78; LA80: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC83; LOC83 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC83 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(a0, 1048576); if (!((*LOC83).kind == (*f0).kind)) goto LA84; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3); } goto LA78; LA84: ; LA78: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20): { { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC96; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC97; if (!((*a0).kind == (*f0).kind)) goto LA89; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC93; LOC93 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC93 = base_46gPaVDDGhiU69b2oKDJZuA(f0); if (!((*LOC93).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA94; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); goto BeforeRet; } LA94: ; LOC96 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC96 = base_46gPaVDDGhiU69b2oKDJZuA(f0); LOC97 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC97 = base_46gPaVDDGhiU69b2oKDJZuA(a0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC96, LOC97, NIM_TRUE); { if (!!(((257 &(1U<<((NU)(result0)&15U)))!=0))) goto LA100; { NI i_dnxDOYngS2xNLN57hKpsNg_3; NI res_UVwF9ch9cOfZi4yH3XO9cfoGA; i_dnxDOYngS2xNLN57hKpsNg_3 = (NI)0; res_UVwF9ch9cOfZi4yH3XO9cfoGA = ((NI) 0); { while (1) { if (!(res_UVwF9ch9cOfZi4yH3XO9cfoGA <= ((NI) 1))) goto LA104; i_dnxDOYngS2xNLN57hKpsNg_3 = res_UVwF9ch9cOfZi4yH3XO9cfoGA; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC107; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC110; LOC107 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC107 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*f0).n, i_dnxDOYngS2xNLN57hKpsNg_3); if (!((*LOC107).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 62))) goto LA108; LOC110 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC110 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*f0).n, i_dnxDOYngS2xNLN57hKpsNg_3); asgnRefNoCycle((void**) (&(*(*f0).n).kindU.S6.sons->data[i_dnxDOYngS2xNLN57hKpsNg_3]), tryresolvingstaticexpr_9c6ZlcqOU7h9ajbZLjoxOM0w(c0, LOC110)); } LA108: ; res_UVwF9ch9cOfZi4yH3XO9cfoGA += ((NI) 1); } LA104: ; } } result0 = typerangerel_h89bCS2h619a5vh77e9bOGAjQ(f0, a0); } LA100: ; } goto LA87; LA89: ; { { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC114; LOC114 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC114 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(f0, 1048576); if (!((*LOC114).kind == (*a0).kind)) goto LA115; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 2); } goto LA112; LA115: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC118; NIM_BOOL LOC119; LOC118 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC118 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(f0, 1048576); LOC119 = (NIM_BOOL)0; LOC119 = isconvertibletorange_02bS6aQ1YnsMHEF1Do9aHsg(LOC118, a0); if (!LOC119) goto LA120; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA112; LA120: ; LA112: ; } LA87: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31): { result0 = handlerange_9bd6b9aVP68tDeJTTDO30vSg(f0, a0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 32), ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 34)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 32): { result0 = handlerange_9bd6b9aVP68tDeJTTDO30vSg(f0, a0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 32), ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 32)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 33): { result0 = handlerange_9bd6b9aVP68tDeJTTDO30vSg(f0, a0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 32), ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 33)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 34): { result0 = handlerange_9bd6b9aVP68tDeJTTDO30vSg(f0, a0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 32), ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 34)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35): { result0 = handlerange_9bd6b9aVP68tDeJTTDO30vSg(f0, a0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31), ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 40): { result0 = handlerange_9bd6b9aVP68tDeJTTDO30vSg(f0, a0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 41), ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 43)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 41): { result0 = handlerange_9bd6b9aVP68tDeJTTDO30vSg(f0, a0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 41), ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 41)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 42): { result0 = handlerange_9bd6b9aVP68tDeJTTDO30vSg(f0, a0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 41), ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 42)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 43): { result0 = handlerange_9bd6b9aVP68tDeJTTDO30vSg(f0, a0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 41), ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 43)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44): { result0 = handlerange_9bd6b9aVP68tDeJTTDO30vSg(f0, a0, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 40), ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 36): { result0 = handlefloatrange_2C61PQXVzju4z2HN0r7b0g(f0, a0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 37): { result0 = handlefloatrange_2C61PQXVzju4z2HN0r7b0g(f0, a0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 38): { result0 = handlefloatrange_2C61PQXVzju4z2HN0r7b0g(f0, a0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 39): { result0 = handlefloatrange_2C61PQXVzju4z2HN0r7b0g(f0, a0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): { { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC141; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC142; if (!((*aorig0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA139; LOC141 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC141 = base_46gPaVDDGhiU69b2oKDJZuA(f0); LOC142 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC142 = base_46gPaVDDGhiU69b2oKDJZuA(aorig0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC141, LOC142, NIM_TRUE); } goto LA137; LA139: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC144; LOC144 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC144 = base_46gPaVDDGhiU69b2oKDJZuA(f0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC144, aorig0, NIM_TRUE); } LA137: ; { NIM_BOOL LOC147; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC149; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC150; LOC147 = (NIM_BOOL)0; LOC147 = (result0 <= ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 4)); if (!(LOC147)) goto LA148; LOC149 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC149 = lastson_E41DMKHtT9c6sAMyyvhmSIw(f0); LOC150 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC150 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(LOC149, abstractinst_dLigiD0wrfdW59cejPpTktA); LOC147 = ((14680064 &((NU64)1<<((NU)((*LOC150).kind)&63U)))!=0); LA148: ; if (!LOC147) goto LA151; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA151: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { switch ((*a0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { Ttype_LTUWCZolpovw9cWE3JBWSUw* frange0; frange0 = (*f0).sons->data[((NI) 0)]; { Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC159; TNimObject* LOC160; if (!((*frange0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA157; LOC159 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC159 = &frange0->Sup; LOC160 = (TNimObject*)0; LOC160 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC159); prev0 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC160)); { if (!(prev0 == NIM_NIL)) goto LA163; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, frange0, (*a0).sons->data[((NI) 0)]); frange0 = a0; } goto LA161; LA163: ; { frange0 = prev0; } LA161: ; } LA157: ; result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, (*f0).sons->data[((NI) 1)], (*a0).sons->data[((NI) 1)], NIM_TRUE); { if (!(result0 < ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8))) goto LA168; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA168: ; { NIM_BOOL LOC172; NIM_BOOL LOC173; NI LOC175; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC177; Tnode_bROa11lyF5vxEN9aYNbHmhw* len0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC190; LOC172 = (NIM_BOOL)0; LOC173 = (NIM_BOOL)0; LOC173 = !(((*frange0).n == NIM_NIL)); if (!(LOC173)) goto LA174; LOC175 = (NI)0; LOC175 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting((*frange0).n); LOC173 = (((NI) 1) < LOC175); LA174: ; LOC172 = LOC173; if (!(LOC172)) goto LA176; LOC177 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC177 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*frange0).n, ((NI) 1)); LOC172 = ((*LOC177).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 62)); LA176: ; if (!LOC172) goto LA178; { Ttype_LTUWCZolpovw9cWE3JBWSUw* rangestatict0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC184; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC185; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC186; Ttype_LTUWCZolpovw9cWE3JBWSUw* replacementt0; TY_zuqP4Riz26Oi5fWgPYVEgA* LOC187; TY_BF9aKj6RAH9ccQDWaEKQ1HOw LOC188; NI64 inputupperbound0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC189; if (!(((*frange0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 9))&31U)))!=0)) goto LA182; LOC184 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC184 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*frange0).n, ((NI) 1)); LOC185 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC185 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(LOC184, ((NI) 0)); LOC186 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC186 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(LOC185, ((NI) 1)); rangestatict0 = (*LOC186).typ; LOC187 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; LOC187 = (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeq((&NTI_zuqP4Riz26Oi5fWgPYVEgA), 1); memset((void*)LOC188, 0, sizeof(LOC188)); LOC188[0] = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); asgnRefNoCycle((void**) (&LOC187->data[0]), LOC188[0]); replacementt0 = newtypewithsons_7xhH3IRNjYY0XJGePt8pLA((*c0).c, ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59), LOC187); LOC189 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC189 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*(*a0).sons->data[((NI) 0)]).n, ((NI) 1)); inputupperbound0 = (*LOC189).kindU.S1.intval; asgnRefNoCycle((void**) (&(*replacementt0).n), newintnode_v2VGJAZNfKPVngZCqEXQtA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6), (NI64)(inputupperbound0 + IL64(1)))); put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, rangestatict0, replacementt0); result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); goto BeforeRet; } LA182: ; LOC190 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC190 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*frange0).n, ((NI) 1)); len0 = tryresolvingstaticexpr_9c6ZlcqOU7h9ajbZLjoxOM0w(c0, LOC190); { NIM_BOOL LOC193; NI64 LOC195; LOC193 = (NIM_BOOL)0; LOC193 = ((*len0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 6)); if (!(LOC193)) goto LA194; LOC195 = (NI64)0; LOC195 = lengthord_HUiBYxvKiECXCv8BzQNheg_3(a0); LOC193 = ((NI64)((*len0).kindU.S1.intval + IL64(1)) == LOC195); LA194: ; if (!LOC193) goto LA196; goto BeforeRet; } goto LA191; LA196: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA191: ; } goto LA170; LA178: ; { NI64 LOC200; NI64 LOC201; LOC200 = (NI64)0; LOC200 = lengthord_HUiBYxvKiECXCv8BzQNheg_3(frange0); LOC201 = (NI64)0; LOC201 = lengthord_HUiBYxvKiECXCv8BzQNheg_3(a0); if (!!((LOC200 == LOC201))) goto LA202; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } goto LA170; LA202: ; LA170: ; } break; default: { } break; } } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48): { { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA208; { if (!(((*(*f0).sons->data[((NI) 0)]).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 0))&31U)))!=0)) goto LA212; { if (!((*(*f0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6))) goto LA216; goto BeforeRet; } LA216: ; } goto LA210; LA212: ; { if (!((*(*f0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA219; goto BeforeRet; } goto LA210; LA219: ; LA210: ; } LA208: ; switch ((*a0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC222; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC223; LOC222 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC222 = base_46gPaVDDGhiU69b2oKDJZuA(f0); LOC223 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC223 = base_46gPaVDDGhiU69b2oKDJZuA(a0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC222, LOC223, NIM_TRUE); { if (!(result0 < ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8))) goto LA226; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA226: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { { NIM_BOOL LOC231; LOC231 = (NIM_BOOL)0; LOC231 = !(((*(*f0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12))); if (!(LOC231)) goto LA232; LOC231 = ((*(*a0).sons->data[((NI) 1)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3)); LA232: ; if (!LOC231) goto LA233; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3); } goto LA229; LA233: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC236; Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC237; LOC236 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC236 = base_46gPaVDDGhiU69b2oKDJZuA(f0); LOC237 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC237 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC236, (*a0).sons->data[((NI) 1)], NIM_TRUE); if (!(((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8) <= LOC237)) goto LA238; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA229; LA238: ; LA229: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): { { NIM_BOOL LOC243; LOC243 = (NIM_BOOL)0; LOC243 = !(((*(*f0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12))); if (!(LOC243)) goto LA244; LOC243 = ((*(*a0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3)); LA244: ; if (!LOC243) goto LA245; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA241; LA245: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC248; Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC249; LOC248 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC248 = base_46gPaVDDGhiU69b2oKDJZuA(f0); LOC249 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC249 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC248, (*a0).sons->data[((NI) 0)], NIM_TRUE); if (!(((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8) <= LOC249)) goto LA250; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA241; LA250: ; LA241: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): { { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27))) goto LA255; { if (!((*(*f0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA259; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA257; LA259: ; { NIM_BOOL LOC262; NIM_BOOL LOC263; NI LOC265; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC267; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC268; Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC269; LOC262 = (NIM_BOOL)0; LOC263 = (NIM_BOOL)0; LOC263 = ((*(*f0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12)); if (!(LOC263)) goto LA264; LOC265 = (NI)0; LOC265 = len_gG7hUAX9cA629ahMLVL3xN4w_2(a0); LOC263 = (((NI) 0) < LOC265); LA264: ; LOC262 = LOC263; if (!(LOC262)) goto LA266; LOC267 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC267 = base_46gPaVDDGhiU69b2oKDJZuA(f0); LOC268 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC268 = base_46gPaVDDGhiU69b2oKDJZuA(a0); LOC269 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC269 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC267, LOC268, NIM_TRUE); LOC262 = (((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8) <= LOC269); LA266: ; if (!LOC262) goto LA270; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA257; LA270: ; LA257: ; } LA255: ; } break; default: { } break; } } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): { switch ((*a0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): { { NIM_BOOL LOC277; LOC277 = (NIM_BOOL)0; LOC277 = !(((*(*f0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12))); if (!(LOC277)) goto LA278; LOC277 = ((*(*a0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3)); LA278: ; if (!LOC277) goto LA279; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3); } goto LA275; LA279: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, (*f0).sons->data[((NI) 0)], (*a0).sons->data[((NI) 0)], NIM_TRUE); { if (!(result0 < ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8))) goto LA284; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } goto LA282; LA284: ; { NIM_BOOL LOC287; LOC287 = (NIM_BOOL)0; LOC287 = (((*f0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0); if (!(LOC287)) goto LA288; LOC287 = !((((*a0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0)); LA288: ; if (!LOC287) goto LA289; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA282; LA289: ; LA282: ; } LA275: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): { result0 = allowsnil_59aII9aHhpaoZviau1LkOWWwsigmatch(f0); } break; default: { } break; } } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 15): { { NIM_BOOL LOC296; Ttype_LTUWCZolpovw9cWE3JBWSUw* x0; LOC296 = (NIM_BOOL)0; LOC296 = isordinaltype_XI7vH8jtAcp7rWqTmfZOSg_2(a0); if (!LOC296) goto LA297; { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 15))) goto LA301; x0 = (*a0).sons->data[((NI) 0)]; } goto LA299; LA301: ; { x0 = a0; } LA299: ; { if (!((*(*f0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA306; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA304; LA306: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, (*f0).sons->data[((NI) 0)], x0, NIM_TRUE); { if (!(result0 < ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8))) goto LA311; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA311: ; } LA304: ; } goto LA294; LA297: ; { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA314; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA294; LA314: ; LA294: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 30): { internalerror_5XY9cUy7hZmUusM38U9cYYdw(((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_14)); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): { { if (!((*a0).kind == (*f0).kind)) goto LA320; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } LA320: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): { { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA325; result0 = recordrel_ATXQei1OP9acdbktDwpAl9ag(c0, f0, a0); } LA325: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17): { { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA330; { NIM_BOOL LOC334; LOC334 = (NIM_BOOL)0; LOC334 = sameobjecttypes_bXxjiP8HPzKjOso3AVsG5w(f0, a0); if (!LOC334) goto LA335; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } goto LA332; LA335: ; { NI depth0; depth0 = isobjectsubtype_AAFgb9cf1jok4tDnzcxROEA(c0, a0, f0, NIM_NIL); { if (!(((NI) 0) < depth0)) goto LA340; (*c0).inheritancepenalty += depth0; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3); } LA340: ; } LA332: ; } LA330: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): { { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA345; { NIM_BOOL LOC349; LOC349 = (NIM_BOOL)0; LOC349 = samedistincttypes_E81g0CHdt1olSerxA8b5oAsigmatch(f0, a0); if (!LOC349) goto LA350; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } goto LA347; LA350: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC353; LOC353 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC353 = base_46gPaVDDGhiU69b2oKDJZuA(f0); if (!((*LOC353).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58))) goto LA354; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA347; LA354: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC359; if (!(*c0).coercedistincts) goto LA357; LOC359 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC359 = base_46gPaVDDGhiU69b2oKDJZuA(f0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC359, a0, NIM_TRUE); } goto LA347; LA357: ; LA347: ; } goto LA343; LA345: ; { NIM_BOOL LOC361; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC363; LOC361 = (NIM_BOOL)0; LOC361 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5)); if (!(LOC361)) goto LA362; LOC363 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC363 = base_46gPaVDDGhiU69b2oKDJZuA(f0); LOC361 = ((IL64(1125900835880960) &((NU64)1<<((NU)((*LOC363).kind)&63U)))!=0); LA362: ; if (!LOC361) goto LA364; result0 = allowsnil_59aII9aHhpaoZviau1LkOWWwsigmatch(f0); } goto LA343; LA364: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC369; if (!(*c0).coercedistincts) goto LA367; LOC369 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC369 = base_46gPaVDDGhiU69b2oKDJZuA(f0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC369, a0, NIM_TRUE); } goto LA343; LA367: ; LA343: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): { { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA373; { NIM_BOOL LOC377; LOC377 = (NIM_BOOL)0; LOC377 = !(((*(*f0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12))); if (!(LOC377)) goto LA378; LOC377 = ((*(*a0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3)); LA378: ; if (!LOC377) goto LA379; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3); } goto LA375; LA379: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, (*f0).sons->data[((NI) 0)], (*a0).sons->data[((NI) 0)], NIM_TRUE); { if (!(result0 <= ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1))) goto LA384; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA384: ; } LA375: ; } LA373: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22): { { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC406; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC407; if (!((*a0).kind == (*f0).kind)) goto LA389; { NI LOC393; NI LOC394; LOC393 = (NI)0; LOC393 = len_gG7hUAX9cA629ahMLVL3xN4w_2(a0); LOC394 = (NI)0; LOC394 = len_gG7hUAX9cA629ahMLVL3xN4w_2(f0); if (!(LOC393 < LOC394)) goto LA395; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA395: ; { NI i_dnxDOYngS2xNLN57hKpsNg_4; NI HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_3; NI LOC398; NI res_UVwF9ch9cOfZi4yH3XO9cfoGA_2; i_dnxDOYngS2xNLN57hKpsNg_4 = (NI)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_3 = (NI)0; LOC398 = (NI)0; LOC398 = len_gG7hUAX9cA629ahMLVL3xN4w_2(f0); HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_3 = (NI)(LOC398 - ((NI) 2)); res_UVwF9ch9cOfZi4yH3XO9cfoGA_2 = ((NI) 0); { while (1) { if (!(res_UVwF9ch9cOfZi4yH3XO9cfoGA_2 <= HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_3)) goto LA400; i_dnxDOYngS2xNLN57hKpsNg_4 = res_UVwF9ch9cOfZi4yH3XO9cfoGA_2; { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC403; LOC403 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC403 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, (*f0).sons->data[i_dnxDOYngS2xNLN57hKpsNg_4], (*a0).sons->data[i_dnxDOYngS2xNLN57hKpsNg_4], NIM_TRUE); if (!(LOC403 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0))) goto LA404; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA404: ; res_UVwF9ch9cOfZi4yH3XO9cfoGA_2 += ((NI) 1); } LA400: ; } } LOC406 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC406 = lastson_E41DMKHtT9c6sAMyyvhmSIw(f0); LOC407 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC407 = lastson_E41DMKHtT9c6sAMyyvhmSIw(a0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC406, LOC407, NIM_TRUE); { NIM_BOOL LOC410; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC412; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC413; LOC410 = (NIM_BOOL)0; LOC410 = (result0 <= ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 4)); if (!(LOC410)) goto LA411; LOC412 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC412 = lastson_E41DMKHtT9c6sAMyyvhmSIw(f0); LOC413 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC413 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(LOC412, abstractinst_dLigiD0wrfdW59cejPpTktA); LOC410 = ((14680064 &((NU64)1<<((NU)((*LOC413).kind)&63U)))!=0); LA411: ; if (!LOC410) goto LA414; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA414: ; { if (!(result0 <= ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1))) goto LA418; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } goto LA416; LA418: ; { NIM_BOOL LOC421; LOC421 = (NIM_BOOL)0; LOC421 = (((*f0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0); if (!(LOC421)) goto LA422; LOC421 = !((((*a0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0)); LA422: ; if (!LOC421) goto LA423; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA416; LA423: ; LA416: ; } goto LA387; LA389: ; { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA426; result0 = allowsnil_59aII9aHhpaoZviau1LkOWWwsigmatch(f0); } goto LA387; LA426: ; { } LA387: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25): { result0 = proctyperel_ATXQei1OP9acdbktDwpAl9ag_2(c0, f0, a0); { NIM_BOOL LOC432; NIM_BOOL LOC433; LOC432 = (NIM_BOOL)0; LOC433 = (NIM_BOOL)0; LOC433 = !((result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0))); if (!(LOC433)) goto LA434; LOC433 = (((*f0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0); LA434: ; LOC432 = LOC433; if (!(LOC432)) goto LA435; LOC432 = !((((*a0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0)); LA435: ; if (!LOC432) goto LA436; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } LA436: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 26): { switch ((*a0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 26): { { NIM_BOOL LOC442; LOC442 = (NIM_BOOL)0; LOC442 = (((*f0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0); if (!(LOC442)) goto LA443; LOC442 = !((((*a0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0)); LA443: ; if (!LOC442) goto LA444; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA440; LA444: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } LA440: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): { result0 = allowsnil_59aII9aHhpaoZviau1LkOWWwsigmatch(f0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25): { { if (!!(((*a0).callconv == ((Tcallingconvention_yjAJ8w0h1PBaSwSGJ3P7IA) 8)))) goto LA451; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } LA451: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): { { NI LOC456; LOC456 = (NI)0; LOC456 = len_gG7hUAX9cA629ahMLVL3xN4w_2(a0); if (!(LOC456 == ((NI) 1))) goto LA457; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } LA457: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29): { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } break; default: { } break; } } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): { switch ((*a0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): { { NIM_BOOL LOC465; LOC465 = (NIM_BOOL)0; LOC465 = (((*f0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0); if (!(LOC465)) goto LA466; LOC465 = !((((*a0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0)); LA466: ; if (!LOC465) goto LA467; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA463; LA467: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } LA463: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): { result0 = allowsnil_59aII9aHhpaoZviau1LkOWWwsigmatch(f0); } break; default: { } break; } } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29): { switch ((*a0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29): { { NIM_BOOL LOC476; LOC476 = (NIM_BOOL)0; LOC476 = (((*f0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0); if (!(LOC476)) goto LA477; LOC476 = !((((*a0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 16))&31U)))!=0)); LA477: ; if (!LOC476) goto LA478; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } goto LA474; LA478: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } LA474: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5): { result0 = allowsnil_59aII9aHhpaoZviau1LkOWWwsigmatch(f0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): { { NIM_BOOL LOC486; NI LOC487; LOC486 = (NIM_BOOL)0; LOC487 = (NI)0; LOC487 = len_gG7hUAX9cA629ahMLVL3xN4w_2(a0); LOC486 = (LOC487 == ((NI) 1)); if (!(LOC486)) goto LA488; LOC486 = ((*(*a0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2)); LA488: ; if (!LOC486) goto LA489; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } LA489: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): { { NIM_BOOL LOC494; NIM_BOOL LOC495; NI64 LOC496; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC498; LOC494 = (NIM_BOOL)0; LOC495 = (NIM_BOOL)0; LOC496 = (NI64)0; LOC496 = firstord_HUiBYxvKiECXCv8BzQNheg((*a0).sons->data[((NI) 0)]); LOC495 = (LOC496 == IL64(0)); if (!(LOC495)) goto LA497; LOC498 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC498 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*a0).sons->data[((NI) 0)], 1048576); LOC495 = ((IL64(66571993088) &((NU64)1<<((NU)((*LOC498).kind)&63U)))!=0); LA497: ; LOC494 = LOC495; if (!(LOC494)) goto LA499; LOC494 = ((*(*a0).sons->data[((NI) 1)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2)); LA499: ; if (!LOC494) goto LA500; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1); } LA500: ; } break; default: { } break; } } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 62): { { if (!((*a0).kind == (*f0).kind)) goto LA506; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } LA506: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC509; LOC509 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC509 = lastson_E41DMKHtT9c6sAMyyvhmSIw(f0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC509, a0, NIM_TRUE); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10): { Ttype_LTUWCZolpovw9cWE3JBWSUw* prev_9cmtsLO1M9bHfbpGxdv3Hn2A; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC511; TNimObject* LOC512; LOC511 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC511 = &f0->Sup; LOC512 = (TNimObject*)0; LOC512 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC511); prev_9cmtsLO1M9bHfbpGxdv3Hn2A = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC512)); { Ttype_LTUWCZolpovw9cWE3JBWSUw* ff0; if (!(prev_9cmtsLO1M9bHfbpGxdv3Hn2A == NIM_NIL)) goto LA515; { NIM_BOOL LOC519; LOC519 = (NIM_BOOL)0; LOC519 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11)); if (!(LOC519)) goto LA520; LOC519 = ((*a0).sons->data[((NI) 0)] == f0); LA520: ; if (!LOC519) goto LA521; { Ttype_LTUWCZolpovw9cWE3JBWSUw* bound_A32sWx8L9cNXV9acKMnDr45A; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC527; if (!dobind0) goto LA525; LOC527 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC527 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(aorig0, 1048576); bound_A32sWx8L9cNXV9acKMnDr45A = skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys(LOC527); put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, bound_A32sWx8L9cNXV9acKMnDr45A); } LA525: ; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); goto BeforeRet; } LA521: ; ff0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(f0); { if (!!((ff0 == NIM_NIL))) goto LA530; result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, ff0, a0, NIM_TRUE); } LA530: ; } goto LA513; LA515: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, prev_9cmtsLO1M9bHfbpGxdv3Hn2A, a0, NIM_TRUE); goto BeforeRet; } LA513: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9): { Ttype_LTUWCZolpovw9cWE3JBWSUw* x_9c3clcMgqM3UNwp39b4c5aUg; NI depth_jc0tBH3QEumwweg6RQFIhQ; x_9c3clcMgqM3UNwp39b4c5aUg = skipgenericalias_46gPaVDDGhiU69b2oKDJZuA_3(a0); depth_jc0tBH3QEumwweg6RQFIhQ = ((NI) 0); { NIM_BOOL LOC536; LOC536 = (NIM_BOOL)0; LOC536 = ((*x_9c3clcMgqM3UNwp39b4c5aUg).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9)); if (LOC536) goto LA537; LOC536 = !(((*(*f0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10))); LA537: ; if (!LOC536) goto LA538; } goto LA534; LA538: ; { NIM_BOOL LOC541; NIM_BOOL LOC542; NIM_BOOL LOC544; NI LOC547; NI LOC548; LOC541 = (NIM_BOOL)0; LOC542 = (NIM_BOOL)0; LOC542 = ((*x_9c3clcMgqM3UNwp39b4c5aUg).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11)); if (!(LOC542)) goto LA543; LOC544 = (NIM_BOOL)0; LOC544 = ((*f0).sons->data[((NI) 0)] == (*x_9c3clcMgqM3UNwp39b4c5aUg).sons->data[((NI) 0)]); if (LOC544) goto LA545; LOC544 = isgenericsubtype_iFYDgIHQFHAIUyeXIQKySg(x_9c3clcMgqM3UNwp39b4c5aUg, f0, (&depth_jc0tBH3QEumwweg6RQFIhQ)); LA545: ; LOC542 = LOC544; LA543: ; LOC541 = LOC542; if (!(LOC541)) goto LA546; LOC547 = (NI)0; LOC547 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(x_9c3clcMgqM3UNwp39b4c5aUg); LOC548 = (NI)0; LOC548 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(f0); LOC541 = ((NI)(LOC547 - ((NI) 1)) == LOC548); LA546: ; if (!LOC541) goto LA549; { NI i_dnxDOYngS2xNLN57hKpsNg_5; NI HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_4; NI LOC552; NI res_UVwF9ch9cOfZi4yH3XO9cfoGA_3; i_dnxDOYngS2xNLN57hKpsNg_5 = (NI)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_4 = (NI)0; LOC552 = (NI)0; LOC552 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(f0); HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_4 = (NI)(LOC552 - ((NI) 1)); res_UVwF9ch9cOfZi4yH3XO9cfoGA_3 = ((NI) 1); { while (1) { if (!(res_UVwF9ch9cOfZi4yH3XO9cfoGA_3 <= HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_4)) goto LA554; i_dnxDOYngS2xNLN57hKpsNg_5 = res_UVwF9ch9cOfZi4yH3XO9cfoGA_3; { if (!((*(*x_9c3clcMgqM3UNwp39b4c5aUg).sons->data[i_dnxDOYngS2xNLN57hKpsNg_5]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA557; internalerror_5XY9cUy7hZmUusM38U9cYYdw(((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_16)); } goto LA555; LA557: ; { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC560; LOC560 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC560 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, (*f0).sons->data[i_dnxDOYngS2xNLN57hKpsNg_5], (*x_9c3clcMgqM3UNwp39b4c5aUg).sons->data[i_dnxDOYngS2xNLN57hKpsNg_5], NIM_TRUE); if (!(LOC560 <= ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3))) goto LA561; { if (!!(((*(*f0).sons->data[i_dnxDOYngS2xNLN57hKpsNg_5]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA565; goto BeforeRet; } LA565: ; } goto LA555; LA561: ; LA555: ; res_UVwF9ch9cOfZi4yH3XO9cfoGA_3 += ((NI) 1); } LA554: ; } } (*c0).inheritancepenalty += depth_jc0tBH3QEumwweg6RQFIhQ; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA534; LA549: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* genericbody0; Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ askip0; Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ fskip0; Ttype_LTUWCZolpovw9cWE3JBWSUw* aobj0; Ttype_LTUWCZolpovw9cWE3JBWSUw* fobj0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC568; NI depth0; genericbody0 = (*f0).sons->data[((NI) 0)]; askip0 = ((Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ) 0); fskip0 = ((Skippedptr_WOSTpykTcTHo6Kb9bHoOUqQ) 0); aobj0 = skiptoobject_2mzjvZ9aRUzu3xJQF0NC3eQ(x_9c3clcMgqM3UNwp39b4c5aUg, (&askip0)); LOC568 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC568 = lastson_E41DMKHtT9c6sAMyyvhmSIw(genericbody0); fobj0 = skiptoobject_2mzjvZ9aRUzu3xJQF0NC3eQ(LOC568, (&fskip0)); depth0 = ((NI) -1); { NIM_BOOL LOC571; NIM_BOOL LOC572; LOC571 = (NIM_BOOL)0; LOC572 = (NIM_BOOL)0; LOC572 = !((fobj0 == NIM_NIL)); if (!(LOC572)) goto LA573; LOC572 = !((aobj0 == NIM_NIL)); LA573: ; LOC571 = LOC572; if (!(LOC571)) goto LA574; LOC571 = (askip0 == fskip0); LA574: ; if (!LOC571) goto LA575; depth0 = isobjectsubtype_AAFgb9cf1jok4tDnzcxROEA(c0, aobj0, fobj0, f0); } LA575: ; result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, genericbody0, x_9c3clcMgqM3UNwp39b4c5aUg, NIM_TRUE); { if (!!((result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0)))) goto LA579; { NI i_dnxDOYngS2xNLN57hKpsNg_6; NI HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_5; NI LOC582; NI res_UVwF9ch9cOfZi4yH3XO9cfoGA_4; i_dnxDOYngS2xNLN57hKpsNg_6 = (NI)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_5 = (NI)0; LOC582 = (NI)0; LOC582 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(f0); HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_5 = (NI)(LOC582 - ((NI) 1)); res_UVwF9ch9cOfZi4yH3XO9cfoGA_4 = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* x0; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC585; TNimObject* LOC586; if (!(res_UVwF9ch9cOfZi4yH3XO9cfoGA_4 <= HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_5)) goto LA584; i_dnxDOYngS2xNLN57hKpsNg_6 = res_UVwF9ch9cOfZi4yH3XO9cfoGA_4; LOC585 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC585 = &(*genericbody0).sons->data[(NI)(i_dnxDOYngS2xNLN57hKpsNg_6 - ((NI) 1))]->Sup; LOC586 = (TNimObject*)0; LOC586 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC585); x0 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC586)); { if (!(x0 == NIM_NIL)) goto LA589; } goto LA587; LA589: ; { if (!((4608 &((NU64)1<<((NU)((*x0).kind)&63U)))!=0)) goto LA592; internalerror_5XY9cUy7hZmUusM38U9cYYdw(((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_16)); } goto LA587; LA592: ; { put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, (*f0).sons->data[i_dnxDOYngS2xNLN57hKpsNg_6], x0); } LA587: ; res_UVwF9ch9cOfZi4yH3XO9cfoGA_4 += ((NI) 1); } LA584: ; } } } LA579: ; { if (!(((NI) 0) <= depth0)) goto LA597; (*c0).inheritancepenalty += depth0; { if (!(depth0 == ((NI) 0))) goto LA601; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA599; LA601: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3); } LA599: ; } LA597: ; } LA534: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 55): { Ttype_LTUWCZolpovw9cWE3JBWSUw* prev_9cmtsLO1M9bHfbpGxdv3Hn2A_2; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC605; TNimObject* LOC606; LOC605 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC605 = &f0->Sup; LOC606 = (TNimObject*)0; LOC606 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC605); prev_9cmtsLO1M9bHfbpGxdv3Hn2A_2 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC606)); { if (!(prev_9cmtsLO1M9bHfbpGxdv3Hn2A_2 == NIM_NIL)) goto LA609; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); { Ttype_LTUWCZolpovw9cWE3JBWSUw* branch_iR6OUatgymHYrrJu9b4n2xA_3; TY_zuqP4Riz26Oi5fWgPYVEgA* HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_6; NI i_dnxDOYngS2xNLN57hKpsNg_7; NI L_rjATi9b0T48QHWapYqbQUbg_3; branch_iR6OUatgymHYrrJu9b4n2xA_3 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_6 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_6 = (*f0).sons; i_dnxDOYngS2xNLN57hKpsNg_7 = ((NI) 0); L_rjATi9b0T48QHWapYqbQUbg_3 = (HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_6 ? HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_6->Sup.len : 0); { while (1) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ x0; if (!(i_dnxDOYngS2xNLN57hKpsNg_7 < L_rjATi9b0T48QHWapYqbQUbg_3)) goto LA613; branch_iR6OUatgymHYrrJu9b4n2xA_3 = HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_6->data[i_dnxDOYngS2xNLN57hKpsNg_7]; x0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, branch_iR6OUatgymHYrrJu9b4n2xA_3, aorig0, NIM_TRUE); { if (!(x0 < ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3))) goto LA616; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA616: ; { if (!(x0 < result0)) goto LA620; result0 = x0; } LA620: ; i_dnxDOYngS2xNLN57hKpsNg_7 += ((NI) 1); } LA613: ; } } { if (!(((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8) < result0)) goto LA624; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } LA624: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* bound_A32sWx8L9cNXV9acKMnDr45A_2; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC630; if (!dobind0) goto LA628; LOC630 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC630 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(aorig0, 1048576); bound_A32sWx8L9cNXV9acKMnDr45A_2 = skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys(LOC630); put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, bound_A32sWx8L9cNXV9acKMnDr45A_2); } LA628: ; goto BeforeRet; } goto LA607; LA609: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, prev_9cmtsLO1M9bHfbpGxdv3Hn2A_2, a0, NIM_TRUE); goto BeforeRet; } LA607: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 56): { Ttype_LTUWCZolpovw9cWE3JBWSUw* prev_9cmtsLO1M9bHfbpGxdv3Hn2A_3; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC633; TNimObject* LOC634; LOC633 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC633 = &f0->Sup; LOC634 = (TNimObject*)0; LOC634 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC633); prev_9cmtsLO1M9bHfbpGxdv3Hn2A_3 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC634)); { if (!(prev_9cmtsLO1M9bHfbpGxdv3Hn2A_3 == NIM_NIL)) goto LA637; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); { Ttype_LTUWCZolpovw9cWE3JBWSUw* branch_iR6OUatgymHYrrJu9b4n2xA_4; TY_zuqP4Riz26Oi5fWgPYVEgA* HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_7; NI i_dnxDOYngS2xNLN57hKpsNg_8; NI L_rjATi9b0T48QHWapYqbQUbg_4; branch_iR6OUatgymHYrrJu9b4n2xA_4 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_7 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_7 = (*f0).sons; i_dnxDOYngS2xNLN57hKpsNg_8 = ((NI) 0); L_rjATi9b0T48QHWapYqbQUbg_4 = (HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_7 ? HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_7->Sup.len : 0); { while (1) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ x0; if (!(i_dnxDOYngS2xNLN57hKpsNg_8 < L_rjATi9b0T48QHWapYqbQUbg_4)) goto LA641; branch_iR6OUatgymHYrrJu9b4n2xA_4 = HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_7->data[i_dnxDOYngS2xNLN57hKpsNg_8]; x0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, branch_iR6OUatgymHYrrJu9b4n2xA_4, aorig0, NIM_TRUE); { if (!(result0 < x0)) goto LA644; result0 = x0; } LA644: ; i_dnxDOYngS2xNLN57hKpsNg_8 += ((NI) 1); } LA641: ; } } { if (!(((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3) <= result0)) goto LA648; { if (!(((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8) < result0)) goto LA652; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } LA652: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* bound_A32sWx8L9cNXV9acKMnDr45A_3; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC658; if (!dobind0) goto LA656; LOC658 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC658 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(aorig0, 1048576); bound_A32sWx8L9cNXV9acKMnDr45A_3 = skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys(LOC658); put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, bound_A32sWx8L9cNXV9acKMnDr45A_3); } LA656: ; goto BeforeRet; } goto LA646; LA648: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA646: ; } goto LA635; LA637: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, prev_9cmtsLO1M9bHfbpGxdv3Hn2A_3, a0, NIM_TRUE); goto BeforeRet; } LA635: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 57): { Ttype_LTUWCZolpovw9cWE3JBWSUw* prev_9cmtsLO1M9bHfbpGxdv3Hn2A_4; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC662; TNimObject* LOC663; LOC662 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC662 = &f0->Sup; LOC663 = (TNimObject*)0; LOC663 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC662); prev_9cmtsLO1M9bHfbpGxdv3Hn2A_4 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC663)); { if (!(prev_9cmtsLO1M9bHfbpGxdv3Hn2A_4 == NIM_NIL)) goto LA666; { Ttype_LTUWCZolpovw9cWE3JBWSUw* branch_iR6OUatgymHYrrJu9b4n2xA_5; TY_zuqP4Riz26Oi5fWgPYVEgA* HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_8; NI i_dnxDOYngS2xNLN57hKpsNg_9; NI L_rjATi9b0T48QHWapYqbQUbg_5; branch_iR6OUatgymHYrrJu9b4n2xA_5 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_8 = (TY_zuqP4Riz26Oi5fWgPYVEgA*)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_8 = (*f0).sons; i_dnxDOYngS2xNLN57hKpsNg_9 = ((NI) 0); L_rjATi9b0T48QHWapYqbQUbg_5 = (HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_8 ? HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_8->Sup.len : 0); { while (1) { if (!(i_dnxDOYngS2xNLN57hKpsNg_9 < L_rjATi9b0T48QHWapYqbQUbg_5)) goto LA670; branch_iR6OUatgymHYrrJu9b4n2xA_5 = HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_8->data[i_dnxDOYngS2xNLN57hKpsNg_9]; { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC673; LOC673 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC673 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, branch_iR6OUatgymHYrrJu9b4n2xA_5, aorig0, NIM_TRUE); if (!!((LOC673 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0)))) goto LA674; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA674: ; i_dnxDOYngS2xNLN57hKpsNg_9 += ((NI) 1); } LA670: ; } } { Ttype_LTUWCZolpovw9cWE3JBWSUw* bound_A32sWx8L9cNXV9acKMnDr45A_4; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC680; if (!dobind0) goto LA678; LOC680 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC680 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(aorig0, 1048576); bound_A32sWx8L9cNXV9acKMnDr45A_4 = skipintlit_Wqqd75hh0NzCssCyCNzd9agmagicsys(LOC680); put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, bound_A32sWx8L9cNXV9acKMnDr45A_4); } LA678: ; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); goto BeforeRet; } goto LA664; LA666: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, prev_9cmtsLO1M9bHfbpGxdv3Hn2A_4, a0, NIM_TRUE); goto BeforeRet; } LA664: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 58): { Ttype_LTUWCZolpovw9cWE3JBWSUw* prev_9cmtsLO1M9bHfbpGxdv3Hn2A_5; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC683; TNimObject* LOC684; LOC683 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC683 = &f0->Sup; LOC684 = (TNimObject*)0; LOC684 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC683); prev_9cmtsLO1M9bHfbpGxdv3Hn2A_5 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC684)); { Ttype_LTUWCZolpovw9cWE3JBWSUw* concrete0; if (!(prev_9cmtsLO1M9bHfbpGxdv3Hn2A_5 == NIM_NIL)) goto LA687; concrete0 = concretetype_LygDqx9ccbKjtPzfFJFniJQ((&(*c0)), a0); { NIM_BOOL LOC691; LOC691 = (NIM_BOOL)0; LOC691 = !((concrete0 == NIM_NIL)); if (!(LOC691)) goto LA692; LOC691 = dobind0; LA692: ; if (!LOC691) goto LA693; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, concrete0); } LA693: ; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); goto BeforeRet; } goto LA685; LA687: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, prev_9cmtsLO1M9bHfbpGxdv3Hn2A_5, a0, NIM_TRUE); goto BeforeRet; } LA685: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 51): { Ttype_LTUWCZolpovw9cWE3JBWSUw* prev_9cmtsLO1M9bHfbpGxdv3Hn2A_6; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC697; TNimObject* LOC698; LOC697 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC697 = &f0->Sup; LOC698 = (TNimObject*)0; LOC698 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC697); prev_9cmtsLO1M9bHfbpGxdv3Hn2A_6 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC698)); { Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag targetkind0; if (!(prev_9cmtsLO1M9bHfbpGxdv3Hn2A_6 == NIM_NIL)) goto LA701; targetkind0 = (*(*f0).sons->data[((NI) 0)]).kind; { NIM_BOOL LOC705; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC706; NIM_BOOL LOC708; LOC705 = (NIM_BOOL)0; LOC706 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC706 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(a0, IL64(2251799814735888)); LOC705 = (targetkind0 == (*LOC706).kind); if (LOC705) goto LA707; LOC708 = (NIM_BOOL)0; LOC708 = ((100663296 &((NU64)1<<((NU)(targetkind0)&63U)))!=0); if (!(LOC708)) goto LA709; LOC708 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 5)); LA709: ; LOC705 = LOC708; LA707: ; if (!LOC705) goto LA710; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, a0); result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); goto BeforeRet; } goto LA703; LA710: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA703: ; } goto LA699; LA701: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, prev_9cmtsLO1M9bHfbpGxdv3Hn2A_6, a0, NIM_TRUE); goto BeforeRet; } LA699: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 52): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 53): { Ttype_LTUWCZolpovw9cWE3JBWSUw* prev_9cmtsLO1M9bHfbpGxdv3Hn2A_7; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC715; TNimObject* LOC716; LOC715 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC715 = &f0->Sup; LOC716 = (TNimObject*)0; LOC716 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC715); prev_9cmtsLO1M9bHfbpGxdv3Hn2A_7 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC716)); { if (!(prev_9cmtsLO1M9bHfbpGxdv3Hn2A_7 == NIM_NIL)) goto LA719; result0 = matchusertypeclass_NSmou3mZj0I2im7PS4zUIg((*c0).c, c0, f0, aorig0); { if (!(result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8))) goto LA723; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, a0); } LA723: ; } goto LA717; LA719: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, prev_9cmtsLO1M9bHfbpGxdv3Hn2A_7, a0, NIM_TRUE); goto BeforeRet; } LA717: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 54): { Ttype_LTUWCZolpovw9cWE3JBWSUw* prev_9cmtsLO1M9bHfbpGxdv3Hn2A_8; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC727; TNimObject* LOC728; LOC727 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC727 = &f0->Sup; LOC728 = (TNimObject*)0; LOC728 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC727); prev_9cmtsLO1M9bHfbpGxdv3Hn2A_8 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC728)); { Ttype_LTUWCZolpovw9cWE3JBWSUw* roota0; Ttype_LTUWCZolpovw9cWE3JBWSUw* rootf0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC733; if (!(prev_9cmtsLO1M9bHfbpGxdv3Hn2A_8 == NIM_NIL)) goto LA731; roota0 = skipgenericalias_46gPaVDDGhiU69b2oKDJZuA_3(a0); LOC733 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC733 = lastson_E41DMKHtT9c6sAMyyvhmSIw(f0); rootf0 = skipgenericalias_46gPaVDDGhiU69b2oKDJZuA_3(LOC733); { NIM_BOOL LOC736; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC738; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC739; LOC736 = (NIM_BOOL)0; LOC736 = ((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11)); if (!(LOC736)) goto LA737; LOC738 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC738 = base_46gPaVDDGhiU69b2oKDJZuA(roota0); LOC739 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC739 = base_46gPaVDDGhiU69b2oKDJZuA(rootf0); LOC736 = (LOC738 == LOC739); LA737: ; if (!LOC736) goto LA740; { NI i_dnxDOYngS2xNLN57hKpsNg_10; NI HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_9; NI LOC743; NI res_UVwF9ch9cOfZi4yH3XO9cfoGA_5; i_dnxDOYngS2xNLN57hKpsNg_10 = (NI)0; HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_9 = (NI)0; LOC743 = (NI)0; LOC743 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(rootf0); HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_9 = (NI)(LOC743 - ((NI) 2)); res_UVwF9ch9cOfZi4yH3XO9cfoGA_5 = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* ff0; Ttype_LTUWCZolpovw9cWE3JBWSUw* aa0; if (!(res_UVwF9ch9cOfZi4yH3XO9cfoGA_5 <= HEX3Atmp_FIiMOc07WWtBqxlF7TMMLQ_9)) goto LA745; i_dnxDOYngS2xNLN57hKpsNg_10 = res_UVwF9ch9cOfZi4yH3XO9cfoGA_5; ff0 = (*rootf0).sons->data[i_dnxDOYngS2xNLN57hKpsNg_10]; aa0 = (*roota0).sons->data[i_dnxDOYngS2xNLN57hKpsNg_10]; result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, ff0, aa0, NIM_TRUE); { if (!(result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0))) goto LA748; goto BeforeRet; } LA748: ; { NIM_BOOL LOC752; LOC752 = (NIM_BOOL)0; LOC752 = ((*ff0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20)); if (!(LOC752)) goto LA753; LOC752 = !((result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10))); LA753: ; if (!LOC752) goto LA754; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA754: ; res_UVwF9ch9cOfZi4yH3XO9cfoGA_5 += ((NI) 1); } LA745: ; } } } goto LA734; LA740: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC757; LOC757 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC757 = lastson_E41DMKHtT9c6sAMyyvhmSIw(rootf0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC757, a0, NIM_TRUE); } LA734: ; { if (!!((result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0)))) goto LA760; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, a0); result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } LA760: ; } goto LA729; LA731: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, prev_9cmtsLO1M9bHfbpGxdv3Hn2A_8, a0, NIM_TRUE); goto BeforeRet; } LA729: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12): { Ttype_LTUWCZolpovw9cWE3JBWSUw* x0; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC764; TNimObject* LOC765; LOC764 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC764 = &f0->Sup; LOC765 = (TNimObject*)0; LOC765 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC764); x0 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC765)); { if (!(x0 == NIM_NIL)) goto LA768; { NIM_BOOL LOC772; NIM_BOOL LOC773; LOC772 = (NIM_BOOL)0; LOC773 = (NIM_BOOL)0; LOC773 = ((*(*c0).callee).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10)); if (!(LOC773)) goto LA774; LOC773 = ((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12)); LA774: ; LOC772 = LOC773; if (!(LOC772)) goto LA775; LOC772 = !((*c0).typedescmatched); LA775: ; if (!LOC772) goto LA776; { if (!(((*a0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 25))&31U)))!=0)) goto LA780; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA778; LA780: ; { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA783; { NI LOC787; LOC787 = (NI)0; LOC787 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(f0); if (!(LOC787 == ((NI) 0))) goto LA788; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA785; LA788: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* aa0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC804; { NIM_BOOL LOC793; NIM_BOOL LOC794; NimStringDesc* LOC798; LOC793 = (NIM_BOOL)0; LOC794 = (NIM_BOOL)0; LOC794 = HEX3DHEX3D_59b802owH8LncWkMg9cCE3ng((*a0).sons, NIM_NIL); LOC793 = !(LOC794); if (!(LOC793)) goto LA795; LOC793 = (((NI) 0) < ((*a0).sons ? (*a0).sons->Sup.len : 0)); LA795: ; if (!!(LOC793)) goto LA796; LOC798 = (NimStringDesc*)0; LOC798 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_EV5hHJmjIY9cla9b9be7fSVJQ_22); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC798); } LA796: ; (*c0).typedescmatched = NIM_TRUE; aa0 = a0; { while (1) { NIM_BOOL LOC801; NI LOC803; LOC801 = (NIM_BOOL)0; LOC801 = ((4352 &((NU64)1<<((NU)((*aa0).kind)&63U)))!=0); if (!(LOC801)) goto LA802; LOC803 = (NI)0; LOC803 = len_gG7hUAX9cA629ahMLVL3xN4w_2(aa0); LOC801 = (((NI) 0) < LOC803); LA802: ; if (!LOC801) goto LA800; aa0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(aa0); } LA800: ; } LOC804 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC804 = base_46gPaVDDGhiU69b2oKDJZuA(f0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC804, aa0, NIM_TRUE); { if (!(((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8) < result0)) goto LA807; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } LA807: ; } LA785: ; } goto LA778; LA783: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA778: ; } goto LA770; LA776: ; { { NIM_BOOL LOC813; NI LOC814; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC818; LOC813 = (NIM_BOOL)0; LOC814 = (NI)0; LOC814 = sonslen_gG7hUAX9cA629ahMLVL3xN4w(f0); LOC813 = (((NI) 0) < LOC814); if (!(LOC813)) goto LA815; LOC813 = !(((*(*f0).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0))); LA815: ; if (!LOC813) goto LA816; LOC818 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC818 = lastson_E41DMKHtT9c6sAMyyvhmSIw(f0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC818, a0, NIM_TRUE); { NIM_BOOL LOC821; Ttype_LTUWCZolpovw9cWE3JBWSUw* concrete0; LOC821 = (NIM_BOOL)0; LOC821 = dobind0; if (!(LOC821)) goto LA822; LOC821 = !(((257 &(1U<<((NU)(result0)&15U)))!=0)); LA822: ; if (!LOC821) goto LA823; concrete0 = concretetype_LygDqx9ccbKjtPzfFJFniJQ((&(*c0)), a0); { if (!(concrete0 == NIM_NIL)) goto LA827; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA827: ; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, concrete0); } LA823: ; } goto LA811; LA816: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } LA811: ; } LA770: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* concrete0; if (!(result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8))) goto LA832; concrete0 = a0; { if (!(((*a0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 25))&31U)))!=0)) goto LA836; (*(*a0).sym).kind = ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7); (*a0).flags &= ~(((NU32)1) << ((((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 25)) % (sizeof(NU32)*8))); } goto LA834; LA836: ; { concrete0 = concretetype_LygDqx9ccbKjtPzfFJFniJQ((&(*c0)), a0); { if (!(concrete0 == NIM_NIL)) goto LA841; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA841: ; } LA834: ; { if (!dobind0) goto LA845; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, concrete0); } LA845: ; } goto LA830; LA832: ; { if (!(((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8) < result0)) goto LA848; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA830; LA848: ; LA830: ; } goto LA766; LA768: ; { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA851; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA766; LA851: ; { if (!((*x0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA854; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA766; LA854: ; { result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, x0, a0, NIM_TRUE); { if (!(((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8) < result0)) goto LA859; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } LA859: ; } LA766: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59): { Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC862; TNimObject* LOC863; LOC862 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC862 = &f0->Sup; LOC863 = (TNimObject*)0; LOC863 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC862); prev0 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC863)); { if (!(prev0 == NIM_NIL)) goto LA866; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC872; if (!((*aorig0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA870; LOC872 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC872 = lastson_E41DMKHtT9c6sAMyyvhmSIw(f0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC872, a0, NIM_TRUE); { NIM_BOOL LOC875; LOC875 = (NIM_BOOL)0; LOC875 = !((result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0))); if (!(LOC875)) goto LA876; LOC875 = !(((*f0).n == NIM_NIL)); LA876: ; if (!LOC875) goto LA877; { NIM_BOOL LOC881; LOC881 = (NIM_BOOL)0; LOC881 = exprstructuralequivalent_XApnXRaD9btY9a4pkMO0ITTg((*f0).n, (*aorig0).n, NIM_FALSE); if (!!(LOC881)) goto LA882; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA882: ; } LA877: ; { if (!!((result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0)))) goto LA886; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, aorig0); } LA886: ; } goto LA868; LA870: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA868: ; } goto LA864; LA866: ; { if (!((*prev0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA890; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC896; if (!((*aorig0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA894; LOC896 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC896 = lastson_E41DMKHtT9c6sAMyyvhmSIw(prev0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC896, a0, NIM_TRUE); { NIM_BOOL LOC899; LOC899 = (NIM_BOOL)0; LOC899 = !((result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0))); if (!(LOC899)) goto LA900; LOC899 = !(((*prev0).n == NIM_NIL)); LA900: ; if (!LOC899) goto LA901; { NIM_BOOL LOC905; LOC905 = (NIM_BOOL)0; LOC905 = exprstructuralequivalent_XApnXRaD9btY9a4pkMO0ITTg((*prev0).n, (*aorig0).n, NIM_FALSE); if (!!(LOC905)) goto LA906; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA906: ; } LA901: ; } goto LA892; LA894: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA892: ; } goto LA864; LA890: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA864: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): { Ttype_LTUWCZolpovw9cWE3JBWSUw* prev0; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC911; TNimObject* LOC912; LOC911 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC911 = &f0->Sup; LOC912 = (TNimObject*)0; LOC912 = idtableget_D12lVDWWPrKae8szg3EYLw((*c0).bindings, LOC911); prev0 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC912)); { if (!(prev0 == NIM_NIL)) goto LA915; { if (!!(((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA919; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); goto BeforeRet; } LA919: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC923; LOC923 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC923 = base_46gPaVDDGhiU69b2oKDJZuA(f0); if (!((*LOC923).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA924; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } goto LA921; LA924: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC927; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC928; LOC927 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC927 = base_46gPaVDDGhiU69b2oKDJZuA(f0); LOC928 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC928 = base_46gPaVDDGhiU69b2oKDJZuA(a0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC927, LOC928, NIM_TRUE); } LA921: ; { if (!!((result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0)))) goto LA931; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, a0); } LA931: ; } goto LA913; LA915: ; { { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC938; if (!(((*f0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 9))&31U)))!=0)) goto LA936; LOC938 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC938 = base_46gPaVDDGhiU69b2oKDJZuA(prev0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC938, a0, NIM_TRUE); } goto LA934; LA936: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC942; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC943; if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA940; LOC942 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC942 = base_46gPaVDDGhiU69b2oKDJZuA(prev0); LOC943 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC943 = base_46gPaVDDGhiU69b2oKDJZuA(a0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, LOC942, LOC943, NIM_TRUE); } goto LA934; LA940: ; { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA934: ; } LA913: ; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7): { { NIM_BOOL LOC948; LOC948 = (NIM_BOOL)0; LOC948 = !((aorig0 == NIM_NIL)); if (!(LOC948)) goto LA949; LOC948 = !((((*f0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 0))&31U)))!=0)); LA949: ; if (!LOC948) goto LA950; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, f0, aorig0); } LA950: ; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50): { result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 60): { Tnode_bROa11lyF5vxEN9aYNbHmhw* reevaluated0; { NIM_BOOL LOC956; LOC956 = (NIM_BOOL)0; LOC956 = ((*f0).n == NIM_NIL); if (LOC956) goto LA957; LOC956 = ((*(*f0).n).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); LA957: ; if (!LOC956) goto LA958; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8); goto BeforeRet; } LA958: ; reevaluated0 = tryresolvingstaticexpr_9c6ZlcqOU7h9ajbZLjoxOM0w(c0, (*f0).n); switch ((*(*reevaluated0).typ).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC961; LOC961 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC961 = base_46gPaVDDGhiU69b2oKDJZuA((*reevaluated0).typ); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, a0, LOC961, NIM_TRUE); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59): { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC963; LOC963 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC963 = base_46gPaVDDGhiU69b2oKDJZuA((*reevaluated0).typ); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(c0, a0, LOC963, NIM_TRUE); { NIM_BOOL LOC966; LOC966 = (NIM_BOOL)0; LOC966 = !((result0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0))); if (!(LOC966)) goto LA967; LOC966 = !(((*(*reevaluated0).typ).n == NIM_NIL)); LA967: ; if (!LOC966) goto LA968; { NIM_BOOL LOC972; LOC972 = (NIM_BOOL)0; LOC972 = exprstructuralequivalent_XApnXRaD9btY9a4pkMO0ITTg((*aorig0).n, (*(*reevaluated0).typ).n, NIM_FALSE); if (!!(LOC972)) goto LA973; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } LA973: ; } LA968: ; } break; default: { localerror_VpilfPWbplGz6ny7O9cfr2g((*(*f0).n).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 66), ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_11)); result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0); } break; } } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0): { { if (!((*a0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA979; result0 = ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10); } LA979: ; } break; default: { NimStringDesc* LOC982; LOC982 = (NimStringDesc*)0; LOC982 = rawNewString(reprEnum((NI)(*f0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag))->Sup.len + 19); appendString(LOC982, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_23)); appendString(LOC982, reprEnum((NI)(*f0).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag))); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC982); } break; } }BeforeRet: ; return result0; } N_NIMCALL(void, incmatches_pC7j2mDtrjUpKOb1X8xk5A)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttyperelation_1IMf5P083XuEtWGxYaIXyQ r0, NI convmatch0) { switch (r0) { case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1): case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 2): { (*m0).convmatches += convmatch0; } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3): case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 4): { (*m0).subtypematches += ((NI) 1); } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8): case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 6): case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 5): { (*m0).genericmatches += ((NI) 1); } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 9): { (*m0).intconvmatches += ((NI) 256); } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 7): { (*m0).convmatches += ((NI) 1); } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10): { (*m0).exactmatches += ((NI) 1); } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0): { } break; } } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, getinstantiatedtype_4yLeA9cfYvM0ZfKPSGqCZCg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Tidobj_raN9cHVgzmvaXisezY9aGg9cg* LOC1; TNimObject* LOC2; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = (Tidobj_raN9cHVgzmvaXisezY9aGg9cg*)0; LOC1 = &f0->Sup; LOC2 = (TNimObject*)0; LOC2 = idtableget_D12lVDWWPrKae8szg3EYLw((*m0).bindings, LOC1); result0 = ((Ttype_LTUWCZolpovw9cWE3JBWSUw*) (LOC2)); { if (!(result0 == NIM_NIL)) goto LA5; result0 = generatetypeinstance_J1KXEIMiOMsSsHjeCCCXbQ(c0, (*m0).bindings, (*arg0).info, f0); } LA5: ; { if (!(result0 == NIM_NIL)) goto LA9; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*arg0).info, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_26)); result0 = errortype_ShA6p2jJG1xQ4GbGPvr38g(c0); } LA9: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, implicitconv_ttBE689bA8zSgXJt6wtOZGA)(Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw kind0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(kind0, (*arg0).info); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = containsgenerictype_Xhr5Lz1SR4KhD6lSHAyGDA(f0); if (!LOC3) goto LA4; { if (!!(!(((*m0).fauxmatch == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 0))))) goto LA8; asgnRefNoCycle((void**) (&(*result0).typ), getinstantiatedtype_4yLeA9cfYvM0ZfKPSGqCZCg(c0, arg0, m0, f0)); } goto LA6; LA8: ; { asgnRefNoCycle((void**) (&(*result0).typ), errortype_ShA6p2jJG1xQ4GbGPvr38g(c0)); } LA6: ; } goto LA1; LA4: ; { asgnRefNoCycle((void**) (&(*result0).typ), f0); } LA1: ; { if (!((*result0).typ == NIM_NIL)) goto LA14; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*arg0).info, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_27)); } LA14: ; addson_gCCf68XrWL79bKes6htzFjQ(result0, emptynode_69ccLGuQ2mITw7zylZYtWcA); addson_gCCf68XrWL79bKes6htzFjQ(result0, arg0); return result0; } N_NIMCALL(void, markused_Ue6rwV8sAT8uVT9cT5cip9aA)(Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0) { (*s0).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 19)); if (!(LOC3)) goto LA4; LOC3 = !(((*s0).owner == NIM_NIL)); LA4: ; if (!LOC3) goto LA5; (*(*s0).owner).flags |= ((NU32)1)<<((((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 0))%(sizeof(NU32)*8)); } LA5: ; { if (!!(((1572864 & (*s0).flags) == 0))) goto LA9; { if (!(((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 19))&31U)))!=0)) goto LA13; message_VpilfPWbplGz6ny7O9cfr2g_2(info0, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 240), (*(*s0).name).s); } LA13: ; { if (!(((*s0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 20))&31U)))!=0)) goto LA17; localerror_VpilfPWbplGz6ny7O9cfr2g(info0, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 225), (*(*s0).name).s); } LA17: ; } LA9: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, userconvmatch_fnGSh6c9cvB9b6ahDjUpd9aAA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = NIM_NIL; { NI i_iHyWoy2zwgmVQl0tkqpbAg; NI HEX3Atmp_jvqUW9cUS0almkMUwKZjBRQ; NI res_duF1a3HvliYTU6en30LrHw; i_iHyWoy2zwgmVQl0tkqpbAg = (NI)0; HEX3Atmp_jvqUW9cUS0almkMUwKZjBRQ = (NI)0; HEX3Atmp_jvqUW9cUS0almkMUwKZjBRQ = (NI)(((*c0).converters ? (*c0).converters->Sup.len : 0) - ((NI) 1)); res_duF1a3HvliYTU6en30LrHw = ((NI) 0); { while (1) { if (!(res_duF1a3HvliYTU6en30LrHw <= HEX3Atmp_jvqUW9cUS0almkMUwKZjBRQ)) goto LA3; i_iHyWoy2zwgmVQl0tkqpbAg = res_duF1a3HvliYTU6en30LrHw; { Ttype_LTUWCZolpovw9cWE3JBWSUw* src0; Ttype_LTUWCZolpovw9cWE3JBWSUw* dest0; Ttyperelation_1IMf5P083XuEtWGxYaIXyQ srca0; NIM_BOOL destisgeneric0; Ttyperelation_1IMf5P083XuEtWGxYaIXyQ fdest0; src0 = (*(*(*c0).converters->data[i_iHyWoy2zwgmVQl0tkqpbAg]).typ).sons->data[((NI) 1)]; dest0 = (*(*(*c0).converters->data[i_iHyWoy2zwgmVQl0tkqpbAg]).typ).sons->data[((NI) 0)]; srca0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(m0, src0, a0, NIM_TRUE); { if (!!(((1280 &(1U<<((NU)(srca0)&15U)))!=0))) goto LA7; goto LA4; } LA7: ; destisgeneric0 = containsgenerictype_Xhr5Lz1SR4KhD6lSHAyGDA(dest0); { if (!destisgeneric0) goto LA11; dest0 = generatetypeinstance_J1KXEIMiOMsSsHjeCCCXbQ(c0, (*m0).bindings, (*arg0).info, dest0); } LA11: ; fdest0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(m0, f0, dest0, NIM_TRUE); { Tnode_bROa11lyF5vxEN9aYNbHmhw* s0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC17; NIM_BOOL LOC18; if (!((1280 &(1U<<((NU)(fdest0)&15U)))!=0)) goto LA15; markused_Ue6rwV8sAT8uVT9cT5cip9aA((*arg0).info, (*c0).converters->data[i_iHyWoy2zwgmVQl0tkqpbAg]); s0 = newsymnode_1ARBpggFQuvUDBVYjBelcw((*c0).converters->data[i_iHyWoy2zwgmVQl0tkqpbAg]); asgnRefNoCycle((void**) (&(*s0).typ), (*(*c0).converters->data[i_iHyWoy2zwgmVQl0tkqpbAg]).typ); (*s0).info = (*arg0).info; result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32), (*arg0).info, dest0); addson_gCCf68XrWL79bKes6htzFjQ(result0, s0); LOC17 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC17 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(arg0); addson_gCCf68XrWL79bKes6htzFjQ(result0, LOC17); (*m0).convmatches += ((NI) 1); LOC18 = (NIM_BOOL)0; LOC18 = (srca0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8)); if (LOC18) goto LA19; LOC18 = destisgeneric0; LA19: ; (*m0).genericconverter = LOC18; goto BeforeRet; } LA15: ; } LA4: ; res_duF1a3HvliYTU6en30LrHw += ((NI) 1); } LA3: ; } } }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, localconvmatch_fnGSh6c9cvB9b6ahDjUpd9aAA_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* call0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC11; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC12; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!((*arg0).typ == 0)) goto LA3; result0 = NIM_NIL; goto BeforeRet; } LA3: ; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = (f0 == (*arg0).typ); if (!(LOC7)) goto LA8; LOC7 = ((*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58)); LA8: ; if (!LOC7) goto LA9; result0 = arg0; goto BeforeRet; } LA9: ; call0 = newnodei_PIqgSH9b0m7nFpOyXf9cpz5w(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27), (*arg0).info); LOC11 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC11 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*f0).n); add_gCCf68XrWL79bKes6htzFjQ_3(call0, LOC11); LOC12 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC12 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(arg0); add_gCCf68XrWL79bKes6htzFjQ_3(call0, LOC12); result0 = (*c0).semexpr(c0, call0, 0); { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ r0; if (!!((result0 == NIM_NIL))) goto LA15; { if (!((*result0).typ == NIM_NIL)) goto LA19; result0 = NIM_NIL; goto BeforeRet; } LA19: ; r0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(m0, (*f0).sons->data[((NI) 0)], (*result0).typ, NIM_TRUE); { if (!(r0 < ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8))) goto LA23; result0 = NIM_NIL; goto BeforeRet; } LA23: ; { if (!((*result0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27))) goto LA27; (*result0).kind = ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32); } LA27: ; (*m0).convmatches += ((NI) 1); { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC33; if (!(r0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8))) goto LA31; LOC33 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC33 = base_46gPaVDDGhiU69b2oKDJZuA(f0); asgnRefNoCycle((void**) (&(*result0).typ), getinstantiatedtype_4yLeA9cfYvM0ZfKPSGqCZCg(c0, arg0, (&(*m0)), LOC33)); } LA31: ; (*m0).basetypematch = NIM_TRUE; } LA15: ; }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, paramtypesmatchaux_VRvPGOe1y6zeZJmJzzQbsQ)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* argtype_tI9cURCfcfMTZX8vYUIdGDg, Tnode_bROa11lyF5vxEN9aYNbHmhw* argsemantized0, Tnode_bROa11lyF5vxEN9aYNbHmhw* argorig0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* fmaybestatic0; Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0; Ttype_LTUWCZolpovw9cWE3JBWSUw* argtype0; Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0; Ttype_LTUWCZolpovw9cWE3JBWSUw* a0; Ttyperelation_1IMf5P083XuEtWGxYaIXyQ r0; NI bothmetacounter0; NI lastbindingslength0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; fmaybestatic0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(f0, 8192); arg0 = argsemantized0; argtype0 = argtype_tI9cURCfcfMTZX8vYUIdGDg; c0 = (*m0).c; { if (!(((*fmaybestatic0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 22))&31U)))!=0)) goto LA3; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = ((*argtype0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12)); if (!(LOC7)) goto LA8; LOC7 = (((*argtype0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 25))&31U)))!=0); LA8: ; if (!LOC7) goto LA9; assigntype_50w9aT349c89bOXl19bOrS5HnA(argtype0, f0); result0 = argsemantized0; goto BeforeRet; } LA9: ; { if (!((*argtype0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA13; { NIM_BOOL LOC17; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC21; LOC17 = (NIM_BOOL)0; LOC17 = ((*(*m0).callee).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10)); if (!(LOC17)) goto LA18; LOC17 = !((((*argtype0).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 23))&31U)))!=0)); LA18: ; if (!LOC17) goto LA19; LOC21 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC21 = maketypefromexpr_i8yLSSLd36fdLF9a4Nc0aeg(c0, arg0); result0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 4), (*argorig0).info, LOC21); goto BeforeRet; } LA19: ; } goto LA11; LA13: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* evaluated0; evaluated0 = (*c0).semtryconstexpr(c0, arg0); { TY_BF9aKj6RAH9ccQDWaEKQ1HOw LOC27; if (!!((evaluated0 == NIM_NIL))) goto LA25; asgnRefNoCycle((void**) (&(*arg0).typ), newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59), c0)); if ((*(*arg0).typ).sons) nimGCunrefNoCycle((*(*arg0).typ).sons); (*(*arg0).typ).sons = (TY_zuqP4Riz26Oi5fWgPYVEgA*) newSeqRC1((&NTI_zuqP4Riz26Oi5fWgPYVEgA), 1); memset((void*)LOC27, 0, sizeof(LOC27)); LOC27[0] = (*evaluated0).typ; asgnRefNoCycle((void**) (&(*(*arg0).typ).sons->data[0]), LOC27[0]); asgnRefNoCycle((void**) (&(*(*arg0).typ).n), evaluated0); argtype0 = (*arg0).typ; } LA25: ; } LA11: ; } LA3: ; a0 = argtype0; r0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(m0, f0, a0, NIM_TRUE); { NIM_BOOL LOC30; NIM_BOOL LOC31; LOC30 = (NIM_BOOL)0; LOC31 = (NIM_BOOL)0; LOC31 = !((r0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0))); if (!(LOC31)) goto LA32; LOC31 = !(((*m0).calleesym == NIM_NIL)); LA32: ; LOC30 = LOC31; if (!(LOC30)) goto LA33; LOC30 = ((196608 &(1U<<((NU)((*(*m0).calleesym).kind)&31U)))!=0); LA33: ; if (!LOC30) goto LA34; incmatches_pC7j2mDtrjUpKOb1X8xk5A(m0, r0, ((NI) 1)); { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA38; result0 = arg0; goto BeforeRet; } goto LA36; LA38: ; { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA41; result0 = arg0; goto BeforeRet; } goto LA36; LA41: ; { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA44; result0 = (*(*arg0).typ).n; goto BeforeRet; } goto LA36; LA44: ; { result0 = argsemantized0; goto BeforeRet; } LA36: ; } LA34: ; bothmetacounter0 = ((NI) 0); lastbindingslength0 = ((NI) -1); { while (1) { NIM_BOOL LOC49; NIM_BOOL LOC50; LOC49 = (NIM_BOOL)0; LOC50 = (NIM_BOOL)0; LOC50 = (r0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 5)); if (!(LOC50)) goto LA51; LOC50 = !((lastbindingslength0 == (*m0).bindings.counter)); LA51: ; LOC49 = LOC50; if (!(LOC49)) goto LA52; LOC49 = (bothmetacounter0 < ((NI) 100)); LA52: ; if (!LOC49) goto LA48; lastbindingslength0 = (*m0).bindings.counter; bothmetacounter0 += ((NI) 1); { if (!((*arg0).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*arg0).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 79) || (*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 84))) goto LA55; result0 = (*c0).seminferredlambda.ClEnv? (*c0).seminferredlambda.ClPrc(c0, (*m0).bindings, arg0, (*c0).seminferredlambda.ClEnv):((T_EV5hHJmjIY9cla9b9be7fSVJQ_24)((*c0).seminferredlambda.ClPrc))(c0, (*m0).bindings, arg0); } goto LA53; LA55: ; { if (!!(((*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA58; result0 = NIM_NIL; goto BeforeRet; } goto LA53; LA58: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* inferred0; inferred0 = (*c0).semgenerateinstance.ClEnv? (*c0).semgenerateinstance.ClPrc(c0, (*arg0).kindU.S4.sym, (*m0).bindings, (*arg0).info, (*c0).semgenerateinstance.ClEnv):((T_EV5hHJmjIY9cla9b9be7fSVJQ_25)((*c0).semgenerateinstance.ClPrc))(c0, (*arg0).kindU.S4.sym, (*m0).bindings, (*arg0).info); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(inferred0, (*arg0).info); } LA53: ; (*m0).convmatches += ((NI) 1); arg0 = result0; r0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(m0, f0, (*arg0).typ, NIM_TRUE); } LA48: ; } switch (r0) { case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 1): { (*m0).convmatches += ((NI) 1); result0 = implicitconv_ttBE689bA8zSgXJt6wtOZGA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58), f0, arg0, (&(*m0)), c0); } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 2): { (*m0).intconvmatches += ((NI) 1); result0 = implicitconv_ttBE689bA8zSgXJt6wtOZGA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58), f0, arg0, (&(*m0)), c0); } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 3): { (*m0).subtypematches += ((NI) 1); { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA66; result0 = arg0; } goto LA64; LA66: ; { result0 = implicitconv_ttBE689bA8zSgXJt6wtOZGA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59), f0, arg0, (&(*m0)), c0); } LA64: ; } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 4): { (*m0).subtypematches += ((NI) 1); { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA72; result0 = arg0; } goto LA70; LA72: ; { result0 = implicitconv_ttBE689bA8zSgXJt6wtOZGA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58), f0, arg0, (&(*m0)), c0); } LA70: ; } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 6): case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 7): { { if (!((*arg0).kind >= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 51) && (*arg0).kind <= ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52) || (*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 79) || (*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 84))) goto LA78; result0 = (*c0).seminferredlambda.ClEnv? (*c0).seminferredlambda.ClPrc(c0, (*m0).bindings, arg0, (*c0).seminferredlambda.ClEnv):((T_EV5hHJmjIY9cla9b9be7fSVJQ_28)((*c0).seminferredlambda.ClPrc))(c0, (*m0).bindings, arg0); } goto LA76; LA78: ; { if (!!(((*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA81; result0 = NIM_NIL; goto BeforeRet; } goto LA76; LA81: ; { Tsym_AXG7xcvKqaxY6koRX1xkCw* inferred0; inferred0 = (*c0).semgenerateinstance.ClEnv? (*c0).semgenerateinstance.ClPrc(c0, (*arg0).kindU.S4.sym, (*m0).bindings, (*arg0).info, (*c0).semgenerateinstance.ClEnv):((T_EV5hHJmjIY9cla9b9be7fSVJQ_29)((*c0).semgenerateinstance.ClPrc))(c0, (*arg0).kindU.S4.sym, (*m0).bindings, (*arg0).info); result0 = newsymnode_slQ2jWOFI1ND3N9c79b7b18g(inferred0, (*arg0).info); } LA76: ; { if (!(r0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 7))) goto LA86; (*m0).convmatches += ((NI) 1); result0 = implicitconv_ttBE689bA8zSgXJt6wtOZGA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58), f0, result0, (&(*m0)), c0); } goto LA84; LA86: ; { (*m0).genericmatches += ((NI) 1); } LA84: ; } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8): { (*m0).genericmatches += ((NI) 1); { if (!((*arg0).typ == NIM_NIL)) goto LA92; result0 = arg0; } goto LA90; LA92: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC95; LOC95 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC95 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*arg0).typ, 8431632); if (!((*LOC95).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA96; result0 = implicitconv_ttBE689bA8zSgXJt6wtOZGA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59), f0, arg0, (&(*m0)), c0); } goto LA90; LA96: ; { NIM_BOOL LOC99; LOC99 = (NIM_BOOL)0; LOC99 = isemptycontainer_XI7vH8jtAcp7rWqTmfZOSg_3((*arg0).typ); if (!LOC99) goto LA100; result0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(arg0); asgnRefNoCycle((void**) (&(*result0).typ), getinstantiatedtype_4yLeA9cfYvM0ZfKPSGqCZCg(c0, arg0, (&(*m0)), f0)); } goto LA90; LA100: ; { result0 = arg0; } LA90: ; } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 5): { result0 = NIM_NIL; } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 9): { (*m0).intconvmatches += ((NI) 256); result0 = implicitconv_ttBE689bA8zSgXJt6wtOZGA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58), f0, arg0, (&(*m0)), c0); } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 10): { (*m0).exactmatches += ((NI) 1); result0 = arg0; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC108; LOC108 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC108 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(f0, 8431632); if (!((262144 &((NU64)1<<((NU)((*LOC108).kind)&63U)))!=0)) goto LA109; result0 = implicitconv_ttBE689bA8zSgXJt6wtOZGA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 59), f0, arg0, (&(*m0)), c0); } LA109: ; } break; case ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0): { { if (!((IL64(1154047404513689600) &((NU64)1<<((NU)((*a0).kind)&63U)))!=0)) goto LA114; (*m0).genericmatches += ((NI) 1); (*m0).fauxmatch = (*a0).kind; result0 = arg0; goto BeforeRet; } LA114: ; result0 = userconvmatch_fnGSh6c9cvB9b6ahDjUpd9aAA(c0, m0, f0, a0, arg0); { NIM_BOOL LOC118; LOC118 = (NIM_BOOL)0; LOC118 = (result0 == NIM_NIL); if (!(LOC118)) goto LA119; LOC118 = ((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48)); LA119: ; if (!LOC118) goto LA120; { if (!!(((*f0).n == NIM_NIL))) goto LA124; result0 = localconvmatch_fnGSh6c9cvB9b6ahDjUpd9aAA_2(c0, m0, f0, a0, arg0); } goto LA122; LA124: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC127; LOC127 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC127 = base_46gPaVDDGhiU69b2oKDJZuA(f0); r0 = typerel_0fsYV9bVZA2eXpHTIQspjZA(m0, LOC127, a0, NIM_TRUE); { if (!(((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8) <= r0)) goto LA130; (*m0).convmatches += ((NI) 1); result0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2(arg0); { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC136; if (!(r0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 8))) goto LA134; LOC136 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC136 = base_46gPaVDDGhiU69b2oKDJZuA(f0); asgnRefNoCycle((void**) (&(*result0).typ), getinstantiatedtype_4yLeA9cfYvM0ZfKPSGqCZCg(c0, arg0, (&(*m0)), LOC136)); } LA134: ; (*m0).basetypematch = NIM_TRUE; } goto LA128; LA130: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC138; LOC138 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC138 = base_46gPaVDDGhiU69b2oKDJZuA(f0); result0 = userconvmatch_fnGSh6c9cvB9b6ahDjUpd9aAA(c0, m0, LOC138, a0, arg0); { if (!!((result0 == NIM_NIL))) goto LA141; (*m0).basetypematch = NIM_TRUE; } LA141: ; } LA128: ; } LA122: ; } LA120: ; } break; } }BeforeRet: ; return result0; } N_NIMCALL(void, copycandidate_pupnwSeNO1uiPChHifpilQ)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* a0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* b0) { unsureAsgnRef((void**) (&(*a0).c), (*b0).c); (*a0).exactmatches = (*b0).exactmatches; (*a0).subtypematches = (*b0).subtypematches; (*a0).convmatches = (*b0).convmatches; (*a0).intconvmatches = (*b0).intconvmatches; (*a0).genericmatches = (*b0).genericmatches; (*a0).state = (*b0).state; unsureAsgnRef((void**) (&(*a0).callee), (*b0).callee); unsureAsgnRef((void**) (&(*a0).calleesym), (*b0).calleesym); unsureAsgnRef((void**) (&(*a0).call), copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*b0).call)); (*a0).basetypematch = (*b0).basetypematch; copyidtable_PAWgxjpTWlqAOeehMcKZ0w((&(*a0).bindings), (*b0).bindings); } static N_NIMCALL(void, Marker_TY_xITzrU1RhJLKwBlRCAbn9bA)(void* p, NI op) { TY_xITzrU1RhJLKwBlRCAbn9bA* a; NI LOC1; a = (TY_xITzrU1RhJLKwBlRCAbn9bA*)p; LOC1 = (NI)0; for (LOC1 = 0; LOC1 < a->Sup.len; LOC1++) { nimGCvisit((void*)a->data[LOC1].Field0, op); } } N_NIMCALL(NI, sumgeneric_3yGddmiezmYo8RY02I0sJQ)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t_D7m3YNJLIYTykWw0m4MtHQ) { NI result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; NI isvar0; { result0 = (NI)0; t0 = t_D7m3YNJLIYTykWw0m4MtHQ; isvar0 = ((NI) 1); { while (1) { switch ((*t0).kind) { case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 11): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 22): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 21): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 13): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 27): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 19): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 20): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 24): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10): { t0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); result0 += ((NI) 1); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23): { t0 = (*t0).sons->data[((NI) 0)]; result0 += ((NI) 1); isvar0 += ((NI) 1); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8): { t0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); { if (!((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA8; goto LA1; } LA8: ; result0 += ((NI) 1); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 25): { result0 += ((NI) (((*t0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 9)))); { NI i_JRuQzEDcl9cBDGv18nQAfkg; NI HEX3Atmp_sJF9bVZkLS9cOOWlc8pxwgtQ; NI LOC12; NI res_vspXIWwFhtxIiCmZGdU4UQ; i_JRuQzEDcl9cBDGv18nQAfkg = (NI)0; HEX3Atmp_sJF9bVZkLS9cOOWlc8pxwgtQ = (NI)0; LOC12 = (NI)0; LOC12 = len_gG7hUAX9cA629ahMLVL3xN4w_2(t0); HEX3Atmp_sJF9bVZkLS9cOOWlc8pxwgtQ = (LOC12 - 1); res_vspXIWwFhtxIiCmZGdU4UQ = ((NI) 0); { while (1) { if (!(res_vspXIWwFhtxIiCmZGdU4UQ <= HEX3Atmp_sJF9bVZkLS9cOOWlc8pxwgtQ)) goto LA14; i_JRuQzEDcl9cBDGv18nQAfkg = res_vspXIWwFhtxIiCmZGdU4UQ; { NI LOC19; if (!!(((*t0).sons->data[i_JRuQzEDcl9cBDGv18nQAfkg] == NIM_NIL))) goto LA17; LOC19 = (NI)0; LOC19 = sumgeneric_3yGddmiezmYo8RY02I0sJQ((*t0).sons->data[i_JRuQzEDcl9cBDGv18nQAfkg]); result0 += LOC19; } LA17: ; res_vspXIWwFhtxIiCmZGdU4UQ += ((NI) 1); } LA14: ; } } goto LA1; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 12): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 59): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 7): { goto LA1; } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 4): { t0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(t0); } break; case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 1): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 2): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 26): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 35): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 39): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 44): case ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 54): { result0 = isvar0; goto BeforeRet; } break; default: { result0 = ((NI) 0); goto BeforeRet; } break; } } } LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(NI, complexdisambiguation_QYrRv9bDF6IEx6OHay7hPpg)(Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Ttype_LTUWCZolpovw9cWE3JBWSUw* b0) { NI result0; NI winner0; { result0 = (NI)0; winner0 = ((NI) 0); { NI i_mAd1hkSNkiD7429cuVI04GQ; NI HEX3Atmp_MzaYybhfqCyzRFRtnmdBuA; NI LOC2; NI LOC3; NI res_KRO9cHAC6eHOiinpsPfw6LA; i_mAd1hkSNkiD7429cuVI04GQ = (NI)0; HEX3Atmp_MzaYybhfqCyzRFRtnmdBuA = (NI)0; LOC2 = (NI)0; LOC2 = len_gG7hUAX9cA629ahMLVL3xN4w_2(a0); LOC3 = (NI)0; LOC3 = len_gG7hUAX9cA629ahMLVL3xN4w_2(b0); HEX3Atmp_MzaYybhfqCyzRFRtnmdBuA = (((LOC2 <= LOC3) ? LOC2 : LOC3) - 1); res_KRO9cHAC6eHOiinpsPfw6LA = ((NI) 1); { while (1) { NI x0; NI y0; if (!(res_KRO9cHAC6eHOiinpsPfw6LA <= HEX3Atmp_MzaYybhfqCyzRFRtnmdBuA)) goto LA5; i_mAd1hkSNkiD7429cuVI04GQ = res_KRO9cHAC6eHOiinpsPfw6LA; x0 = sumgeneric_3yGddmiezmYo8RY02I0sJQ((*a0).sons->data[i_mAd1hkSNkiD7429cuVI04GQ]); y0 = sumgeneric_3yGddmiezmYo8RY02I0sJQ((*b0).sons->data[i_mAd1hkSNkiD7429cuVI04GQ]); { if (!!((x0 == y0))) goto LA8; { if (!(winner0 == ((NI) 0))) goto LA12; { if (!(y0 < x0)) goto LA16; winner0 = ((NI) 1); } goto LA14; LA16: ; { winner0 = ((NI) -1); } LA14: ; } goto LA10; LA12: ; { if (!(y0 < x0)) goto LA20; { if (!!((winner0 == ((NI) 1)))) goto LA24; result0 = ((NI) 0); goto BeforeRet; } LA24: ; } goto LA10; LA20: ; { { if (!!((winner0 == ((NI) -1)))) goto LA29; result0 = ((NI) 0); goto BeforeRet; } LA29: ; } LA10: ; } LA8: ; res_KRO9cHAC6eHOiinpsPfw6LA += ((NI) 1); } LA5: ; } } result0 = winner0; }BeforeRet: ; return result0; } N_NIMCALL(NI, cmpcandidates_y6m9bhhlwHAuzsfu0xg0hDQ)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* a0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* b0) { NI result0; { result0 = (NI)0; result0 = (NI)((*a0).exactmatches - (*b0).exactmatches); { if (!!((result0 == ((NI) 0)))) goto LA3; goto BeforeRet; } LA3: ; result0 = (NI)((*a0).genericmatches - (*b0).genericmatches); { if (!!((result0 == ((NI) 0)))) goto LA7; goto BeforeRet; } LA7: ; result0 = (NI)((*a0).subtypematches - (*b0).subtypematches); { if (!!((result0 == ((NI) 0)))) goto LA11; goto BeforeRet; } LA11: ; result0 = (NI)((*a0).intconvmatches - (*b0).intconvmatches); { if (!!((result0 == ((NI) 0)))) goto LA15; goto BeforeRet; } LA15: ; result0 = (NI)((*a0).convmatches - (*b0).convmatches); { if (!!((result0 == ((NI) 0)))) goto LA19; goto BeforeRet; } LA19: ; result0 = (NI)((*b0).inheritancepenalty - (*a0).inheritancepenalty); { if (!!((result0 == ((NI) 0)))) goto LA23; goto BeforeRet; } LA23: ; result0 = complexdisambiguation_QYrRv9bDF6IEx6OHay7hPpg((*a0).callee, (*b0).callee); { if (!!((result0 == ((NI) 0)))) goto LA27; goto BeforeRet; } LA27: ; result0 = (NI)((*a0).calleescope - (*b0).calleescope); }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, paramtypesmatch_4oz468xMSO9cYY9cQWwg7YHg)(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0, Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0, Tnode_bROa11lyF5vxEN9aYNbHmhw* argorig0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = (arg0 == NIM_NIL); if (LOC3) goto LA4; LOC3 = !(((*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57))); LA4: ; if (!LOC3) goto LA5; result0 = paramtypesmatchaux_VRvPGOe1y6zeZJmJzzQbsQ(m0, f0, a0, arg0, argorig0); } goto LA1; LA5: ; { Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA x0; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA y0; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA z0; NI best0; c0 = (*m0).c; memset((void*)(&x0), 0, sizeof(x0)); memset((void*)(&y0), 0, sizeof(y0)); memset((void*)(&z0), 0, sizeof(z0)); initcandidate_R0iDmZjaDJEKlSDdgINtVg(c0, (&x0), (*m0).callee); initcandidate_R0iDmZjaDJEKlSDdgINtVg(c0, (&y0), (*m0).callee); initcandidate_R0iDmZjaDJEKlSDdgINtVg(c0, (&z0), (*m0).callee); x0.calleesym = (*m0).calleesym; y0.calleesym = (*m0).calleesym; z0.calleesym = (*m0).calleesym; best0 = ((NI) -1); { NI i_hsgRdTGnDsM1Y6BT9baco9aw; NI HEX3Atmp_V9cEKDdgJtZMgOC62G2YQgA; NI LOC9; NI res_Qwrw2gzFawOOAZbpSGmodw; i_hsgRdTGnDsM1Y6BT9baco9aw = (NI)0; HEX3Atmp_V9cEKDdgJtZMgOC62G2YQgA = (NI)0; LOC9 = (NI)0; LOC9 = sonslen_qPWPHw7WgJeEVYUdcaRIig(arg0); HEX3Atmp_V9cEKDdgJtZMgOC62G2YQgA = (NI)(LOC9 - ((NI) 1)); res_Qwrw2gzFawOOAZbpSGmodw = ((NI) 0); { while (1) { if (!(res_Qwrw2gzFawOOAZbpSGmodw <= HEX3Atmp_V9cEKDdgJtZMgOC62G2YQgA)) goto LA11; i_hsgRdTGnDsM1Y6BT9baco9aw = res_Qwrw2gzFawOOAZbpSGmodw; { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ r0; if (!((61440 &(1U<<((NU)((*(*(*arg0).kindU.S6.sons->data[i_hsgRdTGnDsM1Y6BT9baco9aw]).kindU.S4.sym).kind)&31U)))!=0)) goto LA14; copycandidate_pupnwSeNO1uiPChHifpilQ((&z0), (&(*m0))); z0.callee = (*(*arg0).kindU.S6.sons->data[i_hsgRdTGnDsM1Y6BT9baco9aw]).typ; z0.calleesym = (*(*arg0).kindU.S6.sons->data[i_hsgRdTGnDsM1Y6BT9baco9aw]).kindU.S4.sym; r0 = typerel_0fsYV9bVZA2eXpHTIQspjZA((&z0), f0, (*(*arg0).kindU.S6.sons->data[i_hsgRdTGnDsM1Y6BT9baco9aw]).typ, NIM_TRUE); incmatches_pC7j2mDtrjUpKOb1X8xk5A((&z0), r0, ((NI) 2)); { if (!!((r0 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0)))) goto LA18; z0.state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1); switch (x0.state) { case ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 0): case ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2): { genericAssign((void*)(&x0), (void*)(&z0), (&NTI_B8Gf2sSWgQ79bLZ9bYWrLHaA)); best0 = i_hsgRdTGnDsM1Y6BT9baco9aw; } break; case ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1): { NI cmp0; cmp0 = cmpcandidates_y6m9bhhlwHAuzsfu0xg0hDQ((&x0), (&z0)); { if (!(cmp0 < ((NI) 0))) goto LA24; best0 = i_hsgRdTGnDsM1Y6BT9baco9aw; genericAssign((void*)(&x0), (void*)(&z0), (&NTI_B8Gf2sSWgQ79bLZ9bYWrLHaA)); } goto LA22; LA24: ; { if (!(cmp0 == ((NI) 0))) goto LA27; genericAssign((void*)(&y0), (void*)(&z0), (&NTI_B8Gf2sSWgQ79bLZ9bYWrLHaA)); } goto LA22; LA27: ; LA22: ; } break; } } LA18: ; } LA14: ; res_Qwrw2gzFawOOAZbpSGmodw += ((NI) 1); } LA11: ; } } { if (!(x0.state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 0))) goto LA31; result0 = NIM_NIL; } goto LA29; LA31: ; { NIM_BOOL LOC34; NI LOC36; LOC34 = (NIM_BOOL)0; LOC34 = (y0.state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1)); if (!(LOC34)) goto LA35; LOC36 = (NI)0; LOC36 = cmpcandidates_y6m9bhhlwHAuzsfu0xg0hDQ((&x0), (&y0)); LOC34 = (LOC36 == ((NI) 0)); LA35: ; if (!LOC34) goto LA37; { if (!!((x0.state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA41; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*arg0).info, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_35)); } LA41: ; { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6))) goto LA45; result0 = arg0; } goto LA43; LA45: ; { result0 = NIM_NIL; } LA43: ; } goto LA29; LA37: ; { markused_Ue6rwV8sAT8uVT9cT5cip9aA((*arg0).info, (*(*arg0).kindU.S6.sons->data[best0]).kindU.S4.sym); result0 = paramtypesmatchaux_VRvPGOe1y6zeZJmJzzQbsQ(m0, f0, (*(*arg0).kindU.S6.sons->data[best0]).typ, (*arg0).kindU.S6.sons->data[best0], argorig0); } LA29: ; } LA1: ; return result0; } N_NIMCALL(NIM_BOOL, argtypematches_cr4dgVPGk0yjqqQJn4quJw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0) { NIM_BOOL result0; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA m0; Tnode_bROa11lyF5vxEN9aYNbHmhw* res0; result0 = (NIM_BOOL)0; memset((void*)(&m0), 0, sizeof(m0)); initcandidate_R0iDmZjaDJEKlSDdgINtVg(c0, (&m0), f0); res0 = paramtypesmatch_4oz468xMSO9cYY9cQWwg7YHg((&m0), f0, a0, emptynode_69ccLGuQ2mITw7zylZYtWcA, NIM_NIL); result0 = !((res0 == NIM_NIL)); return result0; } static N_INLINE(NIM_BOOL, typefits_q79cNzBIFiMxy9cSPq2r9cWPQsigmatch)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Ttype_LTUWCZolpovw9cWE3JBWSUw* firstarg0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NIM_BOOL LOC3; NIM_BOOL LOC4; NI LOC6; Tsym_AXG7xcvKqaxY6koRX1xkCw* m0; LOC3 = (NIM_BOOL)0; LOC4 = (NIM_BOOL)0; LOC4 = !(((*s0).typ == NIM_NIL)); if (!(LOC4)) goto LA5; LOC6 = (NI)0; LOC6 = sonslen_gG7hUAX9cA629ahMLVL3xN4w((*s0).typ); LOC4 = (((NI) 1) < LOC6); LA5: ; LOC3 = LOC4; if (!(LOC3)) goto LA7; LOC3 = !(((*(*s0).typ).sons->data[((NI) 1)] == NIM_NIL)); LA7: ; if (!LOC3) goto LA8; m0 = getmodule_0lPlu1uOok1rRK50z1V70A(s0); { NIM_BOOL LOC12; Ttype_LTUWCZolpovw9cWE3JBWSUw* exp0; LOC12 = (NIM_BOOL)0; LOC12 = !((m0 == NIM_NIL)); if (!(LOC12)) goto LA13; LOC12 = (((*m0).flags &(1U<<((NU)(((Tsymflag_K9ay6LWMat9bUiT9bIbMxpDHw) 13))&31U)))!=0); LA13: ; if (!LOC12) goto LA14; { if (!((*s0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7))) goto LA18; goto BeforeRet; } LA18: ; exp0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*s0).typ).sons->data[((NI) 1)], 8390672); { if (!((*exp0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA22; exp0 = elemtype_46gPaVDDGhiU69b2oKDJZuA_2(exp0); } LA22: ; { if (!((IL64(288230376151716032) &((NU64)1<<((NU)((*exp0).kind)&63U)))!=0)) goto LA26; goto BeforeRet; } LA26: ; } LA14: ; result0 = argtypematches_cr4dgVPGk0yjqqQJn4quJw(c0, (*(*s0).typ).sons->data[((NI) 1)], firstarg0); } LA8: ; }BeforeRet: ; return result0; } N_NIMCALL(void, suggestoperations_MTkYMSIXBRdtvHqoUHhK1Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0, NI* outputs0) { NIM_BOOL islocal_0ck1tZU1eLTReYNp3VIPaQ; islocal_0ck1tZU1eLTReYNp3VIPaQ = NIM_TRUE; { Tscope_1cQRXW6aAknk7ywAwjH3nw* scope_XMzBMpEmJ49axM9aaJ79aMfgQ; Tscope_1cQRXW6aAknk7ywAwjH3nw* HEX3Atmp_NZ56qdRmMrEukz9bO9bQpxQA; Tscope_1cQRXW6aAknk7ywAwjH3nw* current_SXmaYz1mm80xy7EOefOlSQ; scope_XMzBMpEmJ49axM9aaJ79aMfgQ = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; HEX3Atmp_NZ56qdRmMrEukz9bO9bQpxQA = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; HEX3Atmp_NZ56qdRmMrEukz9bO9bQpxQA = (*c0).currentscope; current_SXmaYz1mm80xy7EOefOlSQ = HEX3Atmp_NZ56qdRmMrEukz9bO9bQpxQA; { while (1) { TY_sksVpmPRIkNR9axiwtD1Guw* entries_0xbtTfb5nZYKzTBYKdDeWA; TY_sksVpmPRIkNR9axiwtD1Guw* result_H2HBJ9aXWPzI9c4gDrZTe1pg; TY_ebCc9bLaaaoeQAaNbPKMIRA LOC11; if (!!((current_SXmaYz1mm80xy7EOefOlSQ == NIM_NIL))) goto LA3; scope_XMzBMpEmJ49axM9aaJ79aMfgQ = current_SXmaYz1mm80xy7EOefOlSQ; { if (!(scope_XMzBMpEmJ49axM9aaJ79aMfgQ == (*c0).toplevelscope)) goto LA6; islocal_0ck1tZU1eLTReYNp3VIPaQ = NIM_FALSE; } LA6: ; result_H2HBJ9aXWPzI9c4gDrZTe1pg = (TY_sksVpmPRIkNR9axiwtD1Guw*) newSeq((&NTI_sksVpmPRIkNR9axiwtD1Guw), 0); { Tsym_AXG7xcvKqaxY6koRX1xkCw* x_CBsu9aCoGP0wF8xmR0eXsbw; Tstrtable_f07aOS3dr28kGa5wcE29aFA HEX3Atmp_NZ56qdRmMrEukz9bO9bQpxQA_2; Ttabiter_VYF5VQsIYEVaBL0fKZJkbg it_hKBI5ZzAp8EyP7BDm4EYCA; Tsym_AXG7xcvKqaxY6koRX1xkCw* s_RyazzTdpdUFgbW3nvkpEpw; x_CBsu9aCoGP0wF8xmR0eXsbw = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; memset((void*)(&HEX3Atmp_NZ56qdRmMrEukz9bO9bQpxQA_2), 0, sizeof(HEX3Atmp_NZ56qdRmMrEukz9bO9bQpxQA_2)); HEX3Atmp_NZ56qdRmMrEukz9bO9bQpxQA_2.counter = (*scope_XMzBMpEmJ49axM9aaJ79aMfgQ).symbols.counter; HEX3Atmp_NZ56qdRmMrEukz9bO9bQpxQA_2.data = (*scope_XMzBMpEmJ49axM9aaJ79aMfgQ).symbols.data; memset((void*)(&it_hKBI5ZzAp8EyP7BDm4EYCA), 0, sizeof(it_hKBI5ZzAp8EyP7BDm4EYCA)); s_RyazzTdpdUFgbW3nvkpEpw = inittabiter_4ygtuv45J5xOJG1H4GUF9bA((&it_hKBI5ZzAp8EyP7BDm4EYCA), HEX3Atmp_NZ56qdRmMrEukz9bO9bQpxQA_2); { while (1) { if (!!((s_RyazzTdpdUFgbW3nvkpEpw == NIM_NIL))) goto LA10; x_CBsu9aCoGP0wF8xmR0eXsbw = s_RyazzTdpdUFgbW3nvkpEpw; result_H2HBJ9aXWPzI9c4gDrZTe1pg = (TY_sksVpmPRIkNR9axiwtD1Guw*) incrSeqV2(&(result_H2HBJ9aXWPzI9c4gDrZTe1pg)->Sup, sizeof(Tsym_AXG7xcvKqaxY6koRX1xkCw*)); asgnRefNoCycle((void**) (&result_H2HBJ9aXWPzI9c4gDrZTe1pg->data[result_H2HBJ9aXWPzI9c4gDrZTe1pg->Sup.len]), x_CBsu9aCoGP0wF8xmR0eXsbw); ++result_H2HBJ9aXWPzI9c4gDrZTe1pg->Sup.len; s_RyazzTdpdUFgbW3nvkpEpw = nextiter_MtRRPpsZix0WHVpZVShg0A((&it_hKBI5ZzAp8EyP7BDm4EYCA), HEX3Atmp_NZ56qdRmMrEukz9bO9bQpxQA_2); } LA10: ; } } genericSeqAssign((&entries_0xbtTfb5nZYKzTBYKdDeWA), result_H2HBJ9aXWPzI9c4gDrZTe1pg, (&NTI_sksVpmPRIkNR9axiwtD1Guw)); memset((void*)(&LOC11), 0, sizeof(LOC11)); LOC11.ClPrc = ((T_EV5hHJmjIY9cla9b9be7fSVJQ_13) (HEX3Aanonymous_JXbbRJfy9awFVSPUsLGBSEQ)); LOC11.ClEnv = NIM_NIL; sort_pFXw7jjw1D1y9ahnr6FqyYQ(entries_0xbtTfb5nZYKzTBYKdDeWA->data, entries_0xbtTfb5nZYKzTBYKdDeWA->Sup.len, LOC11, ((Sortorder_8iBc6wlNqBa9cju9cUAhUAxA) 1)); { Tsym_AXG7xcvKqaxY6koRX1xkCw* item_9bCWTdUTuB4MeV7lWzXx6Iw; NI i_FbQp8GfhzQtOE7DFi9a0E3g; NI L_nXCzyQXZrdTrrbMEv6PB3g; item_9bCWTdUTuB4MeV7lWzXx6Iw = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; i_FbQp8GfhzQtOE7DFi9a0E3g = ((NI) 0); L_nXCzyQXZrdTrrbMEv6PB3g = (entries_0xbtTfb5nZYKzTBYKdDeWA ? entries_0xbtTfb5nZYKzTBYKdDeWA->Sup.len : 0); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* it0; if (!(i_FbQp8GfhzQtOE7DFi9a0E3g < L_nXCzyQXZrdTrrbMEv6PB3g)) goto LA14; item_9bCWTdUTuB4MeV7lWzXx6Iw = entries_0xbtTfb5nZYKzTBYKdDeWA->data[i_FbQp8GfhzQtOE7DFi9a0E3g]; it0 = item_9bCWTdUTuB4MeV7lWzXx6Iw; { NIM_BOOL LOC17; NimStringDesc* LOC21; Suggest_tFc84OXhHlhBIifsMtOJew LOC22; LOC17 = (NIM_BOOL)0; LOC17 = filtersymnoopr_XtYBweJqs2OpFBFVtkucbQ_2sigmatch(it0); if (!(LOC17)) goto LA18; LOC17 = typefits_q79cNzBIFiMxy9cSPq2r9cWPQsigmatch(c0, it0, typ0); LA18: ; if (!LOC17) goto LA19; LOC21 = (NimStringDesc*)0; LOC21 = HEX24_9cJCKitIoTmipZ9bq1gB25Vw(((Idecmd_1Ced39bl5eePmZ1PKMPXigQ) 1)); memset((void*)(&LOC22), 0, sizeof(LOC22)); symtosuggest_FFMkcTntV5b53OSyNeVJPQ(it0, islocal_0ck1tZU1eLTReYNp3VIPaQ, LOC21, ((NI) 100), (&LOC22)); suggestresult_XfzKoO09bw9cbOe5pnn9bxngg((&LOC22)); (*outputs0) += ((NI) 1); } LA19: ; i_FbQp8GfhzQtOE7DFi9a0E3g += ((NI) 1); } LA14: ; } } current_SXmaYz1mm80xy7EOefOlSQ = (*current_SXmaYz1mm80xy7EOefOlSQ).parent; } LA3: ; } } } N_NIMCALL(void, suggestobject_sZLTug9chAc5gilY9bLWuoAw_3)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI* outputs0) { switch ((*n0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 138): { { NI i_GLph4cvuqqpsU4F9bqvGQ9bg; NI HEX3Atmp_bpdqGx09bkXo5C7HPJDk0Zg; NI LOC3; NI res_f9aKLo9bFnhHB69bn6zjcDeug; i_GLph4cvuqqpsU4F9bqvGQ9bg = (NI)0; HEX3Atmp_bpdqGx09bkXo5C7HPJDk0Zg = (NI)0; LOC3 = (NI)0; LOC3 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_bpdqGx09bkXo5C7HPJDk0Zg = (NI)(LOC3 - ((NI) 1)); res_f9aKLo9bFnhHB69bn6zjcDeug = ((NI) 0); { while (1) { if (!(res_f9aKLo9bFnhHB69bn6zjcDeug <= HEX3Atmp_bpdqGx09bkXo5C7HPJDk0Zg)) goto LA5; i_GLph4cvuqqpsU4F9bqvGQ9bg = res_f9aKLo9bFnhHB69bn6zjcDeug; suggestobject_sZLTug9chAc5gilY9bLWuoAw_3(c0, (*n0).kindU.S6.sons->data[i_GLph4cvuqqpsU4F9bqvGQ9bg], outputs0); res_f9aKLo9bFnhHB69bn6zjcDeug += ((NI) 1); } LA5: ; } } } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 139): { NI L0; L0 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); { if (!(((NI) 0) < L0)) goto LA9; suggestobject_sZLTug9chAc5gilY9bLWuoAw_3(c0, (*n0).kindU.S6.sons->data[((NI) 0)], outputs0); { NI i_GLph4cvuqqpsU4F9bqvGQ9bg_2; NI HEX3Atmp_bpdqGx09bkXo5C7HPJDk0Zg_2; NI res_f9aKLo9bFnhHB69bn6zjcDeug_2; i_GLph4cvuqqpsU4F9bqvGQ9bg_2 = (NI)0; HEX3Atmp_bpdqGx09bkXo5C7HPJDk0Zg_2 = (NI)0; HEX3Atmp_bpdqGx09bkXo5C7HPJDk0Zg_2 = (NI)(L0 - ((NI) 1)); res_f9aKLo9bFnhHB69bn6zjcDeug_2 = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC14; if (!(res_f9aKLo9bFnhHB69bn6zjcDeug_2 <= HEX3Atmp_bpdqGx09bkXo5C7HPJDk0Zg_2)) goto LA13; i_GLph4cvuqqpsU4F9bqvGQ9bg_2 = res_f9aKLo9bFnhHB69bn6zjcDeug_2; LOC14 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC14 = lastson_esDJA7239bJDiq4UrX9aHCjg((*n0).kindU.S6.sons->data[i_GLph4cvuqqpsU4F9bqvGQ9bg_2]); suggestobject_sZLTug9chAc5gilY9bLWuoAw_3(c0, LOC14, outputs0); res_f9aKLo9bFnhHB69bn6zjcDeug_2 += ((NI) 1); } LA13: ; } } } LA9: ; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { suggestfield_JoTXekhy9a4BpEitLZpiC8Q(c0, (*n0).kindU.S4.sym, outputs0); } break; default: { } break; } } N_NIMCALL(void, suggestfieldaccess_sZLTug9chAc5gilY9bLWuoAw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI* outputs0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* typ0; typ0 = (*n0).typ; { if (!(typ0 == NIM_NIL)) goto LA3; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(LOC7)) goto LA8; LOC7 = ((*(*n0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6)); LA8: ; if (!LOC7) goto LA9; { if (!((*n0).kindU.S4.sym == (*c0).module)) goto LA13; { Tsym_AXG7xcvKqaxY6koRX1xkCw* it_crwY0XqgE4d1ZvrvnAbYzw; Tstrtable_f07aOS3dr28kGa5wcE29aFA HEX3Atmp_XioO0koN4545sbUzu9bTLEQ; Ttabiter_VYF5VQsIYEVaBL0fKZJkbg it_crwY0XqgE4d1ZvrvnAbYzw_2; Tsym_AXG7xcvKqaxY6koRX1xkCw* s_TOYVeNUsGaVomRdjAhhJ5g; it_crwY0XqgE4d1ZvrvnAbYzw = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; memset((void*)(&HEX3Atmp_XioO0koN4545sbUzu9bTLEQ), 0, sizeof(HEX3Atmp_XioO0koN4545sbUzu9bTLEQ)); HEX3Atmp_XioO0koN4545sbUzu9bTLEQ.counter = (*(*c0).toplevelscope).symbols.counter; HEX3Atmp_XioO0koN4545sbUzu9bTLEQ.data = (*(*c0).toplevelscope).symbols.data; memset((void*)(&it_crwY0XqgE4d1ZvrvnAbYzw_2), 0, sizeof(it_crwY0XqgE4d1ZvrvnAbYzw_2)); s_TOYVeNUsGaVomRdjAhhJ5g = inittabiter_4ygtuv45J5xOJG1H4GUF9bA((&it_crwY0XqgE4d1ZvrvnAbYzw_2), HEX3Atmp_XioO0koN4545sbUzu9bTLEQ); { while (1) { if (!!((s_TOYVeNUsGaVomRdjAhhJ5g == NIM_NIL))) goto LA17; it_crwY0XqgE4d1ZvrvnAbYzw = s_TOYVeNUsGaVomRdjAhhJ5g; { NIM_BOOL LOC20; NimStringDesc* LOC23; Suggest_tFc84OXhHlhBIifsMtOJew LOC24; LOC20 = (NIM_BOOL)0; LOC20 = filtersym_XtYBweJqs2OpFBFVtkucbQsigmatch(it_crwY0XqgE4d1ZvrvnAbYzw); if (!LOC20) goto LA21; LOC23 = (NimStringDesc*)0; LOC23 = HEX24_9cJCKitIoTmipZ9bq1gB25Vw(((Idecmd_1Ced39bl5eePmZ1PKMPXigQ) 1)); memset((void*)(&LOC24), 0, sizeof(LOC24)); symtosuggest_FFMkcTntV5b53OSyNeVJPQ(it_crwY0XqgE4d1ZvrvnAbYzw, NIM_FALSE, LOC23, ((NI) 100), (&LOC24)); suggestresult_XfzKoO09bw9cbOe5pnn9bxngg((&LOC24)); (*outputs0) += ((NI) 1); } LA21: ; s_TOYVeNUsGaVomRdjAhhJ5g = nextiter_MtRRPpsZix0WHVpZVShg0A((&it_crwY0XqgE4d1ZvrvnAbYzw_2), HEX3Atmp_XioO0koN4545sbUzu9bTLEQ); } LA17: ; } } } goto LA11; LA13: ; { { Tsym_AXG7xcvKqaxY6koRX1xkCw* it_crwY0XqgE4d1ZvrvnAbYzw_3; Tstrtable_f07aOS3dr28kGa5wcE29aFA HEX3Atmp_XioO0koN4545sbUzu9bTLEQ_2; Ttabiter_VYF5VQsIYEVaBL0fKZJkbg it_crwY0XqgE4d1ZvrvnAbYzw_4; Tsym_AXG7xcvKqaxY6koRX1xkCw* s_TOYVeNUsGaVomRdjAhhJ5g_2; it_crwY0XqgE4d1ZvrvnAbYzw_3 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; memset((void*)(&HEX3Atmp_XioO0koN4545sbUzu9bTLEQ_2), 0, sizeof(HEX3Atmp_XioO0koN4545sbUzu9bTLEQ_2)); HEX3Atmp_XioO0koN4545sbUzu9bTLEQ_2.counter = (*(*n0).kindU.S4.sym).kindU.S3.tab.counter; HEX3Atmp_XioO0koN4545sbUzu9bTLEQ_2.data = (*(*n0).kindU.S4.sym).kindU.S3.tab.data; memset((void*)(&it_crwY0XqgE4d1ZvrvnAbYzw_4), 0, sizeof(it_crwY0XqgE4d1ZvrvnAbYzw_4)); s_TOYVeNUsGaVomRdjAhhJ5g_2 = inittabiter_4ygtuv45J5xOJG1H4GUF9bA((&it_crwY0XqgE4d1ZvrvnAbYzw_4), HEX3Atmp_XioO0koN4545sbUzu9bTLEQ_2); { while (1) { if (!!((s_TOYVeNUsGaVomRdjAhhJ5g_2 == NIM_NIL))) goto LA28; it_crwY0XqgE4d1ZvrvnAbYzw_3 = s_TOYVeNUsGaVomRdjAhhJ5g_2; { NIM_BOOL LOC31; NimStringDesc* LOC34; Suggest_tFc84OXhHlhBIifsMtOJew LOC35; LOC31 = (NIM_BOOL)0; LOC31 = filtersym_XtYBweJqs2OpFBFVtkucbQsigmatch(it_crwY0XqgE4d1ZvrvnAbYzw_3); if (!LOC31) goto LA32; LOC34 = (NimStringDesc*)0; LOC34 = HEX24_9cJCKitIoTmipZ9bq1gB25Vw(((Idecmd_1Ced39bl5eePmZ1PKMPXigQ) 1)); memset((void*)(&LOC35), 0, sizeof(LOC35)); symtosuggest_FFMkcTntV5b53OSyNeVJPQ(it_crwY0XqgE4d1ZvrvnAbYzw_3, NIM_FALSE, LOC34, ((NI) 100), (&LOC35)); suggestresult_XfzKoO09bw9cbOe5pnn9bxngg((&LOC35)); (*outputs0) += ((NI) 1); } LA32: ; s_TOYVeNUsGaVomRdjAhhJ5g_2 = nextiter_MtRRPpsZix0WHVpZVShg0A((&it_crwY0XqgE4d1ZvrvnAbYzw_4), HEX3Atmp_XioO0koN4545sbUzu9bTLEQ_2); } LA28: ; } } } LA11: ; } goto LA5; LA9: ; { suggesteverything_sZLTug9chAc5gilY9bLWuoAw_2(c0, n0, outputs0); } LA5: ; } goto LA1; LA3: ; { NIM_BOOL LOC38; NIM_BOOL LOC39; Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; LOC38 = (NIM_BOOL)0; LOC39 = (NIM_BOOL)0; LOC39 = ((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 14)); if (!(LOC39)) goto LA40; LOC39 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)); LA40: ; LOC38 = LOC39; if (!(LOC38)) goto LA41; LOC38 = ((*(*n0).kindU.S4.sym).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 7)); LA41: ; if (!LOC38) goto LA42; t0 = typ0; { while (1) { if (!!((t0 == NIM_NIL))) goto LA45; suggestsymlist_xnuyYG9cU5DIguyZ0JEF9cqg(c0, (*t0).n, outputs0); t0 = (*t0).sons->data[((NI) 0)]; } LA45: ; } suggestoperations_MTkYMSIXBRdtvHqoUHhK1Q(c0, n0, typ0, outputs0); } goto LA1; LA42: ; { typ0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(typ0, 14682128); { Ttype_LTUWCZolpovw9cWE3JBWSUw* t0; if (!((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA49; t0 = typ0; { while (1) { suggestobject_sZLTug9chAc5gilY9bLWuoAw_3(c0, (*t0).n, outputs0); { if (!((*t0).sons->data[((NI) 0)] == NIM_NIL)) goto LA55; goto LA51; } LA55: ; t0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*t0).sons->data[((NI) 0)], 14682384); } } LA51: ; suggestoperations_MTkYMSIXBRdtvHqoUHhK1Q(c0, n0, typ0, outputs0); } goto LA47; LA49: ; { NIM_BOOL LOC58; LOC58 = (NIM_BOOL)0; LOC58 = ((*typ0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 18)); if (!(LOC58)) goto LA59; LOC58 = !(((*typ0).n == NIM_NIL)); LA59: ; if (!LOC58) goto LA60; suggestsymlist_xnuyYG9cU5DIguyZ0JEF9cqg(c0, (*typ0).n, outputs0); suggestoperations_MTkYMSIXBRdtvHqoUHhK1Q(c0, n0, typ0, outputs0); } goto LA47; LA60: ; { suggestoperations_MTkYMSIXBRdtvHqoUHhK1Q(c0, n0, typ0, outputs0); } LA47: ; } LA1: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, findclosestcall_9aBm2OiqFaJoTlXkYMqFfYQ_2)(Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; { result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; Tcheckpointresult_mp7otVupbkudrLwM0IFcHg LOC5; LOC3 = (NIM_BOOL)0; LOC3 = ((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32)); if (!(LOC3)) goto LA4; LOC5 = (Tcheckpointresult_mp7otVupbkudrLwM0IFcHg)0; LOC5 = incheckpoint_GA4ibfeQx1uKQi9bIH2QX4w((*n0).info); LOC3 = (LOC5 == ((Tcheckpointresult_mp7otVupbkudrLwM0IFcHg) 2)); LA4: ; if (!LOC3) goto LA6; result0 = n0; } goto LA1; LA6: ; { { NI i_F2xuR6Pu9clh9cCAcT8oC9aTw; NI HEX3Atmp_PDogAJqDs9a9cjj9b3IuPArSw; NI LOC10; NI res_9c44UooTEb9ccJQXz9cGClVJw; i_F2xuR6Pu9clh9cCAcT8oC9aTw = (NI)0; HEX3Atmp_PDogAJqDs9a9cjj9b3IuPArSw = (NI)0; LOC10 = (NI)0; LOC10 = safelen_CdME9baJhvveuPEDZE9bXoxAsigmatch(n0); HEX3Atmp_PDogAJqDs9a9cjj9b3IuPArSw = (LOC10 - 1); res_9c44UooTEb9ccJQXz9cGClVJw = ((NI) 0); { while (1) { if (!(res_9c44UooTEb9ccJQXz9cGClVJw <= HEX3Atmp_PDogAJqDs9a9cjj9b3IuPArSw)) goto LA12; i_F2xuR6Pu9clh9cCAcT8oC9aTw = res_9c44UooTEb9ccJQXz9cGClVJw; result0 = findclosestcall_9aBm2OiqFaJoTlXkYMqFfYQ_2((*n0).kindU.S6.sons->data[i_F2xuR6Pu9clh9cCAcT8oC9aTw]); { if (!!((result0 == NIM_NIL))) goto LA15; goto BeforeRet; } LA15: ; res_9c44UooTEb9ccJQXz9cGClVJw += ((NI) 1); } LA12: ; } } } LA1: ; }BeforeRet: ; return result0; } N_NIMCALL(NI, HEX3Aanonymous_JXbbRJfy9awFVSPUsLGBSEQ_2)(Tsym_AXG7xcvKqaxY6koRX1xkCw* a_yPPkY7dTxpeaTMk1k7YiRw, Tsym_AXG7xcvKqaxY6koRX1xkCw* b_rfNMfeaXpUQljDe6qQUHPw) { NI result0; { result0 = (NI)0; result0 = cmp_xEnKsp9cfvO7Do9cTYXo8eJw((*(*a_yPPkY7dTxpeaTMk1k7YiRw).name).s, (*(*b_rfNMfeaXpUQljDe6qQUHPw).name).s); goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, namefits_aHOzXQ5KFmG6jnLobldVaw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* s0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { NIM_BOOL result0; Tnode_bROa11lyF5vxEN9aYNbHmhw* op0; Tident_4umxGerWTHGPwUms7Yqu3g* opr0; { result0 = (NIM_BOOL)0; op0 = (*n0).kindU.S6.sons->data[((NI) 0)]; { if (!((*op0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57) || (*op0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56))) goto LA3; op0 = (*op0).kindU.S6.sons->data[((NI) 0)]; } LA3: ; opr0 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; switch ((*op0).kind) { case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3): { opr0 = (*(*op0).kindU.S4.sym).name; } break; case ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2): { opr0 = (*op0).kindU.S5.ident; } break; default: { result0 = NIM_FALSE; goto BeforeRet; } break; } result0 = ((*opr0).Sup.id == (*(*s0).name).Sup.id); }BeforeRet: ; return result0; } N_NIMCALL(void, initcandidate_k2gpOBVyx13JjcoIpvVYvQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* ctx0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* callee0, Tnode_bROa11lyF5vxEN9aYNbHmhw* binding0, NI calleescope0) { initcandidateaux_4N44pnzycRIQPHhvl7qG9cQsigmatch(ctx0, c0, (*callee0).typ); unsureAsgnRef((void**) (&(*c0).calleesym), callee0); { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = ((258048 &(1U<<((NU)((*callee0).kind)&31U)))!=0); if (!(LOC3)) goto LA4; LOC3 = (calleescope0 == ((NI) -1)); LA4: ; if (!LOC3) goto LA5; { Tsym_AXG7xcvKqaxY6koRX1xkCw* LOC9; Tsym_AXG7xcvKqaxY6koRX1xkCw* owner0; LOC9 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; LOC9 = originatingmodule_ugWPlZqqVshHUeOH4zw3vA_2(callee0); if (!(LOC9 == (*ctx0).module)) goto LA10; (*c0).calleescope = ((NI) 2); owner0 = callee0; { while (1) { owner0 = skipgenericowner_ugWPlZqqVshHUeOH4zw3vA(owner0); { if (!((*owner0).kind == ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6))) goto LA16; goto LA12; } LA16: ; (*c0).calleescope += ((NI) 1); } } LA12: ; } goto LA7; LA10: ; { (*c0).calleescope = ((NI) 1); } LA7: ; } goto LA1; LA5: ; { (*c0).calleescope = calleescope0; } LA1: ; (*c0).magic = (*(*c0).calleesym).magic; initidtable_9cUS2oaKn1IFXKjLdglPZHQ((&(*c0).bindings)); genericSeqAssign((&(*c0).errors), NIM_NIL, (&NTI_xITzrU1RhJLKwBlRCAbn9bA)); { NIM_BOOL LOC22; Tnode_bROa11lyF5vxEN9aYNbHmhw* typeparams0; LOC22 = (NIM_BOOL)0; LOC22 = !((binding0 == NIM_NIL)); if (!(LOC22)) goto LA23; LOC22 = ((258048 &(1U<<((NU)((*callee0).kind)&31U)))!=0); LA23: ; if (!LOC22) goto LA24; typeparams0 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen((*callee0).ast, ((NI) 2)); { NI i_9aMe9bCR33Dab2i7xKzM7eMQ; NI HEX3Atmp_9bQLo69cGpuDb9c1UxMITr5rQ; NI LOC27; NI LOC28; NI res_2OIBti2isvvdN5AvWzyipg; i_9aMe9bCR33Dab2i7xKzM7eMQ = (NI)0; HEX3Atmp_9bQLo69cGpuDb9c1UxMITr5rQ = (NI)0; LOC27 = (NI)0; LOC27 = sonslen_qPWPHw7WgJeEVYUdcaRIig(typeparams0); LOC28 = (NI)0; LOC28 = sonslen_qPWPHw7WgJeEVYUdcaRIig(binding0); HEX3Atmp_9bQLo69cGpuDb9c1UxMITr5rQ = ((LOC27 <= (NI)(LOC28 - ((NI) 1))) ? LOC27 : (NI)(LOC28 - ((NI) 1))); res_2OIBti2isvvdN5AvWzyipg = ((NI) 1); { while (1) { Ttype_LTUWCZolpovw9cWE3JBWSUw* formaltypeparam0; Ttype_LTUWCZolpovw9cWE3JBWSUw* bound0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC31; if (!(res_2OIBti2isvvdN5AvWzyipg <= HEX3Atmp_9bQLo69cGpuDb9c1UxMITr5rQ)) goto LA30; i_9aMe9bCR33Dab2i7xKzM7eMQ = res_2OIBti2isvvdN5AvWzyipg; formaltypeparam0 = (*(*typeparams0).kindU.S6.sons->data[(NI)(i_9aMe9bCR33Dab2i7xKzM7eMQ - ((NI) 1))]).typ; LOC31 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC31 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(binding0, i_9aMe9bCR33Dab2i7xKzM7eMQ); bound0 = (*LOC31).typ; { NimStringDesc* LOC36; if (!!(!((bound0 == NIM_NIL)))) goto LA34; LOC36 = (NimStringDesc*)0; LOC36 = HEX24_k53Ge4e9cDjc7y9c5uML7sPQ(T_EV5hHJmjIY9cla9b9be7fSVJQ_37); internalerror_5XY9cUy7hZmUusM38U9cYYdw(LOC36); } LA34: ; { if (!((*formaltypeparam0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA39; { if (!!(((*bound0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA43; bound0 = maketypedesc_CqYEBJKDkKTW89cDtM9aYg4g(ctx0, bound0); } LA43: ; } goto LA37; LA39: ; { bound0 = skiptypes_pLCdCGDuirMe9cspwviV9aVA(bound0, 256); } LA37: ; put_JoRvap9abGYCKt6dvPFvsFAsigmatch(c0, formaltypeparam0, bound0); res_2OIBti2isvvdN5AvWzyipg += ((NI) 1); } LA30: ; } } } LA24: ; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, arrayconstr_kYM3keGF9bgNpWhgQ6i4cvw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC2; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC3; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16), c0); LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); LOC2 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC2 = makerangetype_dvifOZPMqHzaM6DkApBvxg(c0, IL64(0), IL64(-1), info0, LOC1); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, LOC2); LOC3 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC3 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 3), c0); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, LOC3); return result0; } N_NIMCALL(void, setson_FXgYDL7XFFjJ13GOQwso6g)(Tnode_bROa11lyF5vxEN9aYNbHmhw* father0, NI at0, Tnode_bROa11lyF5vxEN9aYNbHmhw* son0) { NI oldlen0; oldlen0 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(father0); { if (!(oldlen0 <= at0)) goto LA3; (*father0).kindU.S6.sons = (TY_ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeq(&((*father0).kindU.S6.sons)->Sup, sizeof(Tnode_bROa11lyF5vxEN9aYNbHmhw*), ((NI) ((NI)(at0 + ((NI) 1))))); } LA3: ; asgnRefNoCycle((void**) (&(*father0).kindU.S6.sons->data[at0]), son0); } N_NIMCALL(void, incrindextype_rBBnNicDfwmFIGT2L6rbPA)(Ttype_LTUWCZolpovw9cWE3JBWSUw* t0) { (*(*(*(*t0).sons->data[((NI) 0)]).n).kindU.S6.sons->data[((NI) 1)]).kindU.S1.intval += ((NI) 1); } N_NIMCALL(void, preparenamedparam_4aY53hSpWPSeKKJlRFg8JA)(Tnode_bROa11lyF5vxEN9aYNbHmhw* a0) { { Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0; Tident_4umxGerWTHGPwUms7Yqu3g* LOC5; if (!!(((*(*a0).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA3; info0 = (*(*a0).kindU.S6.sons->data[((NI) 0)]).info; LOC5 = (Tident_4umxGerWTHGPwUms7Yqu3g*)0; LOC5 = considerquotedident_bi6H6x9cvavSxJocgYdA9bRw((*a0).kindU.S6.sons->data[((NI) 0)]); asgnRefNoCycle((void**) (&(*a0).kindU.S6.sons->data[((NI) 0)]), newidentnode_G82iaTfj9aP4Nw5aup9b62iQ(LOC5, info0)); } LA3: ; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, prepareoperand_aaHsR8QX2N2PHWQRAidM9cQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* formal0, Tnode_bROa11lyF5vxEN9aYNbHmhw* a0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { NIM_BOOL LOC3; NI LOC5; LOC3 = (NIM_BOOL)0; LOC3 = ((*formal0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6)); if (!(LOC3)) goto LA4; LOC5 = (NI)0; LOC5 = len_gG7hUAX9cA629ahMLVL3xN4w_2(formal0); LOC3 = !((LOC5 == ((NI) 1))); LA4: ; if (!LOC3) goto LA6; result0 = a0; } goto LA1; LA6: ; { Texprflag_0WWd9a4ssQWuY7Q6ZKepq9cQ_Set flags0; if (!((*a0).typ == 0)) goto LA9; flags0 = 48; result0 = (*c0).semoperand(c0, a0, flags0); } goto LA1; LA9: ; { result0 = a0; } LA1: ; return result0; } N_NIMCALL(Ttype_LTUWCZolpovw9cWE3JBWSUw*, arrayconstr_Y9chpkGw6fgFUgeuv6B8QoA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { Ttype_LTUWCZolpovw9cWE3JBWSUw* result0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC1; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC2; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC3; result0 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; result0 = newtypes_9cQrDprXawJ1DKOUTsPNMTg(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 16), c0); LOC1 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC1 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 31)); LOC2 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC2 = makerangetype_dvifOZPMqHzaM6DkApBvxg(c0, IL64(0), IL64(0), (*n0).info, LOC1); rawaddson_52UH8yKinsYmFX9bFij9c2Hw(result0, LOC2); LOC3 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC3 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*n0).typ, 8423424); addsonskipintlit_d0ho9bIGF3YeWTv0iA2z9awA(result0, LOC3); return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, prepareoperand_KkKYwsOmKMXfkn3glfCbuA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* a0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; { if (!((*a0).typ == 0)) goto LA3; result0 = (*c0).semoperand(c0, a0, 32); } goto LA1; LA3: ; { result0 = a0; } LA1: ; return result0; } N_NIMCALL(void, matchesaux_5B328Lq3sbOWOpGv9bkDcTg)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0, Intset_PQrmFm4BXFkFSVOUl1ojSg* marker0) { NI f0; NI a0; NI formallen0; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC6; Tnode_bROa11lyF5vxEN9aYNbHmhw* container0; Tsym_AXG7xcvKqaxY6koRX1xkCw* formal0; { { if (!!(((*(*m0).callee).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA3; f0 = ((NI) 1); } goto LA1; LA3: ; { f0 = ((NI) 0); } LA1: ; a0 = ((NI) 1); (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1); unsureAsgnRef((void**) (&(*m0).call), newnodei_PIqgSH9b0m7nFpOyXf9cpz5w((*n0).kind, (*n0).info)); asgnRefNoCycle((void**) (&(*(*m0).call).typ), base_46gPaVDDGhiU69b2oKDJZuA((*m0).callee)); formallen0 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting((*(*m0).callee).n); LOC6 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC6 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*n0).kindU.S6.sons->data[((NI) 0)]); addson_gCCf68XrWL79bKes6htzFjQ((*m0).call, LOC6); container0 = NIM_NIL; { if (!(((NI) 1) < formallen0)) goto LA9; formal0 = (*(*(*(*m0).callee).n).kindU.S6.sons->data[((NI) 1)]).kindU.S4.sym; } goto LA7; LA9: ; { formal0 = NIM_NIL; } LA7: ; { while (1) { NI LOC14; LOC14 = (NI)0; LOC14 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); if (!(a0 < LOC14)) goto LA13; { NIM_BOOL LOC17; NIM_BOOL LOC18; NIM_BOOL LOC21; NIM_BOOL LOC22; LOC17 = (NIM_BOOL)0; LOC18 = (NIM_BOOL)0; LOC18 = ((NI)(formallen0 - ((NI) 1)) <= a0); if (!(LOC18)) goto LA19; LOC18 = !((formal0 == NIM_NIL)); LA19: ; LOC17 = LOC18; if (!(LOC17)) goto LA20; LOC21 = (NIM_BOOL)0; LOC22 = (NIM_BOOL)0; LOC22 = ((*(*formal0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48)); if (!(LOC22)) goto LA23; LOC22 = ((*(*(*formal0).typ).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6)); LA23: ; LOC21 = LOC22; if (!(LOC21)) goto LA24; LOC21 = !((((*(*(*formal0).typ).sons->data[((NI) 0)]).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 0))&31U)))!=0)); LA24: ; LOC17 = LOC21; LA20: ; if (!LOC17) goto LA25; incl_iUpE9bYmIR0fROyJskQwN8g(marker0, (*formal0).position); { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC31; if (!(container0 == 0)) goto LA29; LOC31 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC31 = arrayconstr_kYM3keGF9bgNpWhgQ6i4cvw(c0, (*n0).info); container0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*n0).kindU.S6.sons->data[a0]).info, LOC31); setson_FXgYDL7XFFjJ13GOQwso6g((*m0).call, (NI)((*formal0).position + ((NI) 1)), container0); } goto LA27; LA29: ; { incrindextype_rBBnNicDfwmFIGT2L6rbPA((*container0).typ); } LA27: ; addson_gCCf68XrWL79bKes6htzFjQ(container0, (*n0).kindU.S6.sons->data[a0]); } goto LA15; LA25: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0; if (!((*(*n0).kindU.S6.sons->data[a0]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 33))) goto LA34; preparenamedparam_4aY53hSpWPSeKKJlRFg8JA((*n0).kindU.S6.sons->data[a0]); { if (!!(((*(*(*n0).kindU.S6.sons->data[a0]).kindU.S6.sons->data[((NI) 0)]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA38; localerror_VpilfPWbplGz6ny7O9cfr2g((*(*n0).kindU.S6.sons->data[a0]).info, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 162), ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_11)); (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto BeforeRet; } LA38: ; formal0 = getsymfromlist_9c9cLkZFlCQ8DEaDRcXgGe9bA((*(*m0).callee).n, (*(*(*n0).kindU.S6.sons->data[a0]).kindU.S6.sons->data[((NI) 0)]).kindU.S5.ident, ((NI) 1)); { if (!(formal0 == NIM_NIL)) goto LA42; (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto BeforeRet; } LA42: ; { NIM_BOOL LOC46; LOC46 = (NIM_BOOL)0; LOC46 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg(marker0, (*formal0).position); if (!LOC46) goto LA47; (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto BeforeRet; } LA47: ; (*m0).basetypematch = NIM_FALSE; asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[a0]).kindU.S6.sons->data[((NI) 1)]), prepareoperand_aaHsR8QX2N2PHWQRAidM9cQ(c0, (*formal0).typ, (*(*n0).kindU.S6.sons->data[a0]).kindU.S6.sons->data[((NI) 1)])); asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[a0]).typ), (*(*(*n0).kindU.S6.sons->data[a0]).kindU.S6.sons->data[((NI) 1)]).typ); arg0 = paramtypesmatch_4oz468xMSO9cYY9cQWwg7YHg(m0, (*formal0).typ, (*(*n0).kindU.S6.sons->data[a0]).typ, (*(*n0).kindU.S6.sons->data[a0]).kindU.S6.sons->data[((NI) 1)], (*(*n0).kindU.S6.sons->data[a0]).kindU.S6.sons->data[((NI) 1)]); { if (!(arg0 == NIM_NIL)) goto LA51; (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto BeforeRet; } LA51: ; { if (!!(((*formal0).constraint == 0))) goto LA55; { NIM_BOOL LOC59; LOC59 = (NIM_BOOL)0; LOC59 = matchnodekinds_WRbpWXbxOP9c3ULW5bbDujw((*formal0).constraint, (*(*n0).kindU.S6.sons->data[a0]).kindU.S6.sons->data[((NI) 1)]); if (!LOC59) goto LA60; (*m0).genericmatches += ((NI) 100); } goto LA57; LA60: ; { (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto BeforeRet; } LA57: ; } LA55: ; { if (!((*(*formal0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA65; { NIM_BOOL LOC69; LOC69 = (NIM_BOOL)0; LOC69 = islvalue_kCP6QlI8uS4X0pOQUdr7tg((*(*n0).kindU.S6.sons->data[a0]).kindU.S6.sons->data[((NI) 1)]); if (!!(LOC69)) goto LA70; (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); (*m0).mutabilityproblem = ((NU8) ((NI)(f0 - ((NI) 1)))); goto BeforeRet; } LA70: ; } LA65: ; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC76; if (!(*m0).basetypematch) goto LA74; LOC76 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC76 = arrayconstr_Y9chpkGw6fgFUgeuv6B8QoA(c0, arg0); container0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*n0).kindU.S6.sons->data[a0]).info, LOC76); addson_gCCf68XrWL79bKes6htzFjQ(container0, arg0); setson_FXgYDL7XFFjJ13GOQwso6g((*m0).call, (NI)((*formal0).position + ((NI) 1)), container0); { if (!!((f0 == (NI)(formallen0 - ((NI) 1))))) goto LA79; container0 = NIM_NIL; } LA79: ; } goto LA72; LA74: ; { setson_FXgYDL7XFFjJ13GOQwso6g((*m0).call, (NI)((*formal0).position + ((NI) 1)), arg0); } LA72: ; f0 += ((NI) 1); } goto LA15; LA34: ; { { if (!(formallen0 <= f0)) goto LA85; { if (!(((*(*m0).callee).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 0))&31U)))!=0)) goto LA89; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[a0]), prepareoperand_KkKYwsOmKMXfkn3glfCbuA(c0, (*n0).kindU.S6.sons->data[a0])); { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC93; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC96; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC97; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC98; LOC93 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC93 = skiptypes_pLCdCGDuirMe9cspwviV9aVA((*(*n0).kindU.S6.sons->data[a0]).typ, 8431632); if (!((*LOC93).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA94; LOC96 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC96 = getsystype_dewjtBqyEbcVGQRaQFtDAw(((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 29)); LOC97 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC97 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*n0).kindU.S6.sons->data[a0]); LOC98 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC98 = implicitconv_ttBE689bA8zSgXJt6wtOZGA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58), LOC96, LOC97, (&(*m0)), c0); addson_gCCf68XrWL79bKes6htzFjQ((*m0).call, LOC98); } goto LA91; LA94: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC100; LOC100 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC100 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*n0).kindU.S6.sons->data[a0]); addson_gCCf68XrWL79bKes6htzFjQ((*m0).call, LOC100); } LA91: ; } goto LA87; LA89: ; { NIM_BOOL LOC102; Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0; LOC102 = (NIM_BOOL)0; LOC102 = !((formal0 == NIM_NIL)); if (!(LOC102)) goto LA103; LOC102 = ((*(*formal0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48)); LA103: ; if (!LOC102) goto LA104; (*m0).basetypematch = NIM_FALSE; incl_iUpE9bYmIR0fROyJskQwN8g(marker0, (*formal0).position); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[a0]), prepareoperand_aaHsR8QX2N2PHWQRAidM9cQ(c0, (*formal0).typ, (*n0).kindU.S6.sons->data[a0])); arg0 = paramtypesmatch_4oz468xMSO9cYY9cQWwg7YHg(m0, (*formal0).typ, (*(*n0).kindU.S6.sons->data[a0]).typ, (*n0).kindU.S6.sons->data[a0], (*norig0).kindU.S6.sons->data[a0]); { NIM_BOOL LOC108; NIM_BOOL LOC109; LOC108 = (NIM_BOOL)0; LOC109 = (NIM_BOOL)0; LOC109 = !((arg0 == NIM_NIL)); if (!(LOC109)) goto LA110; LOC109 = (*m0).basetypematch; LA110: ; LOC108 = LOC109; if (!(LOC108)) goto LA111; LOC108 = !((container0 == NIM_NIL)); LA111: ; if (!LOC108) goto LA112; addson_gCCf68XrWL79bKes6htzFjQ(container0, arg0); incrindextype_rBBnNicDfwmFIGT2L6rbPA((*container0).typ); { if (!!(((*formal0).constraint == 0))) goto LA116; { NIM_BOOL LOC120; LOC120 = (NIM_BOOL)0; LOC120 = matchnodekinds_WRbpWXbxOP9c3ULW5bbDujw((*formal0).constraint, (*n0).kindU.S6.sons->data[a0]); if (!LOC120) goto LA121; (*m0).genericmatches += ((NI) 100); } goto LA118; LA121: ; { (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto BeforeRet; } LA118: ; } LA116: ; { if (!((*(*formal0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA126; { NIM_BOOL LOC130; LOC130 = (NIM_BOOL)0; LOC130 = islvalue_kCP6QlI8uS4X0pOQUdr7tg((*n0).kindU.S6.sons->data[a0]); if (!!(LOC130)) goto LA131; (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); (*m0).mutabilityproblem = ((NU8) ((NI)(f0 - ((NI) 1)))); goto BeforeRet; } LA131: ; } LA126: ; } goto LA106; LA112: ; { (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto BeforeRet; } LA106: ; } goto LA87; LA104: ; { (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto BeforeRet; } LA87: ; } goto LA83; LA85: ; { { if (!!(((*(*(*(*m0).callee).n).kindU.S6.sons->data[f0]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA138; internalerror_MXmtqrCmYwtOPkDCFgUWKQ((*(*n0).kindU.S6.sons->data[a0]).info, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_38)); goto BeforeRet; } LA138: ; formal0 = (*(*(*(*m0).callee).n).kindU.S6.sons->data[f0]).kindU.S4.sym; { NIM_BOOL LOC142; LOC142 = (NIM_BOOL)0; LOC142 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg(marker0, (*formal0).position); if (!(LOC142)) goto LA143; LOC142 = (container0 == 0); LA143: ; if (!LOC142) goto LA144; (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto BeforeRet; } LA144: ; { NIM_BOOL LOC148; NIM_BOOL LOC149; LOC148 = (NIM_BOOL)0; LOC149 = (NIM_BOOL)0; LOC149 = ((*(*formal0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48)); if (!(LOC149)) goto LA150; LOC149 = ((*(*(*formal0).typ).sons->data[((NI) 0)]).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 6)); LA150: ; LOC148 = LOC149; if (!(LOC148)) goto LA151; LOC148 = !((((*(*(*formal0).typ).sons->data[((NI) 0)]).flags &(1U<<((NU)(((Ttypeflag_x2m5g1NpbmDig4wLT3Ylhw) 0))&31U)))!=0)); LA151: ; if (!LOC148) goto LA152; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC158; if (!(container0 == 0)) goto LA156; LOC158 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC158 = arrayconstr_kYM3keGF9bgNpWhgQ6i4cvw(c0, (*n0).info); container0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*n0).kindU.S6.sons->data[a0]).info, LOC158); setson_FXgYDL7XFFjJ13GOQwso6g((*m0).call, (NI)((*formal0).position + ((NI) 1)), container0); } goto LA154; LA156: ; { incrindextype_rBBnNicDfwmFIGT2L6rbPA((*container0).typ); } LA154: ; addson_gCCf68XrWL79bKes6htzFjQ(container0, (*n0).kindU.S6.sons->data[a0]); } goto LA146; LA152: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0; (*m0).basetypematch = NIM_FALSE; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[a0]), prepareoperand_aaHsR8QX2N2PHWQRAidM9cQ(c0, (*formal0).typ, (*n0).kindU.S6.sons->data[a0])); arg0 = paramtypesmatch_4oz468xMSO9cYY9cQWwg7YHg(m0, (*formal0).typ, (*(*n0).kindU.S6.sons->data[a0]).typ, (*n0).kindU.S6.sons->data[a0], (*norig0).kindU.S6.sons->data[a0]); { if (!(arg0 == NIM_NIL)) goto LA163; (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto BeforeRet; } LA163: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC175; NI LOC176; if (!(*m0).basetypematch) goto LA167; { Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC173; if (!(container0 == 0)) goto LA171; LOC173 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC173 = arrayconstr_Y9chpkGw6fgFUgeuv6B8QoA(c0, arg0); container0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41), (*(*n0).kindU.S6.sons->data[a0]).info, LOC173); } goto LA169; LA171: ; { incrindextype_rBBnNicDfwmFIGT2L6rbPA((*container0).typ); } LA169: ; addson_gCCf68XrWL79bKes6htzFjQ(container0, arg0); LOC175 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC175 = implicitconv_ttBE689bA8zSgXJt6wtOZGA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal0).typ, container0, (&(*m0)), c0); setson_FXgYDL7XFFjJ13GOQwso6g((*m0).call, (NI)((*formal0).position + ((NI) 1)), LOC175); LOC176 = (NI)0; LOC176 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); f0 = ((f0 >= (NI)((NI)((NI)(formallen0 - LOC176) + a0) + ((NI) 1))) ? f0 : (NI)((NI)((NI)(formallen0 - LOC176) + a0) + ((NI) 1))); } goto LA165; LA167: ; { setson_FXgYDL7XFFjJ13GOQwso6g((*m0).call, (NI)((*formal0).position + ((NI) 1)), arg0); f0 += ((NI) 1); container0 = NIM_NIL; } LA165: ; } LA146: ; { if (!!(((*formal0).constraint == 0))) goto LA180; { NIM_BOOL LOC184; LOC184 = (NIM_BOOL)0; LOC184 = matchnodekinds_WRbpWXbxOP9c3ULW5bbDujw((*formal0).constraint, (*n0).kindU.S6.sons->data[a0]); if (!LOC184) goto LA185; (*m0).genericmatches += ((NI) 100); } goto LA182; LA185: ; { (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto BeforeRet; } LA182: ; } LA180: ; { if (!((*(*formal0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA190; { NIM_BOOL LOC194; LOC194 = (NIM_BOOL)0; LOC194 = islvalue_kCP6QlI8uS4X0pOQUdr7tg((*n0).kindU.S6.sons->data[a0]); if (!!(LOC194)) goto LA195; (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); (*m0).mutabilityproblem = ((NU8) ((NI)(f0 - ((NI) 1)))); goto BeforeRet; } LA195: ; } LA190: ; } LA83: ; } LA15: ; a0 += ((NI) 1); } LA13: ; } }BeforeRet: ; } N_NIMCALL(void, partialmatch_x3U2uVO0diqi4Z4tOU2y9aw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0) { Intset_PQrmFm4BXFkFSVOUl1ojSg marker0; memset((void*)(&marker0), 0, sizeof(marker0)); chckNil((void*)(&marker0)); memset((void*)(&marker0), 0, sizeof(marker0)); initintset_a9a80eJplB17xrdZJ41Baww((&marker0)); matchesaux_5B328Lq3sbOWOpGv9bkDcTg(c0, n0, norig0, m0, (&marker0)); } N_NIMCALL(NIM_BOOL, argsfit_Qn09aGeFsj9bCZF8BCCdCa0Q)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* candidate0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; switch ((*candidate0).kind) { case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 12): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 13): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 14): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 15): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 6): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 17): case ((Tsymkind_cNCW9acsSznmEccl1fgQwkw) 16): { Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA m0; memset((void*)(&m0), 0, sizeof(m0)); initcandidate_k2gpOBVyx13JjcoIpvVYvQ(c0, (&m0), candidate0, NIM_NIL, ((NI) -1)); partialmatch_x3U2uVO0diqi4Z4tOU2y9aw(c0, n0, norig0, (&m0)); result0 = !((m0.state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2))); } break; default: { result0 = NIM_FALSE; } break; } return result0; } N_NIMCALL(void, suggestcall_u17D1X5DVdBh1NyIkw529aA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, NI* outputs0) { NIM_BOOL islocal_6jYoNN7J7kgwGkPN7cxLWA; islocal_6jYoNN7J7kgwGkPN7cxLWA = NIM_TRUE; { Tscope_1cQRXW6aAknk7ywAwjH3nw* scope_Ko9cRvKlVgy9cZZ6DGJbxavg; Tscope_1cQRXW6aAknk7ywAwjH3nw* HEX3Atmp_YWin1pZj8E78xjNI6YjQdA; Tscope_1cQRXW6aAknk7ywAwjH3nw* current_9cp19cWfvwtbDZOYPalYqU2A; scope_Ko9cRvKlVgy9cZZ6DGJbxavg = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; HEX3Atmp_YWin1pZj8E78xjNI6YjQdA = (Tscope_1cQRXW6aAknk7ywAwjH3nw*)0; HEX3Atmp_YWin1pZj8E78xjNI6YjQdA = (*c0).currentscope; current_9cp19cWfvwtbDZOYPalYqU2A = HEX3Atmp_YWin1pZj8E78xjNI6YjQdA; { while (1) { TY_sksVpmPRIkNR9axiwtD1Guw* entries_9c5Ruz5HzHbgvGj6zxhhiEw; TY_sksVpmPRIkNR9axiwtD1Guw* result_TN2rdp1RsSYf6VcIh9aQ0kg; TY_ebCc9bLaaaoeQAaNbPKMIRA LOC11; if (!!((current_9cp19cWfvwtbDZOYPalYqU2A == NIM_NIL))) goto LA3; scope_Ko9cRvKlVgy9cZZ6DGJbxavg = current_9cp19cWfvwtbDZOYPalYqU2A; { if (!(scope_Ko9cRvKlVgy9cZZ6DGJbxavg == (*c0).toplevelscope)) goto LA6; islocal_6jYoNN7J7kgwGkPN7cxLWA = NIM_FALSE; } LA6: ; result_TN2rdp1RsSYf6VcIh9aQ0kg = (TY_sksVpmPRIkNR9axiwtD1Guw*) newSeq((&NTI_sksVpmPRIkNR9axiwtD1Guw), 0); { Tsym_AXG7xcvKqaxY6koRX1xkCw* x_jvj70xDwaa6QdSXLLoQUFQ; Tstrtable_f07aOS3dr28kGa5wcE29aFA HEX3Atmp_YWin1pZj8E78xjNI6YjQdA_2; Ttabiter_VYF5VQsIYEVaBL0fKZJkbg it_O9bkeLD1pP2C5QwB9cG4hWQg; Tsym_AXG7xcvKqaxY6koRX1xkCw* s_ooJrqWbRJaOHJJXZmVfxqA; x_jvj70xDwaa6QdSXLLoQUFQ = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; memset((void*)(&HEX3Atmp_YWin1pZj8E78xjNI6YjQdA_2), 0, sizeof(HEX3Atmp_YWin1pZj8E78xjNI6YjQdA_2)); HEX3Atmp_YWin1pZj8E78xjNI6YjQdA_2.counter = (*scope_Ko9cRvKlVgy9cZZ6DGJbxavg).symbols.counter; HEX3Atmp_YWin1pZj8E78xjNI6YjQdA_2.data = (*scope_Ko9cRvKlVgy9cZZ6DGJbxavg).symbols.data; memset((void*)(&it_O9bkeLD1pP2C5QwB9cG4hWQg), 0, sizeof(it_O9bkeLD1pP2C5QwB9cG4hWQg)); s_ooJrqWbRJaOHJJXZmVfxqA = inittabiter_4ygtuv45J5xOJG1H4GUF9bA((&it_O9bkeLD1pP2C5QwB9cG4hWQg), HEX3Atmp_YWin1pZj8E78xjNI6YjQdA_2); { while (1) { if (!!((s_ooJrqWbRJaOHJJXZmVfxqA == NIM_NIL))) goto LA10; x_jvj70xDwaa6QdSXLLoQUFQ = s_ooJrqWbRJaOHJJXZmVfxqA; result_TN2rdp1RsSYf6VcIh9aQ0kg = (TY_sksVpmPRIkNR9axiwtD1Guw*) incrSeqV2(&(result_TN2rdp1RsSYf6VcIh9aQ0kg)->Sup, sizeof(Tsym_AXG7xcvKqaxY6koRX1xkCw*)); asgnRefNoCycle((void**) (&result_TN2rdp1RsSYf6VcIh9aQ0kg->data[result_TN2rdp1RsSYf6VcIh9aQ0kg->Sup.len]), x_jvj70xDwaa6QdSXLLoQUFQ); ++result_TN2rdp1RsSYf6VcIh9aQ0kg->Sup.len; s_ooJrqWbRJaOHJJXZmVfxqA = nextiter_MtRRPpsZix0WHVpZVShg0A((&it_O9bkeLD1pP2C5QwB9cG4hWQg), HEX3Atmp_YWin1pZj8E78xjNI6YjQdA_2); } LA10: ; } } genericSeqAssign((&entries_9c5Ruz5HzHbgvGj6zxhhiEw), result_TN2rdp1RsSYf6VcIh9aQ0kg, (&NTI_sksVpmPRIkNR9axiwtD1Guw)); memset((void*)(&LOC11), 0, sizeof(LOC11)); LOC11.ClPrc = ((T_EV5hHJmjIY9cla9b9be7fSVJQ_36) (HEX3Aanonymous_JXbbRJfy9awFVSPUsLGBSEQ_2)); LOC11.ClEnv = NIM_NIL; sort_pFXw7jjw1D1y9ahnr6FqyYQ(entries_9c5Ruz5HzHbgvGj6zxhhiEw->data, entries_9c5Ruz5HzHbgvGj6zxhhiEw->Sup.len, LOC11, ((Sortorder_8iBc6wlNqBa9cju9cUAhUAxA) 1)); { Tsym_AXG7xcvKqaxY6koRX1xkCw* item_37Ea9aMnTLK9aLI3tcaAotIw; NI i_Z8bx3UkRmWFv2g9cak7H9bMw; NI L_VDx9avua7FlvL9bHgNhOFU5Q; item_37Ea9aMnTLK9aLI3tcaAotIw = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; i_Z8bx3UkRmWFv2g9cak7H9bMw = ((NI) 0); L_VDx9avua7FlvL9bHgNhOFU5Q = (entries_9c5Ruz5HzHbgvGj6zxhhiEw ? entries_9c5Ruz5HzHbgvGj6zxhhiEw->Sup.len : 0); { while (1) { Tsym_AXG7xcvKqaxY6koRX1xkCw* it0; if (!(i_Z8bx3UkRmWFv2g9cak7H9bMw < L_VDx9avua7FlvL9bHgNhOFU5Q)) goto LA14; item_37Ea9aMnTLK9aLI3tcaAotIw = entries_9c5Ruz5HzHbgvGj6zxhhiEw->data[i_Z8bx3UkRmWFv2g9cak7H9bMw]; it0 = item_37Ea9aMnTLK9aLI3tcaAotIw; { NIM_BOOL LOC17; NIM_BOOL LOC18; NimStringDesc* LOC23; Suggest_tFc84OXhHlhBIifsMtOJew LOC24; LOC17 = (NIM_BOOL)0; LOC18 = (NIM_BOOL)0; LOC18 = filtersym_XtYBweJqs2OpFBFVtkucbQsigmatch(it0); if (!(LOC18)) goto LA19; LOC18 = namefits_aHOzXQ5KFmG6jnLobldVaw(c0, it0, n0); LA19: ; LOC17 = LOC18; if (!(LOC17)) goto LA20; LOC17 = argsfit_Qn09aGeFsj9bCZF8BCCdCa0Q(c0, it0, n0, norig0); LA20: ; if (!LOC17) goto LA21; LOC23 = (NimStringDesc*)0; LOC23 = HEX24_9cJCKitIoTmipZ9bq1gB25Vw(((Idecmd_1Ced39bl5eePmZ1PKMPXigQ) 2)); memset((void*)(&LOC24), 0, sizeof(LOC24)); symtosuggest_FFMkcTntV5b53OSyNeVJPQ(it0, islocal_6jYoNN7J7kgwGkPN7cxLWA, LOC23, ((NI) 100), (&LOC24)); suggestresult_XfzKoO09bw9cbOe5pnn9bxngg((&LOC24)); (*outputs0) += ((NI) 1); } LA21: ; i_Z8bx3UkRmWFv2g9cak7H9bMw += ((NI) 1); } LA14: ; } } current_9cp19cWfvwtbDZOYPalYqU2A = (*current_9cp19cWfvwtbDZOYPalYqU2A).parent; } LA3: ; } } } N_NIMCALL(void, suggestexpr_GPATGlMDRN5VZ5q4eCQYag)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* node0) { Tcheckpointresult_mp7otVupbkudrLwM0IFcHg cp0; NI outputs0; { { if (!(gtrackpos_MB8TS6WWQAxbT0Tu9b9cDHkg.line < ((NI16) 0))) goto LA3; goto BeforeRet; } LA3: ; cp0 = incheckpoint_GA4ibfeQx1uKQi9bIH2QX4w((*node0).info); { if (!(cp0 == ((Tcheckpointresult_mp7otVupbkudrLwM0IFcHg) 0))) goto LA7; goto BeforeRet; } LA7: ; outputs0 = ((NI) 0); { if (!(((NI) 0) < (*c0).compilescontextid)) goto LA11; goto BeforeRet; } LA11: ; (*c0).compilescontextid += ((NI) 1); { Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; if (!(gidecmd_juq2yKSgC8DZC5pqLIaQmQ == ((Idecmd_1Ced39bl5eePmZ1PKMPXigQ) 1))) goto LA15; n0 = findclosestdot_9aBm2OiqFaJoTlXkYMqFfYQ(node0); { if (!(n0 == NIM_NIL)) goto LA19; n0 = node0; } LA19: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* obj0; if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA23; obj0 = safesemexpr_74xCvYZL9b9cKsQyQ9a9aX3Oqw(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); suggestfieldaccess_sZLTug9chAc5gilY9bLWuoAw(c0, obj0, (&outputs0)); } goto LA21; LA23: ; { suggesteverything_sZLTug9chAc5gilY9bLWuoAw_2(c0, n0, (&outputs0)); } LA21: ; } goto LA13; LA15: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* n0; if (!(gidecmd_juq2yKSgC8DZC5pqLIaQmQ == ((Idecmd_1Ced39bl5eePmZ1PKMPXigQ) 2))) goto LA27; n0 = findclosestcall_9aBm2OiqFaJoTlXkYMqFfYQ_2(node0); { if (!(n0 == NIM_NIL)) goto LA31; n0 = node0; } LA31: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* a0; Tnode_bROa11lyF5vxEN9aYNbHmhw* x_stUaJmpIFO3iYlUfxfUwEQ; if (!((*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA35; a0 = copynode_lz8T1F9c0YwEOpUnrAUYgjg(n0); x_stUaJmpIFO3iYlUfxfUwEQ = safesemexpr_74xCvYZL9b9cKsQyQ9a9aX3Oqw(c0, (*n0).kindU.S6.sons->data[((NI) 0)]); { NIM_BOOL LOC39; LOC39 = (NIM_BOOL)0; LOC39 = ((*x_stUaJmpIFO3iYlUfxfUwEQ).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); if (LOC39) goto LA40; LOC39 = ((*x_stUaJmpIFO3iYlUfxfUwEQ).typ == NIM_NIL); LA40: ; if (!LOC39) goto LA41; x_stUaJmpIFO3iYlUfxfUwEQ = (*n0).kindU.S6.sons->data[((NI) 0)]; } LA41: ; addson_gCCf68XrWL79bKes6htzFjQ(a0, x_stUaJmpIFO3iYlUfxfUwEQ); { NI i_bmTmbs6mbKreNory3tmIHw; NI HEX3Atmp_GhmOLs9b6DVCqlo7CrWpxpQ; NI LOC44; NI res_dRP9ci68RApHw2YE9czRM9c2w; i_bmTmbs6mbKreNory3tmIHw = (NI)0; HEX3Atmp_GhmOLs9b6DVCqlo7CrWpxpQ = (NI)0; LOC44 = (NI)0; LOC44 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); HEX3Atmp_GhmOLs9b6DVCqlo7CrWpxpQ = (NI)(LOC44 - ((NI) 1)); res_dRP9ci68RApHw2YE9czRM9c2w = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* x0; if (!(res_dRP9ci68RApHw2YE9czRM9c2w <= HEX3Atmp_GhmOLs9b6DVCqlo7CrWpxpQ)) goto LA46; i_bmTmbs6mbKreNory3tmIHw = res_dRP9ci68RApHw2YE9czRM9c2w; x0 = safesemexpr_74xCvYZL9b9cKsQyQ9a9aX3Oqw(c0, (*n0).kindU.S6.sons->data[i_bmTmbs6mbKreNory3tmIHw]); { NIM_BOOL LOC49; LOC49 = (NIM_BOOL)0; LOC49 = ((*x0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 1)); if (LOC49) goto LA50; LOC49 = ((*x0).typ == NIM_NIL); LA50: ; if (!LOC49) goto LA51; goto LA43; } LA51: ; addson_gCCf68XrWL79bKes6htzFjQ(a0, x0); res_dRP9ci68RApHw2YE9czRM9c2w += ((NI) 1); } LA46: ; } } LA43: ; suggestcall_u17D1X5DVdBh1NyIkw529aA(c0, a0, n0, (&outputs0)); } LA35: ; } goto LA13; LA27: ; LA13: ; (*c0).compilescontextid -= ((NI) 1); { NIM_BOOL LOC55; LOC55 = (NIM_BOOL)0; LOC55 = (((NI) 0) < outputs0); if (!(LOC55)) goto LA56; LOC55 = ((14 &(1U<<((NU)(gidecmd_juq2yKSgC8DZC5pqLIaQmQ)&15U)))!=0); LA56: ; if (!LOC55) goto LA57; suggestquit_9b9cOrPjJhKLIT47OQsALB4Q(); } LA57: ; }BeforeRet: ; } N_NIMCALL(void, newcandidate_Ursq24ddLTYMobCFHSyzbQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* ctx0, Ttype_LTUWCZolpovw9cWE3JBWSUw* callee0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* Result) { initcandidate_R0iDmZjaDJEKlSDdgINtVg(ctx0, Result, callee0); } N_NIMCALL(void, matches_x3U2uVO0diqi4Z4tOU2y9aw_2)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, Tnode_bROa11lyF5vxEN9aYNbHmhw* norig0, Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA* m0) { Intset_PQrmFm4BXFkFSVOUl1ojSg marker0; NI f0; { { if (!((*m0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 4) || (*m0).magic == ((Tmagic_shZhZOdbVC5nnFvcXQAImg) 5))) goto LA3; (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 1); unsureAsgnRef((void**) (&(*m0).call), n0); goto BeforeRet; } LA3: ; memset((void*)(&marker0), 0, sizeof(marker0)); chckNil((void*)(&marker0)); memset((void*)(&marker0), 0, sizeof(marker0)); initintset_a9a80eJplB17xrdZJ41Baww((&marker0)); matchesaux_5B328Lq3sbOWOpGv9bkDcTg(c0, n0, norig0, m0, (&marker0)); { if (!((*m0).state == ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2))) goto LA7; goto BeforeRet; } LA7: ; f0 = ((NI) 1); { while (1) { NI LOC11; Tsym_AXG7xcvKqaxY6koRX1xkCw* formal0; LOC11 = (NI)0; LOC11 = sonslen_qPWPHw7WgJeEVYUdcaRIig((*(*m0).callee).n); if (!(f0 < LOC11)) goto LA10; formal0 = (*(*(*(*m0).callee).n).kindU.S6.sons->data[f0]).kindU.S4.sym; { NIM_BOOL LOC14; LOC14 = (NIM_BOOL)0; LOC14 = containsorincl_B0EhVMrh5BBBZOOtYjAvVg((&marker0), (*formal0).position); if (!!(LOC14)) goto LA15; { if (!((*formal0).ast == NIM_NIL)) goto LA19; { Tnode_bROa11lyF5vxEN9aYNbHmhw* container0; Ttype_LTUWCZolpovw9cWE3JBWSUw* LOC25; Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC26; if (!((*(*formal0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 48))) goto LA23; LOC25 = (Ttype_LTUWCZolpovw9cWE3JBWSUw*)0; LOC25 = arrayconstr_kYM3keGF9bgNpWhgQ6i4cvw(c0, (*n0).info); container0 = newnodeit_lbGnVdZM6n2HPza7jVIlww(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 41), (*n0).info, LOC25); LOC26 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC26 = implicitconv_ttBE689bA8zSgXJt6wtOZGA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal0).typ, container0, (&(*m0)), c0); setson_FXgYDL7XFFjJ13GOQwso6g((*m0).call, (NI)((*formal0).position + ((NI) 1)), LOC26); } goto LA21; LA23: ; { (*m0).state = ((Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg) 2); goto LA9; } LA21: ; } goto LA17; LA19: ; { Tnode_bROa11lyF5vxEN9aYNbHmhw* def0; def0 = copytree_lz8T1F9c0YwEOpUnrAUYgjg_2((*formal0).ast); { if (!((*def0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA31; def0 = implicitconv_ttBE689bA8zSgXJt6wtOZGA(((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 58), (*formal0).typ, def0, (&(*m0)), c0); } LA31: ; setson_FXgYDL7XFFjJ13GOQwso6g((*m0).call, (NI)((*formal0).position + ((NI) 1)), def0); } LA17: ; } LA15: ; f0 += ((NI) 1); } LA10: ; } LA9: ; }BeforeRet: ; } N_NIMCALL(NimStringDesc*, argtypetostring_4EtZe89aZdrkU6I6iZJr4Yg)(Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0, Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0) { NimStringDesc* result0; result0 = (NimStringDesc*)0; { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC5; if (!((*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA3; LOC5 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC5 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(arg0, ((NI) 0)); result0 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*LOC5).typ, prefer0); { NI i_VB76Q9bNaeACmtcaCkvLNEA; NI HEX3Atmp_LkM1ytqqQxFwzBiaT9bNAYw; NI LOC7; NI res_XKk6kg4zNKiDkRKgYXSoPg; i_VB76Q9bNaeACmtcaCkvLNEA = (NI)0; HEX3Atmp_LkM1ytqqQxFwzBiaT9bNAYw = (NI)0; LOC7 = (NI)0; LOC7 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(arg0); HEX3Atmp_LkM1ytqqQxFwzBiaT9bNAYw = (LOC7 - 1); res_XKk6kg4zNKiDkRKgYXSoPg = ((NI) 1); { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* LOC10; NimStringDesc* LOC11; if (!(res_XKk6kg4zNKiDkRKgYXSoPg <= HEX3Atmp_LkM1ytqqQxFwzBiaT9bNAYw)) goto LA9; i_VB76Q9bNaeACmtcaCkvLNEA = res_XKk6kg4zNKiDkRKgYXSoPg; result0 = resizeString(result0, 3); appendString(result0, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_40)); LOC10 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; LOC10 = HEX5BHEX5D_4mGh5VHoHoaSkXDYdG6pyAitersgen(arg0, i_VB76Q9bNaeACmtcaCkvLNEA); LOC11 = (NimStringDesc*)0; LOC11 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*LOC10).typ, prefer0); result0 = resizeString(result0, LOC11->Sup.len + 0); appendString(result0, LOC11); res_XKk6kg4zNKiDkRKgYXSoPg += ((NI) 1); } LA9: ; } } } goto LA1; LA3: ; { if (!((*arg0).typ == NIM_NIL)) goto LA13; result0 = copyString(((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_41)); } goto LA1; LA13: ; { result0 = typetostring_iUZlBdvGqNPVN17wd9aVBNw((*arg0).typ, prefer0); } LA1: ; return result0; } N_NIMCALL(NimStringDesc*, describeargs_m1uDwnBbJWJYjfhFqPUzpw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0, NI startidx0, Tprefereddesc_tnd4qt9c4xddV8oKV5zyusw prefer0) { NimStringDesc* result0; { result0 = (NimStringDesc*)0; result0 = copyString(((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_11)); { NI i_67sr9bgXymGrxSvWDXz9cqQg; NI HEX3Atmp_RkMNJZApiXgH0B8eBsoLPw; NI LOC2; NI res_oEBnW8NvJ8DVMDonYEWwEg; i_67sr9bgXymGrxSvWDXz9cqQg = (NI)0; HEX3Atmp_RkMNJZApiXgH0B8eBsoLPw = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_RkMNJZApiXgH0B8eBsoLPw = (NI)(LOC2 - ((NI) 1)); res_oEBnW8NvJ8DVMDonYEWwEg = startidx0; { while (1) { Tnode_bROa11lyF5vxEN9aYNbHmhw* arg0; NimStringDesc* LOC29; if (!(res_oEBnW8NvJ8DVMDonYEWwEg <= HEX3Atmp_RkMNJZApiXgH0B8eBsoLPw)) goto LA4; i_67sr9bgXymGrxSvWDXz9cqQg = res_oEBnW8NvJ8DVMDonYEWwEg; arg0 = (*n0).kindU.S6.sons->data[i_67sr9bgXymGrxSvWDXz9cqQg]; { NimStringDesc* LOC9; if (!((*(*n0).kindU.S6.sons->data[i_67sr9bgXymGrxSvWDXz9cqQg]).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 33))) goto LA7; LOC9 = (NimStringDesc*)0; LOC9 = rendertree_ppjdh9aQ5L0SGPF8yz1gZ9cA((*(*n0).kindU.S6.sons->data[i_67sr9bgXymGrxSvWDXz9cqQg]).kindU.S6.sons->data[((NI) 0)], 0); result0 = resizeString(result0, LOC9->Sup.len + 0); appendString(result0, LOC9); result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_39)); { NIM_BOOL LOC12; LOC12 = (NIM_BOOL)0; LOC12 = ((*arg0).typ == 0); if (!(LOC12)) goto LA13; LOC12 = !(((*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52))); LA13: ; if (!LOC12) goto LA14; arg0 = (*c0).semoperand(c0, (*(*n0).kindU.S6.sons->data[i_67sr9bgXymGrxSvWDXz9cqQg]).kindU.S6.sons->data[((NI) 1)], 0); asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[i_67sr9bgXymGrxSvWDXz9cqQg]).typ), (*arg0).typ); asgnRefNoCycle((void**) (&(*(*n0).kindU.S6.sons->data[i_67sr9bgXymGrxSvWDXz9cqQg]).kindU.S6.sons->data[((NI) 1)]), arg0); } LA14: ; } goto LA5; LA7: ; { { NIM_BOOL LOC19; LOC19 = (NIM_BOOL)0; LOC19 = ((*arg0).typ == 0); if (!(LOC19)) goto LA20; LOC19 = !(((*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*arg0).kind == ((Tnodekind_G4E4Gxe7oI2Cm03rkiOzQw) 52))); LA20: ; if (!LOC19) goto LA21; arg0 = (*c0).semoperand(c0, (*n0).kindU.S6.sons->data[i_67sr9bgXymGrxSvWDXz9cqQg], 0); asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_67sr9bgXymGrxSvWDXz9cqQg]), arg0); } LA21: ; } LA5: ; { NIM_BOOL LOC25; LOC25 = (NIM_BOOL)0; LOC25 = !(((*arg0).typ == NIM_NIL)); if (!(LOC25)) goto LA26; LOC25 = ((*(*arg0).typ).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 50)); LA26: ; if (!LOC25) goto LA27; goto BeforeRet; } LA27: ; LOC29 = (NimStringDesc*)0; LOC29 = argtypetostring_4EtZe89aZdrkU6I6iZJr4Yg(arg0, prefer0); result0 = resizeString(result0, LOC29->Sup.len + 0); appendString(result0, LOC29); { NI LOC32; LOC32 = (NI)0; LOC32 = sonslen_qPWPHw7WgJeEVYUdcaRIig(n0); if (!!((i_67sr9bgXymGrxSvWDXz9cqQg == (NI)(LOC32 - ((NI) 1))))) goto LA33; result0 = resizeString(result0, 2); appendString(result0, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_42)); } LA33: ; res_oEBnW8NvJ8DVMDonYEWwEg += ((NI) 1); } LA4: ; } } }BeforeRet: ; return result0; } N_NIMCALL(Tnode_bROa11lyF5vxEN9aYNbHmhw*, usesym_UVnZ9bVxxoYaQEF6x9bJQxyQ)(Tsym_AXG7xcvKqaxY6koRX1xkCw* sym0) { Tnode_bROa11lyF5vxEN9aYNbHmhw* result0; result0 = (Tnode_bROa11lyF5vxEN9aYNbHmhw*)0; result0 = newsymnode_1ARBpggFQuvUDBVYjBelcw(sym0); markused_Ue6rwV8sAT8uVT9cT5cip9aA((*result0).info, sym0); return result0; } N_NIMCALL(void, semfinishoperands_2Z5wP9b7ccKTpEqqJS9aAdvA)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { { NI i_O44HWoDH6rV3BTXnY5h9aDg; NI HEX3Atmp_6zBMZLU9cn5BZeBlOUGc7Lg; NI LOC2; NI res_Uqf0lRfMsxWoF2JATlcxig; i_O44HWoDH6rV3BTXnY5h9aDg = (NI)0; HEX3Atmp_6zBMZLU9cn5BZeBlOUGc7Lg = (NI)0; LOC2 = (NI)0; LOC2 = len_CdME9baJhvveuPEDZE9bXoxAlambdalifting(n0); HEX3Atmp_6zBMZLU9cn5BZeBlOUGc7Lg = (LOC2 - 1); res_Uqf0lRfMsxWoF2JATlcxig = ((NI) 1); { while (1) { if (!(res_Uqf0lRfMsxWoF2JATlcxig <= HEX3Atmp_6zBMZLU9cn5BZeBlOUGc7Lg)) goto LA4; i_O44HWoDH6rV3BTXnY5h9aDg = res_Uqf0lRfMsxWoF2JATlcxig; asgnRefNoCycle((void**) (&(*n0).kindU.S6.sons->data[i_O44HWoDH6rV3BTXnY5h9aDg]), prepareoperand_KkKYwsOmKMXfkn3glfCbuA(c0, (*n0).kindU.S6.sons->data[i_O44HWoDH6rV3BTXnY5h9aDg])); res_Uqf0lRfMsxWoF2JATlcxig += ((NI) 1); } LA4: ; } } } N_NIMCALL(Ttyperelation_1IMf5P083XuEtWGxYaIXyQ, cmptypes_FaOaPySakBuGGYvKQQE5NQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Ttype_LTUWCZolpovw9cWE3JBWSUw* f0, Ttype_LTUWCZolpovw9cWE3JBWSUw* a0) { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ result0; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA m0; result0 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; memset((void*)(&m0), 0, sizeof(m0)); initcandidate_R0iDmZjaDJEKlSDdgINtVg(c0, (&m0), f0); result0 = typerel_0fsYV9bVZA2eXpHTIQspjZA((&m0), f0, a0, NIM_TRUE); return result0; } N_NIMCALL(void, suggeststmt_Ph9cBAfASttahD6s5CLnVLQ)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tnode_bROa11lyF5vxEN9aYNbHmhw* n0) { suggestexpr_GPATGlMDRN5VZ5q4eCQYag(c0, n0); } N_NIMCALL(Tsym_AXG7xcvKqaxY6koRX1xkCw*, insttypeboundop_z7CQkFe9cVhDFxoWtJhu5Aw)(Tcontext_5TfOJKwTttj3W1t1tMzWUQ* c0, Tsym_AXG7xcvKqaxY6koRX1xkCw* dc0, Ttype_LTUWCZolpovw9cWE3JBWSUw* t0, Tlineinfo_T9c3PM9bs7WZ4LIQfEici9cZw info0, Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ op0, NI col0) { Tsym_AXG7xcvKqaxY6koRX1xkCw* result0; Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA m0; Ttype_LTUWCZolpovw9cWE3JBWSUw* f0; { result0 = (Tsym_AXG7xcvKqaxY6koRX1xkCw*)0; memset((void*)(&m0), 0, sizeof(m0)); initcandidate_R0iDmZjaDJEKlSDdgINtVg(c0, (&m0), (*dc0).typ); { NI LOC3; NimStringDesc* LOC6; LOC3 = (NI)0; LOC3 = len_gG7hUAX9cA629ahMLVL3xN4w_2((*dc0).typ); if (!(LOC3 <= col0)) goto LA4; LOC6 = (NimStringDesc*)0; LOC6 = rawNewString((*(*dc0).name).s->Sup.len + 21); appendString(LOC6, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_43)); appendString(LOC6, (*(*dc0).name).s); appendString(LOC6, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_44)); localerror_VpilfPWbplGz6ny7O9cfr2g(info0, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC6); result0 = NIM_NIL; goto BeforeRet; } LA4: ; f0 = (*(*dc0).typ).sons->data[col0]; { if (!(op0 == ((Ttypeattachedop_jZY2AMF49b43fezf9aDwN9c9cQ) 1))) goto LA9; { if (!((6291456 &((NU64)1<<((NU)((*f0).kind)&63U)))!=0)) goto LA13; f0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(f0); } LA13: ; } goto LA7; LA9: ; { { if (!((*f0).kind == ((Ttypekind_9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA18; f0 = lastson_E41DMKHtT9c6sAMyyvhmSIw(f0); } LA18: ; } LA7: ; { Ttyperelation_1IMf5P083XuEtWGxYaIXyQ LOC22; NimStringDesc* LOC25; LOC22 = (Ttyperelation_1IMf5P083XuEtWGxYaIXyQ)0; LOC22 = typerel_0fsYV9bVZA2eXpHTIQspjZA((&m0), f0, t0, NIM_TRUE); if (!(LOC22 == ((Ttyperelation_1IMf5P083XuEtWGxYaIXyQ) 0))) goto LA23; LOC25 = (NimStringDesc*)0; LOC25 = rawNewString((*(*dc0).name).s->Sup.len + 21); appendString(LOC25, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_43)); appendString(LOC25, (*(*dc0).name).s); appendString(LOC25, ((NimStringDesc*) &T_EV5hHJmjIY9cla9b9be7fSVJQ_44)); localerror_VpilfPWbplGz6ny7O9cfr2g(info0, ((Tmsgkind_IGAWgv9aR2KqPKJfPZPEWaw) 4), LOC25); } goto LA20; LA23: ; { result0 = (*c0).semgenerateinstance.ClEnv? (*c0).semgenerateinstance.ClPrc(c0, dc0, m0.bindings, info0, (*c0).semgenerateinstance.ClEnv):((T_EV5hHJmjIY9cla9b9be7fSVJQ_45)((*c0).semgenerateinstance.ClPrc))(c0, dc0, m0.bindings, info0); } LA20: ; }BeforeRet: ; return result0; } NIM_EXTERNC N_NOINLINE(void, compiler_sigmatchInit000)(void) { nimRegisterGlobalMarker(T_EV5hHJmjIY9cla9b9be7fSVJQ_3); nimRegisterGlobalMarker(T_EV5hHJmjIY9cla9b9be7fSVJQ_4); } NIM_EXTERNC N_NOINLINE(void, compiler_sigmatchDatInit000)(void) { static TNimNode* T_EV5hHJmjIY9cla9b9be7fSVJQ_2[2]; static TNimNode* T_EV5hHJmjIY9cla9b9be7fSVJQ_12[11]; static TNimNode* T_EV5hHJmjIY9cla9b9be7fSVJQ_30[22]; static TNimNode* T_EV5hHJmjIY9cla9b9be7fSVJQ_31[3]; NI T_EV5hHJmjIY9cla9b9be7fSVJQ_33; static char* NIM_CONST T_EV5hHJmjIY9cla9b9be7fSVJQ_32[3] = { "csEmpty", "csMatch", "csNoMatch"}; static TNimNode* T_EV5hHJmjIY9cla9b9be7fSVJQ_34[2]; static TNimNode T_EV5hHJmjIY9cla9b9be7fSVJQ_0[45]; NTI_S1iHa9bJe79be19aRwtH7KMRg.size = sizeof(TY_sdDP1TTkc2gaTu5fV53Zqg); NTI_S1iHa9bJe79be19aRwtH7KMRg.kind = 18; NTI_S1iHa9bJe79be19aRwtH7KMRg.base = 0; NTI_S1iHa9bJe79be19aRwtH7KMRg.flags = 2; T_EV5hHJmjIY9cla9b9be7fSVJQ_2[0] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[1]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[1].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[1].offset = offsetof(TY_sdDP1TTkc2gaTu5fV53Zqg, Field0); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[1].typ = (&NTI_vr5DoT1jILTGdRlYv1OYpw); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[1].name = "Field0"; T_EV5hHJmjIY9cla9b9be7fSVJQ_2[1] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[2]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[2].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[2].offset = offsetof(TY_sdDP1TTkc2gaTu5fV53Zqg, Field1); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[2].typ = (&NTI_j4IZVEbOYTm9aXKJeVb8ILQ); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[2].name = "Field1"; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[0].len = 2; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[0].kind = 2; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[0].sons = &T_EV5hHJmjIY9cla9b9be7fSVJQ_2[0]; NTI_S1iHa9bJe79be19aRwtH7KMRg.node = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[0]; NTI_tFc84OXhHlhBIifsMtOJew.size = sizeof(Suggest_tFc84OXhHlhBIifsMtOJew); NTI_tFc84OXhHlhBIifsMtOJew.kind = 18; NTI_tFc84OXhHlhBIifsMtOJew.base = 0; NTI_tFc84OXhHlhBIifsMtOJew.flags = 2; T_EV5hHJmjIY9cla9b9be7fSVJQ_12[0] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[4]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[4].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[4].offset = offsetof(Suggest_tFc84OXhHlhBIifsMtOJew, section); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[4].typ = (&NTI_1Ced39bl5eePmZ1PKMPXigQ); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[4].name = "section"; T_EV5hHJmjIY9cla9b9be7fSVJQ_12[1] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[5]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[5].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[5].offset = offsetof(Suggest_tFc84OXhHlhBIifsMtOJew, qualifiedpath); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[5].typ = (&NTI_sM4lkSb7zS6F7OVMvW9cffQ); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[5].name = "qualifiedPath"; T_EV5hHJmjIY9cla9b9be7fSVJQ_12[2] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[6]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[6].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[6].offset = offsetof(Suggest_tFc84OXhHlhBIifsMtOJew, filepath); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[6].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[6].name = "filePath"; T_EV5hHJmjIY9cla9b9be7fSVJQ_12[3] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[7]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[7].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[7].offset = offsetof(Suggest_tFc84OXhHlhBIifsMtOJew, line); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[7].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[7].name = "line"; T_EV5hHJmjIY9cla9b9be7fSVJQ_12[4] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[8]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[8].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[8].offset = offsetof(Suggest_tFc84OXhHlhBIifsMtOJew, column); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[8].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[8].name = "column"; T_EV5hHJmjIY9cla9b9be7fSVJQ_12[5] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[9]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[9].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[9].offset = offsetof(Suggest_tFc84OXhHlhBIifsMtOJew, doc); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[9].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[9].name = "doc"; T_EV5hHJmjIY9cla9b9be7fSVJQ_12[6] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[10]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[10].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[10].offset = offsetof(Suggest_tFc84OXhHlhBIifsMtOJew, symkind); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[10].typ = (&NTI_cNCW9acsSznmEccl1fgQwkw); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[10].name = "symkind"; T_EV5hHJmjIY9cla9b9be7fSVJQ_12[7] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[11]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[11].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[11].offset = offsetof(Suggest_tFc84OXhHlhBIifsMtOJew, forth); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[11].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[11].name = "forth"; T_EV5hHJmjIY9cla9b9be7fSVJQ_12[8] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[12]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[12].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[12].offset = offsetof(Suggest_tFc84OXhHlhBIifsMtOJew, quality); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[12].typ = (&NTI_13aFwjKaWlqhwUBjDHvkIw); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[12].name = "quality"; T_EV5hHJmjIY9cla9b9be7fSVJQ_12[9] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[13]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[13].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[13].offset = offsetof(Suggest_tFc84OXhHlhBIifsMtOJew, isglobal); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[13].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[13].name = "isGlobal"; T_EV5hHJmjIY9cla9b9be7fSVJQ_12[10] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[14]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[14].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[14].offset = offsetof(Suggest_tFc84OXhHlhBIifsMtOJew, tokenlen); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[14].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[14].name = "tokenLen"; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[3].len = 11; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[3].kind = 2; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[3].sons = &T_EV5hHJmjIY9cla9b9be7fSVJQ_12[0]; NTI_tFc84OXhHlhBIifsMtOJew.node = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[3]; NTI_B8Gf2sSWgQ79bLZ9bYWrLHaA.size = sizeof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA); NTI_B8Gf2sSWgQ79bLZ9bYWrLHaA.kind = 18; NTI_B8Gf2sSWgQ79bLZ9bYWrLHaA.base = 0; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[0] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[16]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[16].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[16].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, c); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[16].typ = (&NTI_QxKU6hUjq23Dy0KTbUHAjg); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[16].name = "c"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[1] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[17]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[17].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[17].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, exactmatches); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[17].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[17].name = "exactMatches"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[2] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[18]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[18].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[18].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, genericmatches); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[18].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[18].name = "genericMatches"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[3] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[19]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[19].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[19].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, subtypematches); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[19].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[19].name = "subtypeMatches"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[4] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[20]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[20].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[20].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, intconvmatches); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[20].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[20].name = "intConvMatches"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[5] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[21]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[21].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[21].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, convmatches); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[21].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[21].name = "convMatches"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[6] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[22]; NTI_C8RXb59bvbxaTzDOqx49aVVg.size = sizeof(Tcandidatestate_C8RXb59bvbxaTzDOqx49aVVg); NTI_C8RXb59bvbxaTzDOqx49aVVg.kind = 14; NTI_C8RXb59bvbxaTzDOqx49aVVg.base = 0; NTI_C8RXb59bvbxaTzDOqx49aVVg.flags = 3; for (T_EV5hHJmjIY9cla9b9be7fSVJQ_33 = 0; T_EV5hHJmjIY9cla9b9be7fSVJQ_33 < 3; T_EV5hHJmjIY9cla9b9be7fSVJQ_33++) { T_EV5hHJmjIY9cla9b9be7fSVJQ_0[T_EV5hHJmjIY9cla9b9be7fSVJQ_33+23].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[T_EV5hHJmjIY9cla9b9be7fSVJQ_33+23].offset = T_EV5hHJmjIY9cla9b9be7fSVJQ_33; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[T_EV5hHJmjIY9cla9b9be7fSVJQ_33+23].name = T_EV5hHJmjIY9cla9b9be7fSVJQ_32[T_EV5hHJmjIY9cla9b9be7fSVJQ_33]; T_EV5hHJmjIY9cla9b9be7fSVJQ_31[T_EV5hHJmjIY9cla9b9be7fSVJQ_33] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[T_EV5hHJmjIY9cla9b9be7fSVJQ_33+23]; } T_EV5hHJmjIY9cla9b9be7fSVJQ_0[26].len = 3; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[26].kind = 2; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[26].sons = &T_EV5hHJmjIY9cla9b9be7fSVJQ_31[0]; NTI_C8RXb59bvbxaTzDOqx49aVVg.node = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[26]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[22].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[22].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, state); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[22].typ = (&NTI_C8RXb59bvbxaTzDOqx49aVVg); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[22].name = "state"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[7] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[27]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[27].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[27].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, callee); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[27].typ = (&NTI_1EooIlSGbJRPSt3SfQJd7Q); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[27].name = "callee"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[8] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[28]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[28].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[28].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, calleesym); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[28].typ = (&NTI_83n62yi1b9bgUtRR9axFWW9ag); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[28].name = "calleeSym"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[9] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[29]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[29].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[29].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, calleescope); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[29].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[29].name = "calleeScope"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[10] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[30]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[30].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[30].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, call); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[30].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[30].name = "call"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[11] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[31]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[31].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[31].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, bindings); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[31].typ = (&NTI_9aiv9bp2t5icFNINcg9c4xi1Q); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[31].name = "bindings"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[12] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[32]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[32].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[32].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, magic); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[32].typ = (&NTI_shZhZOdbVC5nnFvcXQAImg); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[32].name = "magic"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[13] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[33]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[33].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[33].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, basetypematch); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[33].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[33].name = "baseTypeMatch"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[14] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[34]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[34].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[34].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, fauxmatch); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[34].typ = (&NTI_9a3YiReNVD0IJHWFKgXRe9ag); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[34].name = "fauxMatch"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[15] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[35]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[35].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[35].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, genericconverter); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[35].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[35].name = "genericConverter"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[16] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[36]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[36].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[36].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, coercedistincts); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[36].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[36].name = "coerceDistincts"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[17] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[37]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[37].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[37].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, typedescmatched); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[37].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[37].name = "typedescMatched"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[18] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[38]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[38].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[38].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, isnocall); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[38].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[38].name = "isNoCall"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[19] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[39]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[39].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[39].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, mutabilityproblem); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[39].typ = (&NTI_k3HXouOuhqAKq0dx450lXQ); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[39].name = "mutabilityProblem"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[20] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[40]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[40].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[40].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, inheritancepenalty); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[40].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[40].name = "inheritancePenalty"; T_EV5hHJmjIY9cla9b9be7fSVJQ_30[21] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[41]; NTI_uZlRb8w5pa9b16Yfjq9cGRXQ.size = sizeof(TY_uZlRb8w5pa9b16Yfjq9cGRXQ); NTI_uZlRb8w5pa9b16Yfjq9cGRXQ.kind = 18; NTI_uZlRb8w5pa9b16Yfjq9cGRXQ.base = 0; NTI_uZlRb8w5pa9b16Yfjq9cGRXQ.flags = 2; T_EV5hHJmjIY9cla9b9be7fSVJQ_34[0] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[43]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[43].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[43].offset = offsetof(TY_uZlRb8w5pa9b16Yfjq9cGRXQ, Field0); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[43].typ = (&NTI_83n62yi1b9bgUtRR9axFWW9ag); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[43].name = "Field0"; T_EV5hHJmjIY9cla9b9be7fSVJQ_34[1] = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[44]; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[44].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[44].offset = offsetof(TY_uZlRb8w5pa9b16Yfjq9cGRXQ, Field1); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[44].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[44].name = "Field1"; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[42].len = 2; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[42].kind = 2; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[42].sons = &T_EV5hHJmjIY9cla9b9be7fSVJQ_34[0]; NTI_uZlRb8w5pa9b16Yfjq9cGRXQ.node = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[42]; NTI_xITzrU1RhJLKwBlRCAbn9bA.size = sizeof(TY_xITzrU1RhJLKwBlRCAbn9bA*); NTI_xITzrU1RhJLKwBlRCAbn9bA.kind = 24; NTI_xITzrU1RhJLKwBlRCAbn9bA.base = (&NTI_uZlRb8w5pa9b16Yfjq9cGRXQ); NTI_xITzrU1RhJLKwBlRCAbn9bA.flags = 2; NTI_xITzrU1RhJLKwBlRCAbn9bA.marker = Marker_TY_xITzrU1RhJLKwBlRCAbn9bA; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[41].kind = 1; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[41].offset = offsetof(Tcandidate_B8Gf2sSWgQ79bLZ9bYWrLHaA, errors); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[41].typ = (&NTI_xITzrU1RhJLKwBlRCAbn9bA); T_EV5hHJmjIY9cla9b9be7fSVJQ_0[41].name = "errors"; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[15].len = 22; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[15].kind = 2; T_EV5hHJmjIY9cla9b9be7fSVJQ_0[15].sons = &T_EV5hHJmjIY9cla9b9be7fSVJQ_30[0]; NTI_B8Gf2sSWgQ79bLZ9bYWrLHaA.node = &T_EV5hHJmjIY9cla9b9be7fSVJQ_0[15]; }