/* Generated by Nim Compiler v0.16.0 */ /* (c) 2017 Andreas Rumpf */ /* The generated code is subject to the original license. */ #define NIM_INTBITS 32 #include "nimbase.h" #include #undef linux typedef struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw; typedef struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct TNimObject TNimObject; 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 NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q; typedef struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w Basechunk_Sdq7WpT6qAH858F5ZEdG3w; typedef struct Freecell_u6M5LHprqzkn9axr04yg9bGQ Freecell_u6M5LHprqzkn9axr04yg9bGQ; struct Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* head; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* tail; NI counter; }; 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; }; struct TNimObject { TNimType* m_type; }; struct Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q { TNimObject Sup; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* prev; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* next; }; 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 TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q Sup; NimStringDesc* data; }; struct Gcstack_7fytPA5bBsob6See21YMRA { Gcstack_7fytPA5bBsob6See21YMRA* prev; Gcstack_7fytPA5bBsob6See21YMRA* next; void* starts; void* pos; NI maxstacksize; }; struct Basechunk_Sdq7WpT6qAH858F5ZEdG3w { NI prevsize; NI size; NIM_BOOL used; }; struct Smallchunk_tXn60W2f8h3jgAYdEmy5NQ { Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* next; Smallchunk_tXn60W2f8h3jgAYdEmy5NQ* prev; Freecell_u6M5LHprqzkn9axr04yg9bGQ* freelist; NI free; NI acc; NF data; }; struct Llchunk_XsENErzHIZV9bhvyJx56wGw { NI size; NI acc; Llchunk_XsENErzHIZV9bhvyJx56wGw* next; }; struct Bigchunk_Rv9c70Uhp2TytkX7eH78qEg { Basechunk_Sdq7WpT6qAH858F5ZEdG3w Sup; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* next; Bigchunk_Rv9c70Uhp2TytkX7eH78qEg* prev; NI align; NF data; }; typedef NI TY_9agrCtWKhCnWWMJpKKugJag[16]; struct Trunk_W0r8S0Y3UGke6T9bIUWnnuw { Trunk_W0r8S0Y3UGke6T9bIUWnnuw* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; typedef Avlnode_IaqjtwKhxLEpvDS9bct9blEw* TY_0aOLqZchNi8nWtMTi8ND8w[2]; struct Avlnode_IaqjtwKhxLEpvDS9bct9blEw { TY_0aOLqZchNi8nWtMTi8ND8w link; NI key; NI upperbound; NI level; }; struct Pagedesc_fublkgIY4LG3mT51LU2WHg { Pagedesc_fublkgIY4LG3mT51LU2WHg* next; NI key; TY_9agrCtWKhCnWWMJpKKugJag bits; }; struct Freecell_u6M5LHprqzkn9axr04yg9bGQ { Freecell_u6M5LHprqzkn9axr04yg9bGQ* next; NI zerofield; }; N_NIMCALL(void, nimGCvisit)(void* d0, NI op0); static N_NIMCALL(void, Marker_TY_UBJpHsWZIqc2lh9bCj5YngA)(void* p, NI op); N_NIMCALL(void, remove_OHo5UGptcxVKInJo6EIoMg_2)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0); N_NIMCALL(void, unsureAsgnRef)(void** dest0, void* src0); 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, prepend_OHo5UGptcxVKInJo6EIoMg_3)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0); static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0); static N_INLINE(NIM_BOOL, equalmem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a0, void* b0, NI size0); N_NIMCALL(Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*, newstrentry_NdVqqs2Ekiz2isZTdUH6Qg)(NimStringDesc* data0); static N_NIMCALL(void, Marker_TY_NaF9cxlzx20LCo9cM6xfyr5A)(void* p, NI op); N_NIMCALL(void*, newObj)(TNimType* typ0, NI size0); N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src0); static N_INLINE(void, nimGCunrefNoCycle)(void* p0); N_NIMCALL(NI, noscmpPaths)(NimStringDesc* patha0, NimStringDesc* pathb0); N_NIMCALL(void, append_OHo5UGptcxVKInJo6EIoMg_4)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0); N_NIMCALL(NIM_BOOL, contains_3NRZAjGu9bLiJruVlzBLQAw)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw list0, NimStringDesc* data0); N_NIMCALL(void, appendstr_owVv9bF5I9bEH2NNSvxvPOvQ_3)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, NimStringDesc* data0); TNimType NTI_9aBiIjAa4z2zTLjp4yMUvLw; extern TNimType NTI_13RNkKqUOX1TtorOUlKtqA; TNimType NTI_U4JkVlrJQaACKZ9a9cwCla3Q; TNimType NTI_UBJpHsWZIqc2lh9bCj5YngA; extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA; extern Gcheap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q; TNimType NTI_3m9czjBTF9ccwc2UyFTPCO8Q; extern TNimType NTI_77mFvmsOLKik79ci2hXkHEg; TNimType NTI_NaF9cxlzx20LCo9cM6xfyr5A; static N_NIMCALL(void, Marker_TY_UBJpHsWZIqc2lh9bCj5YngA)(void* p, NI op) { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* a; a = (Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q*)p; nimGCvisit((void*)(*a).prev, op); nimGCvisit((void*)(*a).next, op); } static N_INLINE(void, incref_9cAA5YuQAAC3MVbnGeV86swsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { (*c0).refcount = (NI)((NU32)((*c0).refcount) + (NU32)(((NI) 8))); } static N_INLINE(Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem)(void* usr0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* result0; result0 = (Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0; result0 = ((Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU32)(((NI) (usr0))) - (NU32)(((NI)sizeof(Cell_1zcF9cV8XIAtbN8h5HRUB8g)))))); return result0; } static N_INLINE(void, rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { addzct_fCDI7oO1NNVXXURtxSzsRw((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c0); } static N_INLINE(void, decref_MV4BBk6J1qu70IbBxwEn4wsystem)(Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0) { { (*c0).refcount -= ((NI) 8); if (!((NU32)((*c0).refcount) < (NU32)(((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; } N_NIMCALL(void, remove_OHo5UGptcxVKInJo6EIoMg_2)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0) { (*list0).counter -= ((NI) 1); { if (!(entry0 == (*list0).tail)) goto LA3; unsureAsgnRef((void**) (&(*list0).tail), (*entry0).prev); } LA3: ; { if (!(entry0 == (*list0).head)) goto LA7; unsureAsgnRef((void**) (&(*list0).head), (*entry0).next); } LA7: ; { if (!!(((*entry0).next == NIM_NIL))) goto LA11; asgnRef((void**) (&(*(*entry0).next).prev), (*entry0).prev); } LA11: ; { if (!!(((*entry0).prev == NIM_NIL))) goto LA15; asgnRef((void**) (&(*(*entry0).prev).next), (*entry0).next); } LA15: ; } N_NIMCALL(void, prepend_OHo5UGptcxVKInJo6EIoMg_3)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0) { (*list0).counter += ((NI) 1); asgnRef((void**) (&(*entry0).prev), NIM_NIL); asgnRef((void**) (&(*entry0).next), (*list0).head); { if (!!(((*list0).head == NIM_NIL))) goto LA3; asgnRef((void**) (&(*(*list0).head).prev), entry0); } LA3: ; unsureAsgnRef((void**) (&(*list0).head), entry0); { if (!((*list0).tail == NIM_NIL)) goto LA7; unsureAsgnRef((void**) (&(*list0).tail), entry0); } LA7: ; } N_NIMCALL(void, bringtofront_OHo5UGptcxVKInJo6EIoMg)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0) { remove_OHo5UGptcxVKInJo6EIoMg_2(list0, entry0); prepend_OHo5UGptcxVKInJo6EIoMg_3(list0, entry0); } static N_INLINE(NIM_BOOL, equalmem_DCrUjdaMvFDHaR1hs7sQGwropes)(void* a0, void* b0, NI size0) { NIM_BOOL result0; int LOC1; result0 = (NIM_BOOL)0; LOC1 = (int)0; LOC1 = memcmp(a0, b0, ((size_t) (size0))); result0 = (LOC1 == ((NI32) 0)); return result0; } static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a0, NimStringDesc* b0) { NIM_BOOL result0; NIM_BOOL LOC11; { result0 = (NIM_BOOL)0; { if (!(a0 == b0)) goto LA3; result0 = NIM_TRUE; goto BeforeRet; } LA3: ; { NIM_BOOL LOC7; LOC7 = (NIM_BOOL)0; LOC7 = (a0 == NIM_NIL); if (LOC7) goto LA8; LOC7 = (b0 == NIM_NIL); LA8: ; if (!LOC7) goto LA9; result0 = NIM_FALSE; goto BeforeRet; } LA9: ; LOC11 = (NIM_BOOL)0; LOC11 = ((*a0).Sup.len == (*b0).Sup.len); if (!(LOC11)) goto LA12; LOC11 = equalmem_DCrUjdaMvFDHaR1hs7sQGwropes(((void*) ((*a0).data)), ((void*) ((*b0).data)), ((NI) ((*a0).Sup.len))); LA12: ; result0 = LOC11; goto BeforeRet; }BeforeRet: ; return result0; } N_NIMCALL(NIM_BOOL, contains_3NRZAjGu9bLiJruVlzBLQAw)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw list0, NimStringDesc* data0) { NIM_BOOL result0; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* it0; { result0 = (NIM_BOOL)0; it0 = list0.head; { while (1) { if (!!((it0 == NIM_NIL))) goto LA2; { if (!eqStrings((*((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) (it0))).data, data0)) goto LA5; result0 = NIM_TRUE; goto BeforeRet; } LA5: ; it0 = (*it0).next; } LA2: ; } }BeforeRet: ; return result0; } static N_NIMCALL(void, Marker_TY_NaF9cxlzx20LCo9cM6xfyr5A)(void* p, NI op) { Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* a; a = (Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*)p; nimGCvisit((void*)(*a).Sup.prev, op); nimGCvisit((void*)(*a).Sup.next, op); nimGCvisit((void*)(*a).data, op); } static N_INLINE(void, nimGCunrefNoCycle)(void* p0) { Cell_1zcF9cV8XIAtbN8h5HRUB8g* c0; c0 = usrtocell_yB9aH5WIlwd0xkYrcdPeXrQsystem(p0); { (*c0).refcount -= ((NI) 8); if (!((NU32)((*c0).refcount) < (NU32)(((NI) 8)))) goto LA3; rtladdzct_MV4BBk6J1qu70IbBxwEn4w_2system(c0); } LA3: ; } N_NIMCALL(Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*, newstrentry_NdVqqs2Ekiz2isZTdUH6Qg)(NimStringDesc* data0) { Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* result0; NimStringDesc* LOC1; result0 = (Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*)0; result0 = (Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) newObj((&NTI_NaF9cxlzx20LCo9cM6xfyr5A), sizeof(Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q)); (*result0).Sup.Sup.m_type = (&NTI_3m9czjBTF9ccwc2UyFTPCO8Q); LOC1 = (NimStringDesc*)0; LOC1 = (*result0).data; (*result0).data = copyStringRC1(data0); if (LOC1) nimGCunrefNoCycle(LOC1); return result0; } N_NIMCALL(void, prependstr_owVv9bF5I9bEH2NNSvxvPOvQ)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, NimStringDesc* data0) { Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* LOC1; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* LOC2; LOC1 = (Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*)0; LOC1 = newstrentry_NdVqqs2Ekiz2isZTdUH6Qg(data0); LOC2 = (Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q*)0; LOC2 = &LOC1->Sup; prepend_OHo5UGptcxVKInJo6EIoMg_3(list0, LOC2); } N_NIMCALL(void, excludepath_owVv9bF5I9bEH2NNSvxvPOvQ_2)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, NimStringDesc* data0) { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* it0; it0 = (*list0).head; { while (1) { Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* nxt0; if (!!((it0 == NIM_NIL))) goto LA2; nxt0 = (*it0).next; { NI LOC5; LOC5 = (NI)0; LOC5 = noscmpPaths((*((Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*) (it0))).data, data0); if (!(LOC5 == ((NI) 0))) goto LA6; remove_OHo5UGptcxVKInJo6EIoMg_2(list0, it0); } LA6: ; it0 = nxt0; } LA2: ; } } N_NIMCALL(void, append_OHo5UGptcxVKInJo6EIoMg_4)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* entry0) { (*list0).counter += ((NI) 1); asgnRef((void**) (&(*entry0).next), NIM_NIL); asgnRef((void**) (&(*entry0).prev), (*list0).tail); { if (!!(((*list0).tail == NIM_NIL))) goto LA3; asgnRef((void**) (&(*(*list0).tail).next), entry0); } LA3: ; unsureAsgnRef((void**) (&(*list0).tail), entry0); { if (!((*list0).head == NIM_NIL)) goto LA7; unsureAsgnRef((void**) (&(*list0).head), entry0); } LA7: ; } N_NIMCALL(void, appendstr_owVv9bF5I9bEH2NNSvxvPOvQ_3)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, NimStringDesc* data0) { Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q* LOC1; Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q* LOC2; LOC1 = (Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*)0; LOC1 = newstrentry_NdVqqs2Ekiz2isZTdUH6Qg(data0); LOC2 = (Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q*)0; LOC2 = &LOC1->Sup; append_OHo5UGptcxVKInJo6EIoMg_4(list0, LOC2); } N_NIMCALL(void, initlinkedlist_t8HJBv7J7KjK9cAoDRPa1ig)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0) { (*list0).counter = ((NI) 0); unsureAsgnRef((void**) (&(*list0).head), NIM_NIL); unsureAsgnRef((void**) (&(*list0).tail), NIM_NIL); } N_NIMCALL(NIM_BOOL, includestr_F3uCsLP2vJ6GTlB2VzL9cXA)(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw* list0, NimStringDesc* data0) { NIM_BOOL result0; { result0 = (NIM_BOOL)0; { NIM_BOOL LOC3; LOC3 = (NIM_BOOL)0; LOC3 = contains_3NRZAjGu9bLiJruVlzBLQAw((*list0), data0); if (!LOC3) goto LA4; result0 = NIM_TRUE; goto BeforeRet; } LA4: ; appendstr_owVv9bF5I9bEH2NNSvxvPOvQ_3(list0, data0); }BeforeRet: ; return result0; } NIM_EXTERNC N_NOINLINE(void, compiler_listsInit000)(void) { } NIM_EXTERNC N_NOINLINE(void, compiler_listsDatInit000)(void) { static TNimNode* T_QvsjVsCBbaN7i1aUcQou7A_2[3]; static TNimNode* T_QvsjVsCBbaN7i1aUcQou7A_3[2]; static TNimNode T_QvsjVsCBbaN7i1aUcQou7A_0[8]; NTI_9aBiIjAa4z2zTLjp4yMUvLw.size = sizeof(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw); NTI_9aBiIjAa4z2zTLjp4yMUvLw.kind = 18; NTI_9aBiIjAa4z2zTLjp4yMUvLw.base = 0; T_QvsjVsCBbaN7i1aUcQou7A_2[0] = &T_QvsjVsCBbaN7i1aUcQou7A_0[1]; NTI_U4JkVlrJQaACKZ9a9cwCla3Q.size = sizeof(Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q); NTI_U4JkVlrJQaACKZ9a9cwCla3Q.kind = 17; NTI_U4JkVlrJQaACKZ9a9cwCla3Q.base = (&NTI_13RNkKqUOX1TtorOUlKtqA); T_QvsjVsCBbaN7i1aUcQou7A_3[0] = &T_QvsjVsCBbaN7i1aUcQou7A_0[3]; T_QvsjVsCBbaN7i1aUcQou7A_0[3].kind = 1; T_QvsjVsCBbaN7i1aUcQou7A_0[3].offset = offsetof(Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q, prev); T_QvsjVsCBbaN7i1aUcQou7A_0[3].typ = (&NTI_UBJpHsWZIqc2lh9bCj5YngA); T_QvsjVsCBbaN7i1aUcQou7A_0[3].name = "prev"; T_QvsjVsCBbaN7i1aUcQou7A_3[1] = &T_QvsjVsCBbaN7i1aUcQou7A_0[4]; T_QvsjVsCBbaN7i1aUcQou7A_0[4].kind = 1; T_QvsjVsCBbaN7i1aUcQou7A_0[4].offset = offsetof(Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q, next); T_QvsjVsCBbaN7i1aUcQou7A_0[4].typ = (&NTI_UBJpHsWZIqc2lh9bCj5YngA); T_QvsjVsCBbaN7i1aUcQou7A_0[4].name = "next"; T_QvsjVsCBbaN7i1aUcQou7A_0[2].len = 2; T_QvsjVsCBbaN7i1aUcQou7A_0[2].kind = 2; T_QvsjVsCBbaN7i1aUcQou7A_0[2].sons = &T_QvsjVsCBbaN7i1aUcQou7A_3[0]; NTI_U4JkVlrJQaACKZ9a9cwCla3Q.node = &T_QvsjVsCBbaN7i1aUcQou7A_0[2]; NTI_UBJpHsWZIqc2lh9bCj5YngA.size = sizeof(Tlistentry_U4JkVlrJQaACKZ9a9cwCla3Q*); NTI_UBJpHsWZIqc2lh9bCj5YngA.kind = 22; NTI_UBJpHsWZIqc2lh9bCj5YngA.base = (&NTI_U4JkVlrJQaACKZ9a9cwCla3Q); NTI_UBJpHsWZIqc2lh9bCj5YngA.marker = Marker_TY_UBJpHsWZIqc2lh9bCj5YngA; T_QvsjVsCBbaN7i1aUcQou7A_0[1].kind = 1; T_QvsjVsCBbaN7i1aUcQou7A_0[1].offset = offsetof(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw, head); T_QvsjVsCBbaN7i1aUcQou7A_0[1].typ = (&NTI_UBJpHsWZIqc2lh9bCj5YngA); T_QvsjVsCBbaN7i1aUcQou7A_0[1].name = "head"; T_QvsjVsCBbaN7i1aUcQou7A_2[1] = &T_QvsjVsCBbaN7i1aUcQou7A_0[5]; T_QvsjVsCBbaN7i1aUcQou7A_0[5].kind = 1; T_QvsjVsCBbaN7i1aUcQou7A_0[5].offset = offsetof(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw, tail); T_QvsjVsCBbaN7i1aUcQou7A_0[5].typ = (&NTI_UBJpHsWZIqc2lh9bCj5YngA); T_QvsjVsCBbaN7i1aUcQou7A_0[5].name = "tail"; T_QvsjVsCBbaN7i1aUcQou7A_2[2] = &T_QvsjVsCBbaN7i1aUcQou7A_0[6]; T_QvsjVsCBbaN7i1aUcQou7A_0[6].kind = 1; T_QvsjVsCBbaN7i1aUcQou7A_0[6].offset = offsetof(Tlinkedlist_9aBiIjAa4z2zTLjp4yMUvLw, counter); T_QvsjVsCBbaN7i1aUcQou7A_0[6].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA); T_QvsjVsCBbaN7i1aUcQou7A_0[6].name = "counter"; T_QvsjVsCBbaN7i1aUcQou7A_0[0].len = 3; T_QvsjVsCBbaN7i1aUcQou7A_0[0].kind = 2; T_QvsjVsCBbaN7i1aUcQou7A_0[0].sons = &T_QvsjVsCBbaN7i1aUcQou7A_2[0]; NTI_9aBiIjAa4z2zTLjp4yMUvLw.node = &T_QvsjVsCBbaN7i1aUcQou7A_0[0]; NTI_3m9czjBTF9ccwc2UyFTPCO8Q.size = sizeof(Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q); NTI_3m9czjBTF9ccwc2UyFTPCO8Q.kind = 17; NTI_3m9czjBTF9ccwc2UyFTPCO8Q.base = (&NTI_U4JkVlrJQaACKZ9a9cwCla3Q); T_QvsjVsCBbaN7i1aUcQou7A_0[7].kind = 1; T_QvsjVsCBbaN7i1aUcQou7A_0[7].offset = offsetof(Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q, data); T_QvsjVsCBbaN7i1aUcQou7A_0[7].typ = (&NTI_77mFvmsOLKik79ci2hXkHEg); T_QvsjVsCBbaN7i1aUcQou7A_0[7].name = "data"; NTI_3m9czjBTF9ccwc2UyFTPCO8Q.node = &T_QvsjVsCBbaN7i1aUcQou7A_0[7]; NTI_NaF9cxlzx20LCo9cM6xfyr5A.size = sizeof(Tstrentry_3m9czjBTF9ccwc2UyFTPCO8Q*); NTI_NaF9cxlzx20LCo9cM6xfyr5A.kind = 22; NTI_NaF9cxlzx20LCo9cM6xfyr5A.base = (&NTI_3m9czjBTF9ccwc2UyFTPCO8Q); NTI_NaF9cxlzx20LCo9cM6xfyr5A.marker = Marker_TY_NaF9cxlzx20LCo9cM6xfyr5A; }