/* Generated by Nim Compiler v1.6.2 */ #define NIM_INTBITS 32 #define NIM_EmulateOverflowChecks #include "nimbase.h" #include #undef LANGUAGE_C #undef MIPSEB #undef MIPSEL #undef PPC #undef R3000 #undef R4000 #undef i386 #undef linux #undef mips #undef near #undef far #undef powerpc #undef unix #define nimfr_(x, y) #define nimln_(x, y) typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw; typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ; typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw; typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw; typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q; typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w; typedef struct RootObj RootObj; typedef struct TNimType TNimType; typedef struct TNimNode TNimNode; typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g; typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg; typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA; typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q; typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA; typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA; typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA; typedef struct NimStringDesc NimStringDesc; typedef struct TGenericSeq TGenericSeq; typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ; typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A; typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w; typedef struct tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g; typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g; typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w; typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ; typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA; typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg; typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ; typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg; typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw; typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA; typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw; typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw; typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg; typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg; typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg; typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ; typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg; typedef NU16 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw; typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A; typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ; typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op); typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p); struct TNimType { NI size; NI align; tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind; tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags; TNimType* base; TNimNode* node; void* finalizer; tyProc__ojoeKfW4VYIm36I9cpDTQIg marker; tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy; }; struct RootObj { TNimType* m_type; }; struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g { NI32 module; NI32 item; }; struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w { RootObj Sup; tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId; }; typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw; typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg; struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q { NU16 line; NI16 col; NI32 fileIndex; }; typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw; typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg; typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg; typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw; typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA; struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA { tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k; tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage; tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode; tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r; }; struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ { tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup; tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind; union{ struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody; } _kind_1; struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard; NI bitsize; NI alignment; } _kind_2; }; tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic; tyObject_TType__facALICuu8zUj0hjvbTLFg* typ; tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner; tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast; tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options; NI position; NI offset; tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc; tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint; }; typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg; typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw; struct TGenericSeq { NI len; NI reserved; }; struct NimStringDesc { TGenericSeq Sup; NIM_CHAR data[SEQ_DECL_SIZE]; }; struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw { tyObject_TType__facALICuu8zUj0hjvbTLFg* typ; tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info; tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags; tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind; union{ struct {NI64 intVal; } _kind_1; struct {NF floatVal; } _kind_2; struct {NimStringDesc* strVal; } _kind_3; struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym; } _kind_4; struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident; } _kind_5; struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons; } _kind_6; }; }; struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA { NI id; NimStringDesc* s; tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next; NI h; }; typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag; typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA; typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw; struct tyObject_TType__facALICuu8zUj0hjvbTLFg { tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup; tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind; tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv; tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags; tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym; NI64 size; NI16 align; NI16 paddingAtEnd; NI16 lockLevel; tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc; tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst; tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId; }; typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w; typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw; struct tyTuple__kN8up2W6YKc5YA9avn5mV5w { NimStringDesc* Field0; NI Field1; NI Field2; }; typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2]; typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9]; typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw; struct tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* partialParam; tyObject_TType__facALICuu8zUj0hjvbTLFg* objType; tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache; tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen; }; typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1]; typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw; struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g { NI refcount; TNimType* typ; }; struct tyObject_GcStack__7fytPA5bBsob6See21YMRA { void* bottom; }; struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w { NI len; NI cap; tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d; }; typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256]; typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24]; typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32]; typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24]; typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256]; struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA { tyArray__lh2A89ahMmYg9bCmpVaplLbA data; }; typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2]; struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw { tyArray__0aOLqZchNi8nWtMTi8ND8w link; NI key; NI upperBound; NI level; }; struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg { tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0; NI Field1; }; typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30]; struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg { NI len; tyArray__LzOv2eCDGiceMKQstCLmhw chunks; tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next; }; struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg { NI minLargeObj; NI maxLargeObj; tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks; NU32 flBitmap; tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap; tyArray__B6durA4ZCi1xjJvRtyYxMg matrix; tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem; NI currMem; NI maxMem; NI freeMem; NI occ; NI lastSize; tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes; NIM_BOOL locked; NIM_BOOL blockChunkSizeIncrease; NI nextChunkSize; tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData; tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks; }; struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg { NI stackScans; NI cycleCollections; NI maxThreshold; NI maxStackSize; NI maxStackCells; NI cycleTableSize; NI64 maxPause; }; struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ { NI counter; NI max; tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head; tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data; }; struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ { tyObject_GcStack__7fytPA5bBsob6See21YMRA stack; NI cycleThreshold; NI zctThreshold; tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct; tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack; tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack; NI recGcLock; tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region; tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat; tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked; tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots; NI gcThreadId; }; struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ { TGenericSeq Sup; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE]; }; struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A { TGenericSeq Sup; tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE]; }; N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getPragmaVal__pragmas_95)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* procAst, tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw name); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupParam__liftlocals_59)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest); static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_1118)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg, tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw eh, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2, NIM_BOOL isRaw); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0); static N_INLINE(void, nimZeroMem)(void* p, NI size); static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src); N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds); N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0); N_LIB_PRIVATE N_NIMCALL(void, liftLocals__liftlocals_47)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i, tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g* c); static N_INLINE(NIM_BOOL, interestingVar__liftlocals_17)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lookupOrAdd__liftlocals_28)(tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info); N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, addUniqueField__lowerings_443)(tyObject_TType__facALICuu8zUj0hjvbTLFg* obj, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info); static N_INLINE(void, asgnRef)(void** dest, void* src); static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); static N_INLINE(NI, pluspercent___system_696)(NI x, NI y); static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr); static N_INLINE(NI, minuspercent___system_716)(NI x, NI y); static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y); static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5285)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c); N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3719)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info); N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym); static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n); STRING_LITERAL(TM__xMgMWEFctBTF9b4zdqZ9bcYg_2, "\'$1\' is not a parameter of \'$2\'", 31); STRING_LITERAL(TM__xMgMWEFctBTF9b4zdqZ9bcYg_4, "/home/runner/work/nightlies/nightlies/nim/compiler/liftlocals.nim", 65); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__xMgMWEFctBTF9b4zdqZ9bcYg_3 = {((NimStringDesc*) &TM__xMgMWEFctBTF9b4zdqZ9bcYg_4), ((NI) 63), ((NI) 14)} ; static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__xMgMWEFctBTF9b4zdqZ9bcYg_5 = { 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00, 0x00} ; STRING_LITERAL(TM__xMgMWEFctBTF9b4zdqZ9bcYg_6, "parameter \'$1\' is not a pointer to a partial object", 51); static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__xMgMWEFctBTF9b4zdqZ9bcYg_7 = {((NimStringDesc*) &TM__xMgMWEFctBTF9b4zdqZ9bcYg_4), ((NI) 68), ((NI) 14)} ; extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5238; static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { NI result; NI T1_; result = (NI)0; T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0); result = T1_; return result; } N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupParam__liftlocals_59)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) { tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result; { result = NIM_NIL; { if (!!(((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA3_; result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL); goto BeforeRet_; } LA3_: ; { NI i; NI colontmp_; NI i_2; i = (NI)0; colontmp_ = (NI)0; colontmp_ = len__ast_3198(params); i_2 = ((NI) 1); { while (1) { if (!(i_2 < colontmp_)) goto LA7; i = i_2; { NIM_BOOL T10_; T10_ = (NIM_BOOL)0; T10_ = ((*(*params)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)); if (!(T10_)) goto LA11_; T10_ = ((*(*(*(*params)._kind_6.sons->data[i])._kind_4.sym).name).id == (*(*dest)._kind_5.ident).id); LA11_: ; if (!T10_) goto LA12_; result = (*(*params)._kind_6.sons->data[i])._kind_4.sym; goto BeforeRet_; } LA12_: ; i_2 += ((NI) 1); } LA7: ; } } }BeforeRet_: ; return result; } static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) { void* T1_; T1_ = (void*)0; T1_ = memset(a, v, ((size_t) (size))); } static N_INLINE(void, nimZeroMem)(void* p, NI size) { nimSetMem__systemZmemory_7(p, ((int) 0), size); } static N_INLINE(NIM_BOOL, interestingVar__liftlocals_17)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) { NIM_BOOL result; NIM_BOOL T1_; result = (NIM_BOOL)0; T1_ = (NIM_BOOL)0; T1_ = ((2100000 &((NU32)1<<((NU)((*s).kind)&31U)))!=0); if (!(T1_)) goto LA2_; T1_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0)); LA2_: ; result = T1_; return result; } static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) { NI result; result = (NI)0; result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y)))))); return result; } static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8)); } static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) { NI result; result = (NI)0; result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y)))))); return result; } static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr) { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result; NI T1_; result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T1_ = (NI)0; T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8)); result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_)); return result; } static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) { NIM_BOOL result; result = (NIM_BOOL)0; result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y)))); return result; } static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { addZCT__system_5285((&gch__system_5238.zct), c); } static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) { (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8)); { NIM_BOOL T3_; T3_ = (NIM_BOOL)0; T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8)); if (!T3_) goto LA4_; rtlAddZCT__system_5334(c); } LA4_: ; } static N_INLINE(void, asgnRef)(void** dest, void* src) { { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_; if (!!((src == NIM_NIL))) goto LA3_; T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T5_ = usrToCell__system_5291(src); incRef__system_5329(T5_); } LA3_: ; { tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_; if (!!(((*dest) == NIM_NIL))) goto LA8_; T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0; T10_ = usrToCell__system_5291((*dest)); decRef__system_5336(T10_); } LA8_: ; (*dest) = src; } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lookupOrAdd__liftlocals_28)(tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* deref; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_; result = NIM_NIL; field = addUniqueField__lowerings_443((*c).objType, s, (*c).cache, (*c).idgen); deref = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), info); asgnRef((void**) (&(*deref).typ), (*c).objType); T1_ = NIM_NIL; T1_ = newSymNode__ast_3719((*c).partialParam, info); add__ast_4797(deref, T1_); result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), info); add__ast_4797(result, deref); T2_ = NIM_NIL; T2_ = newSymNode__ast_3716(field); add__ast_4797(result, T2_); asgnRef((void**) (&(*result).typ), (*field).typ); return result; } static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) { NI result; result = (NI)0; { if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_; result = ((NI) 0); } goto LA1_; LA3_: ; { result = len__ast_3198(n); } LA1_: ; return result; } N_LIB_PRIVATE N_NIMCALL(void, liftLocals__liftlocals_47)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i, tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g* c) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it; it = (*n)._kind_6.sons->data[i]; switch ((*it).kind) { case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3): { { NIM_BOOL T4_; T4_ = (NIM_BOOL)0; T4_ = interestingVar__liftlocals_17((*it)._kind_4.sym); if (!T4_) goto LA5_; asgnRef((void**) (&(*n)._kind_6.sons->data[i]), lookupOrAdd__liftlocals_28(c, (*it)._kind_4.sym, (*it).info)); } LA5_: ; } break; case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52): case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98): case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123): case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122): case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81): case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84): case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159): { } break; default: { { NI i_2; NI colontmp_; NI i_3; i_2 = (NI)0; colontmp_ = (NI)0; colontmp_ = safeLen__ast_3191(it); i_3 = ((NI) 0); { while (1) { if (!(i_3 < colontmp_)) goto LA11; i_2 = i_3; liftLocals__liftlocals_47(it, i_2, c); i_3 += ((NI) 1); } LA11: ; } } } break; } } N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, liftLocalsIfRequested__liftlocals_82)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) { tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* liftDest; tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* partialParam; tyObject_TType__facALICuu8zUj0hjvbTLFg* objType; tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g c; tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* w; tyArray__jlWPjgtbdjE069arIWHC9c9bg T19_; { result = NIM_NIL; liftDest = getPragmaVal__pragmas_95((*prc).ast, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 224)); { if (!(liftDest == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_; result = n; goto BeforeRet_; } LA3_: ; partialParam = lookupParam__liftlocals_59((*(*prc).typ).n, liftDest); { tyArray__Re75IspeoxXy2oCZHwcRrA T9_; NimStringDesc* T10_; if (!(partialParam == 0)) goto LA7_; nimZeroMem((void*)T9_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA)); T9_[0] = dollar___renderer_2106(liftDest); T9_[1] = copyString((*(*prc).name).s); T10_ = NIM_NIL; T10_ = nsuFormatOpenArray(((NimStringDesc*) &TM__xMgMWEFctBTF9b4zdqZ9bcYg_2), T9_, 2); liMessage__msgs_1118(conf, (*liftDest).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T10_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__xMgMWEFctBTF9b4zdqZ9bcYg_3, NIM_FALSE); result = n; goto BeforeRet_; } LA7_: ; objType = skipTypes__ast_3735((*partialParam).typ, TM__xMgMWEFctBTF9b4zdqZ9bcYg_5); { NIM_BOOL T13_; NimStringDesc* T17_; NimStringDesc* T18_; T13_ = (NIM_BOOL)0; T13_ = !(((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))); if (T13_) goto LA14_; T13_ = !((((*objType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 16))&63U)))!=0)); LA14_: ; if (!T13_) goto LA15_; T17_ = NIM_NIL; T17_ = dollar___renderer_2106(liftDest); T18_ = NIM_NIL; T18_ = nsuFormatSingleElem(((NimStringDesc*) &TM__xMgMWEFctBTF9b4zdqZ9bcYg_6), T17_); liMessage__msgs_1118(conf, (*liftDest).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__xMgMWEFctBTF9b4zdqZ9bcYg_7, NIM_FALSE); result = n; goto BeforeRet_; } LA15_: ; nimZeroMem((void*)(&c), sizeof(tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g)); nimZeroMem((void*)(&c), sizeof(tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g)); c.partialParam = partialParam; c.objType = objType; c.cache = cache; c.idgen = idgen; nimZeroMem((void*)T19_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg)); T19_[0] = n; w = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T19_, 1); liftLocals__liftlocals_47(w, ((NI) 0), (&c)); result = (*w)._kind_6.sons->data[((NI) 0)]; }BeforeRet_: ; return result; }