1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 #define NIM_EmulateOverflowChecks
4
5 #include "nimbase.h"
6 #include <string.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
23 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
24 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
25 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
26 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
27 typedef struct RootObj RootObj;
28 typedef struct TNimType TNimType;
29 typedef struct TNimNode TNimNode;
30 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
31 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
32 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
33 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
34 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
35 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
36 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
37 typedef struct NimStringDesc NimStringDesc;
38 typedef struct TGenericSeq TGenericSeq;
39 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
40 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
41 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
42 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
43 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
44 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
45 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
46 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
47 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
48 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
49 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
50 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
51 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
52 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
53 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
54 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
55 typedef struct tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA;
56 typedef struct tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw;
57 typedef struct tySequence__dAjyAaabi52TN36Jp0fAXQ tySequence__dAjyAaabi52TN36Jp0fAXQ;
58 typedef struct tySequence__0a6ZbC0zPSfUDYzqPnO68A tySequence__0a6ZbC0zPSfUDYzqPnO68A;
59 typedef struct tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA;
60 typedef struct tySequence__F43jf4nUkSAG8E9cfLj9aQoQ tySequence__F43jf4nUkSAG8E9cfLj9aQoQ;
61 typedef struct tyTuple__X9bWVAqRSgByRpQwn6owzEA tyTuple__X9bWVAqRSgByRpQwn6owzEA;
62 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
63 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
64 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
65 typedef struct tyTuple__n5CipyK3lOxrIaiLdb9bDLw tyTuple__n5CipyK3lOxrIaiLdb9bDLw;
66 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
67 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
68 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
69 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
70 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
71 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
72 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
73 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
74 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
75 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
76 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
77 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
78 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
79 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
80 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
81 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
82 typedef struct tyTuple__cyDO9czMbIL47POKM3sIQng tyTuple__cyDO9czMbIL47POKM3sIQng;
83 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
84 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
85 typedef struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag;
86 typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
87 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
88 typedef struct Exception Exception;
89 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
90 typedef struct tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw;
91 typedef struct tySequence__j9aEZ11m8pCmK2eRUFSgiOA tySequence__j9aEZ11m8pCmK2eRUFSgiOA;
92 typedef struct tySequence__tFZSZSomBEZ9bmg1CrY7ojA tySequence__tFZSZSomBEZ9bmg1CrY7ojA;
93 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
94 typedef struct tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA;
95 typedef struct tySequence__RJ9cCbHDTKFvcxBv5qqeJbg tySequence__RJ9cCbHDTKFvcxBv5qqeJbg;
96 typedef struct tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ;
97 typedef struct tySequence__sHfymmN9aVTQTLnu1B0wi3w tySequence__sHfymmN9aVTQTLnu1B0wi3w;
98 typedef struct tyTuple__KYzEow2par19cjmb9bTX4xkg tyTuple__KYzEow2par19cjmb9bTX4xkg;
99 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
100 typedef struct tyObject_HSlice__6VfXE1cAxJ0GQh9aCi1zhkw tyObject_HSlice__6VfXE1cAxJ0GQh9aCi1zhkw;
101 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
102 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
103 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
104 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
105 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
106 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
107 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
108 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
109 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
110 struct TNimType {
111 NI size;
112 NI align;
113 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
114 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
115 TNimType* base;
116 TNimNode* node;
117 void* finalizer;
118 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
119 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
120 };
121 struct RootObj {
122 TNimType* m_type;
123 };
124 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
125 NI32 module;
126 NI32 item;
127 };
128 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
129 RootObj Sup;
130 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
131 };
132 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
133 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
134 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
135 NU16 line;
136 NI16 col;
137 NI32 fileIndex;
138 };
139 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
140 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
141 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
142 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
143 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
144 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
145 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
146 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
147 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
148 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
149 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
150 };
151 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
152 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
153 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
154 union{
155 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
156 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
157 } _kind_1;
158 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
159 NI bitsize;
160 NI alignment;
161 } _kind_2;
162 };
163 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
164 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
165 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
166 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
167 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
168 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
169 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
170 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
171 NI position;
172 NI offset;
173 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
174 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
175 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
176 };
177 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
178 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
179 struct TGenericSeq {
180 NI len;
181 NI reserved;
182 };
183 struct NimStringDesc {
184 TGenericSeq Sup;
185 NIM_CHAR data[SEQ_DECL_SIZE];
186 };
187 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
188 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
189 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
190 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
191 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
192 union{
193 struct {NI64 intVal;
194 } _kind_1;
195 struct {NF floatVal;
196 } _kind_2;
197 struct {NimStringDesc* strVal;
198 } _kind_3;
199 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
200 } _kind_4;
201 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
202 } _kind_5;
203 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
204 } _kind_6;
205 };
206 };
207 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
208 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
209 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
210 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
211 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
212 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
213 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
214 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
215 NI intSize;
216 NI floatSize;
217 NI ptrSize;
218 NimStringDesc* tnl;
219 };
220 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
221 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
222 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
223 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
224 NI counter;
225 };
226 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
227 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
228 NIM_BOOL trackPosAttached;
229 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
230 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
231 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
232 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
233 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
234 NI32 systemFileIdx;
235 };
236 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
237 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
238 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
239 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
240 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
241 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
242 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
243 NI counter;
244 };
245 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
246 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
247 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
248 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
249 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
250 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
251 NI Field0;
252 NI Field1;
253 NI Field2;
254 };
255 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
256 typedef struct {
257 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
258 void* ClE_0;
259 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
260 typedef struct {
261 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
262 void* ClE_0;
263 } tyProc__k2HFjxisIgDALbEUFojxaQ;
264 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
265 typedef struct {
266 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
267 void* ClE_0;
268 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
269 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
270 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
271 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
272 NI linesCompiled;
273 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
274 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
275 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
276 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
277 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
278 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
279 NimStringDesc* unitSep;
280 NI evalTemplateCounter;
281 NI evalMacroCounter;
282 NI8 exitcode;
283 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
284 NimStringDesc* cmdInput;
285 NIM_BOOL projectIsCmd;
286 NIM_BOOL implicitCmd;
287 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
288 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
289 NIM_BOOL hintProcessingDots;
290 NI verbosity;
291 NI numberOfProcessors;
292 NF lastCmdTime;
293 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
294 NI spellSuggestMax;
295 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
296 NimStringDesc* headerFile;
297 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
298 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
299 NimStringDesc* arguments;
300 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
301 NIM_BOOL oldNewlines;
302 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
303 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
304 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
305 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
306 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
307 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
308 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
309 NI mainPackageId;
310 NI errorCounter;
311 NI hintCounter;
312 NI warnCounter;
313 NI errorMax;
314 NI maxLoopIterationsVM;
315 NIM_BOOL isVmTrace;
316 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
317 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
318 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
319 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
320 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
321 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
322 NimStringDesc* outFile;
323 NimStringDesc* outDir;
324 NimStringDesc* jsonBuildFile;
325 NimStringDesc* prefixDir;
326 NimStringDesc* libpath;
327 NimStringDesc* nimcacheDir;
328 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
329 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
330 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
331 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
332 NimStringDesc* projectName;
333 NimStringDesc* projectPath;
334 NimStringDesc* projectFull;
335 NIM_BOOL projectIsStdin;
336 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
337 NI32 projectMainIdx;
338 NI32 projectMainIdx2;
339 NimStringDesc* command;
340 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
341 NimStringDesc* commandLine;
342 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
343 NIM_BOOL keepComments;
344 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
345 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
346 NimStringDesc* docSeeSrcUrl;
347 NimStringDesc* docRoot;
348 NimStringDesc* docCmd;
349 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
350 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
351 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
352 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
353 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
354 NimStringDesc* linkOptionsCmd;
355 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
356 NimStringDesc* linkOptions;
357 NimStringDesc* compileOptions;
358 NimStringDesc* cCompilerPath;
359 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
360 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
361 NI suggestVersion;
362 NI suggestMaxResults;
363 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
364 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
365 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
366 NimStringDesc* cppCustomNamespace;
367 NimStringDesc* nimMainPrefix;
368 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
369 };
370 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
371 NimStringDesc* fullPath;
372 NimStringDesc* projPath;
373 NimStringDesc* shortName;
374 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
375 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
376 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
377 NimStringDesc* dirtyFile;
378 NimStringDesc* hash;
379 NIM_BOOL dirty;
380 };
381 struct tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw {
382 tySequence__dAjyAaabi52TN36Jp0fAXQ* data;
383 NI counter;
384 };
385 struct tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA {
386 tySequence__F43jf4nUkSAG8E9cfLj9aQoQ* data;
387 NI counter;
388 };
389 struct tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA {
390 tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw symbolIndices;
391 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* expressions;
392 tySequence__0a6ZbC0zPSfUDYzqPnO68A* dependants;
393 tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA warningLocations;
394 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
395 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
396 };
397 struct tyTuple__X9bWVAqRSgByRpQwn6owzEA {
398 NI Field0;
399 NI Field1;
400 NI16 Field2;
401 };
402 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
403 struct TNimNode {
404 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
405 NI offset;
406 TNimType* typ;
407 NCSTRING name;
408 NI len;
409 TNimNode** sons;
410 };
411 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
412 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
413 NI elems;
414 NI counter;
415 NI max;
416 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
417 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
418 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
419 };
420 struct tyTuple__n5CipyK3lOxrIaiLdb9bDLw {
421 NI Field0;
422 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
423 };
424 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
425 NI refcount;
426 TNimType* typ;
427 };
428 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
429 void* bottom;
430 };
431 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
432 NI len;
433 NI cap;
434 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
435 };
436 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
437 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
438 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
439 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
440 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
441 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
442 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
443 };
444 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
445 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
446 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
447 NI key;
448 NI upperBound;
449 NI level;
450 };
451 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
452 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
453 NI Field1;
454 };
455 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
456 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
457 NI len;
458 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
459 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
460 };
461 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
462 NI minLargeObj;
463 NI maxLargeObj;
464 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
465 NU32 flBitmap;
466 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
467 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
468 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
469 NI currMem;
470 NI maxMem;
471 NI freeMem;
472 NI occ;
473 NI lastSize;
474 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
475 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
476 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
477 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
478 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
479 NIM_BOOL locked;
480 NIM_BOOL blockChunkSizeIncrease;
481 NI nextChunkSize;
482 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
483 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
484 };
485 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
486 NI stackScans;
487 NI cycleCollections;
488 NI maxThreshold;
489 NI maxStackSize;
490 NI maxStackCells;
491 NI cycleTableSize;
492 NI64 maxPause;
493 };
494 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
495 NI counter;
496 NI max;
497 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
498 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
499 };
500 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
501 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
502 NI cycleThreshold;
503 NI zctThreshold;
504 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
505 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
506 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
507 NI recGcLock;
508 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
509 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
510 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
511 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
512 NI gcThreadId;
513 };
514 struct tyTuple__cyDO9czMbIL47POKM3sIQng {
515 NI Field0;
516 NI16 Field1;
517 };
518 typedef tyTuple__cyDO9czMbIL47POKM3sIQng tyArray__brqof9bq2QWioDkbae3wZsw[1];
519 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
520 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
521 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
522 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
523 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
524 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
525 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
526 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
527 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
528 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
529 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
530 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
531 NI64 size;
532 NI16 align;
533 NI16 paddingAtEnd;
534 NI16 lockLevel;
535 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
536 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
537 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
538 };
539 typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
540 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
541 struct Exception {
542 RootObj Sup;
543 Exception* parent;
544 NCSTRING name;
545 NimStringDesc* message;
546 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
547 Exception* up;
548 };
549 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
550 Exception Sup;
551 };
552 struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
553 tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
554 };
555 struct tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag {
556 tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
557 };
558 typedef NU8 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA;
559 struct tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw {
560 tySequence__j9aEZ11m8pCmK2eRUFSgiOA* expressions;
561 tySequence__tFZSZSomBEZ9bmg1CrY7ojA* history;
562 tySequence__qwqHTkRvwhrRyENtudHQ7g* setIndices;
563 tySequence__0a6ZbC0zPSfUDYzqPnO68A* sets;
564 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* parent;
565 };
566 typedef NU8 tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA;
567 struct tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA {
568 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
569 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA nilability;
570 tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA kind;
571 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node;
572 };
573 typedef NU tyArray__cC4ce9cdvDKtIpar5g9cDejA[16];
574 struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA {
575 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* next;
576 NI key;
577 tyArray__cC4ce9cdvDKtIpar5g9cDejA bits;
578 };
579 struct tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ {
580 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA nilability;
581 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map;
582 tySequence__sHfymmN9aVTQTLnu1B0wi3w* elements;
583 };
584 struct tyTuple__KYzEow2par19cjmb9bTX4xkg {
585 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
586 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA Field1;
587 };
588 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
589 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
590 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
591 NimStringDesc* Field0;
592 NI Field1;
593 NI Field2;
594 };
595 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__AB6yfoUgfWM2NtGe9bzkCmw[2];
596 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
597 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
598 NI32 module;
599 NI32 symId;
600 NI32 typeId_0;
601 NIM_BOOL sealed;
602 };
603 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__T6RKPw8xfAeNaoei9aZGzXg[3];
604 struct tyObject_HSlice__6VfXE1cAxJ0GQh9aCi1zhkw {
605 NI16 a;
606 NI16 b;
607 };
608 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
609 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
610 NimStringDesc* Field1;
611 };
612 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
613 NI Field0;
614 NimStringDesc* Field1;
615 NI32 Field2;
616 };
617 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
618 NI Field0;
619 NimStringDesc* Field1;
620 };
621 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
622 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
623 NimStringDesc* nimname;
624 NimStringDesc* cname;
625 NimStringDesc* obj;
626 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
627 NimStringDesc* customArgs;
628 };
629 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
630 NCSTRING procname;
631 NI line;
632 NCSTRING filename;
633 };
634 struct tySequence__dAjyAaabi52TN36Jp0fAXQ {
635 TGenericSeq Sup;
636 tyTuple__X9bWVAqRSgByRpQwn6owzEA data[SEQ_DECL_SIZE];
637 };
638 struct tySequence__0a6ZbC0zPSfUDYzqPnO68A {
639 TGenericSeq Sup;
640 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA data[SEQ_DECL_SIZE];
641 };
642 struct tySequence__F43jf4nUkSAG8E9cfLj9aQoQ {
643 TGenericSeq Sup;
644 tyTuple__n5CipyK3lOxrIaiLdb9bDLw data[SEQ_DECL_SIZE];
645 };
646 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
647 TGenericSeq Sup;
648 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
649 };
650 struct tySequence__j9aEZ11m8pCmK2eRUFSgiOA {
651 TGenericSeq Sup;
652 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA data[SEQ_DECL_SIZE];
653 };
654 struct tySequence__RJ9cCbHDTKFvcxBv5qqeJbg {
655 TGenericSeq Sup;
656 tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA data[SEQ_DECL_SIZE];
657 };
658 struct tySequence__tFZSZSomBEZ9bmg1CrY7ojA {
659 TGenericSeq Sup;
660 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg* data[SEQ_DECL_SIZE];
661 };
662 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
663 TGenericSeq Sup;
664 NI data[SEQ_DECL_SIZE];
665 };
666 struct tySequence__sHfymmN9aVTQTLnu1B0wi3w {
667 TGenericSeq Sup;
668 tyTuple__KYzEow2par19cjmb9bTX4xkg data[SEQ_DECL_SIZE];
669 };
670 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
671 TGenericSeq Sup;
672 tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
673 };
674 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
675 TGenericSeq Sup;
676 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
677 };
678 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
679 TGenericSeq Sup;
680 tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
681 };
682 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
683 TGenericSeq Sup;
684 tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
685 };
686 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
687 TGenericSeq Sup;
688 NimStringDesc* data[SEQ_DECL_SIZE];
689 };
690 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
691 TGenericSeq Sup;
692 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
693 };
694 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
695 TGenericSeq Sup;
696 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
697 };
698 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
699 TGenericSeq Sup;
700 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
701 };
702 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
703 TGenericSeq Sup;
704 tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
705 };
706 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
707 static N_NIMCALL(void, Marker_tySequence__dAjyAaabi52TN36Jp0fAXQ)(void* p, NI op);
708 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
709 static N_NIMCALL(void, Marker_tySequence__0a6ZbC0zPSfUDYzqPnO68A)(void* p, NI op);
710 static N_NIMCALL(void, Marker_tySequence__F43jf4nUkSAG8E9cfLj9aQoQ)(void* p, NI op);
711 static N_NIMCALL(void, Marker_tyRef__SHCn57BjQ6LjeAGfBicCFg)(void* p, NI op);
712 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
713 static N_INLINE(void, asgnRef)(void** dest, void* src);
714 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
715 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
716 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr);
717 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
718 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
719 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
720 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
721 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5285)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
722 N_LIB_PRIVATE N_NIMCALL(void, preVisit__nilcheck_8796)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
723 N_LIB_PRIVATE N_NIMCALL(void, toTable__nilcheck_8801)(tyTuple__cyDO9czMbIL47POKM3sIQng* pairs, NI pairsLen_0, tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw* Result);
724 N_LIB_PRIVATE N_NIMCALL(void, initTable__nilcheck_8806)(NI initialSize, tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw* Result);
725 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
726 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
727 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_176)(NI x);
728 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
729 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_7174)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw* t, NI key, NI16 val);
730 static N_INLINE(NI, rawGet__nilcheck_1984)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw t, NI key, NI* hc);
731 static N_INLINE(NI, hash__nilcheck_1991)(NI x);
732 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
733 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
734 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b);
735 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
736 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nilcheck_1923)(NI a, NI b);
737 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
738 static N_INLINE(NIM_BOOL, mustRehash__nilcheck_7373)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw t);
739 N_LIB_PRIVATE N_NIMCALL(void, enlarge__nilcheck_7559)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw* t);
740 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__nilcheck_7894)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw* t, tySequence__dAjyAaabi52TN36Jp0fAXQ** data, NI key, NI16 val, NI hc, NI h);
741 static N_INLINE(NI, rawGetKnownHC__nilcheck_8075)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw t, NI key, NI hc);
742 N_LIB_PRIVATE N_NIMCALL(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw*, newIdentCache__idents_152)(void);
743 static N_INLINE(void, nimGCunrefRC1)(void* p);
744 N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
745 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIdentNode__ast_3712)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
746 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
747 static N_INLINE(void, nimZeroMem)(void* p, NI size);
748 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
749 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
750 N_LIB_PRIVATE N_NIMCALL(NI, symbol__nilcheck_1210)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
751 N_LIB_PRIVATE N_NIMCALL(NI, hashTree__treetab_5)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
752 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__nilcheck_1977)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw t, NI key);
753 N_LIB_PRIVATE N_NIMCALL(NI16, len__nilcheck_5915)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* a);
754 N_LIB_PRIVATE N_NIMCALL(void, add__nilcheck_8361)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value);
755 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
756 N_LIB_PRIVATE N_NIMCALL(void, preVisitNode__nilcheck_7012)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
757 N_LIB_PRIVATE N_NIMCALL(NI16*, X5BX5D___nilcheck_2314)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw* t, NI key);
758 N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError__nilcheck_2385)(NI key) __attribute__((noreturn));
759 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
760 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
761 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
762 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___nilcheck_1927)(NI a);
763 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
764 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
765 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
766 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___nilcheck_176)(NI16 a, NI16 b);
767 N_LIB_PRIVATE N_NIMCALL(NI16, len__nilcheck_8692)(tySequence__0a6ZbC0zPSfUDYzqPnO68A* a);
768 N_LIB_PRIVATE N_NIMCALL(void, setLen__nilcheck_8700)(tySequence__0a6ZbC0zPSfUDYzqPnO68A** a, NI16 length);
769 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
770 N_LIB_PRIVATE N_NIMCALL(NI16, plus___nilcheck_195)(NI16 a, NI16 b);
771 N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
772 N_LIB_PRIVATE N_NIMCALL(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*, X5BX5D___nilcheck_3538)(tySequence__0a6ZbC0zPSfUDYzqPnO68A** a, NI16 index);
773 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
774 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
775 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___nilcheck_163)(NI16 a, NI16 b);
776 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, newNilMap__nilcheck_237)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* parent, NI count);
777 N_LIB_PRIVATE N_NIMCALL(NI16, len__nilcheck_300)(tySequence__j9aEZ11m8pCmK2eRUFSgiOA* a);
778 static N_NIMCALL(void, Marker_tySequence__j9aEZ11m8pCmK2eRUFSgiOA)(void* p, NI op);
779 static N_NIMCALL(void, Marker_tySequence__RJ9cCbHDTKFvcxBv5qqeJbg)(void* p, NI op);
780 static N_NIMCALL(void, Marker_tySequence__tFZSZSomBEZ9bmg1CrY7ojA)(void* p, NI op);
781 static N_NIMCALL(void, Marker_tyRef__jS25SPRyK4NElao6fMJSpg)(void* p, NI op);
782 N_LIB_PRIVATE N_NIMCALL(tySequence__j9aEZ11m8pCmK2eRUFSgiOA*, newSeqOfDistinct__nilcheck_362)(NI length);
783 N_LIB_PRIVATE N_NIMCALL(tySequence__j9aEZ11m8pCmK2eRUFSgiOA*, newSeq__nilcheck_343)(NI len);
784 N_LIB_PRIVATE N_NIMCALL(tySequence__tFZSZSomBEZ9bmg1CrY7ojA*, newSeqOfDistinct__nilcheck_427)(NI length);
785 N_LIB_PRIVATE N_NIMCALL(tySequence__tFZSZSomBEZ9bmg1CrY7ojA*, newSeq__nilcheck_381)(NI len);
786 N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g*, newSeqOfDistinct__nilcheck_483)(NI length);
787 N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g*, newSeq__nilcheck_446)(NI len);
788 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_584)(tySequence__qwqHTkRvwhrRyENtudHQ7g** a, NI16 index, NI value);
789 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
790 N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
791 N_LIB_PRIVATE N_NIMCALL(void, add__nilcheck_640)(tySequence__0a6ZbC0zPSfUDYzqPnO68A** a, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* value);
792 N_LIB_PRIVATE N_NIMCALL(NI, len__nilcheck_9409)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw t);
793 N_LIB_PRIVATE N_NIMCALL(void, store__nilcheck_2666)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, NI16 index, tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value, tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node);
794 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nilcheck_188)(NI16 a, NI16 b);
795 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_2714)(tySequence__j9aEZ11m8pCmK2eRUFSgiOA** a, NI16 index, tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value);
796 N_LIB_PRIVATE N_NIMCALL(tySequence__RJ9cCbHDTKFvcxBv5qqeJbg**, X5BX5D___nilcheck_1191)(tySequence__tFZSZSomBEZ9bmg1CrY7ojA** a, NI16 index);
797 N_LIB_PRIVATE N_NIMCALL(void, aliasSet__nilcheck_2537)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, NI16 index, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
798 N_LIB_PRIVATE N_NIMCALL(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*, X5BX5D___nilcheck_1495)(tySequence__0a6ZbC0zPSfUDYzqPnO68A** a, NI index);
799 N_LIB_PRIVATE N_NIMCALL(NI*, X5BX5D___nilcheck_2460)(tySequence__qwqHTkRvwhrRyENtudHQ7g** a, NI16 index);
800 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_2885)(tySequence__tFZSZSomBEZ9bmg1CrY7ojA** a, NI16 index, tySequence__RJ9cCbHDTKFvcxBv5qqeJbg* value);
801 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
802 N_LIB_PRIVATE N_NIMCALL(NI16, index__nilcheck_1932)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
803 N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA, typeNilability__nilcheck_4049)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
804 N_LIB_PRIVATE N_NIMCALL(void, check__nilcheck_227)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
805 N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA, X5BX5D___nilcheck_865)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, NI16 index);
806 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, gteq___nilcheck_184)(NI16 a, NI16 b);
807 N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA*, X5BX5D___nilcheck_989)(tySequence__j9aEZ11m8pCmK2eRUFSgiOA** a, NI16 index);
808 N_LIB_PRIVATE N_NIMCALL(void, checkInfix__nilcheck_6280)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
809 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, checkCondition__nilcheck_231)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, NIM_BOOL reverse, NIM_BOOL base);
810 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, union__nilcheck_5848)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* l, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* r);
811 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, findCommonParent__nilcheck_5833)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* l, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* r);
812 N_LIB_PRIVATE N_NIMCALL(tySequence__RJ9cCbHDTKFvcxBv5qqeJbg*, history__nilcheck_1071)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, NI16 index);
813 static N_INLINE(void, X5BX5D___nilcheck_5929)(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA* s, NI sLen_0, NI i, tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA* Result);
814 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
815 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
816 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
817 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
818 N_LIB_PRIVATE N_NIMCALL(void, checkIsNil__nilcheck_6323)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, NIM_BOOL isElse, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
819 N_LIB_PRIVATE N_NIMCALL(void, checkCall__nilcheck_4051)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
820 N_LIB_PRIVATE N_NIMCALL(void, moveOut__nilcheck_2975)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* target);
821 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nilcheck_215)(NI a, NI b);
822 static N_INLINE(NI, len__nilcheck_1772)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s);
823 N_LIB_PRIVATE N_NIMCALL(void, excl__reorder_264)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
824 N_LIB_PRIVATE N_NIMCALL(NI, minus___nilcheck_223)(NI a, NI b);
825 N_LIB_PRIVATE N_NIMCALL(NI, len__nilcheck_3422)(tySequence__0a6ZbC0zPSfUDYzqPnO68A* a);
826 N_LIB_PRIVATE N_NIMCALL(void, moveOutDependants__nilcheck_3476)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node);
827 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___nilcheck_1387)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** a, NI16 index);
828 N_LIB_PRIVATE N_NIMCALL(void, storeDependants__nilcheck_3610)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node, tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value);
829 static N_NIMCALL(void, Marker_tySequence__sHfymmN9aVTQTLnu1B0wi3w)(void* p, NI op);
830 N_LIB_PRIVATE N_NIMCALL(void, checkDotExpr__nilcheck_5813)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
831 N_LIB_PRIVATE N_NIMCALL(void, checkRefExpr__nilcheck_5782)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ check, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
832 N_LIB_PRIVATE N_NIMCALL(void, checkDeref__nilcheck_5775)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
833 N_LIB_PRIVATE N_NIMCALL(void, handleNilability__nilcheck_5770)(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ check, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map);
834 N_LIB_PRIVATE N_NIMCALL(void, derefWarning__nilcheck_4257)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA kind);
835 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__nilcheck_4315)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key);
836 static N_INLINE(NI, rawGet__nilcheck_4328)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI* hc);
837 N_LIB_PRIVATE N_NIMCALL(NI, hash__lineinfos_229)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q i);
838 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode);
839 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___msgs_993)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q a, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q b);
840 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash);
841 N_LIB_PRIVATE N_NIMCALL(void, incl__nilcheck_4610)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key);
842 static N_INLINE(NI, slotsNeeded__pureZcollectionsZsets_49)(NI count);
843 static N_INLINE(NIM_BOOL, mustRehash__nilcheck_4703)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA t);
844 N_LIB_PRIVATE N_NIMCALL(void, enlarge__nilcheck_4895)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA* s);
845 static N_INLINE(NI, rawGetKnownHC__nilcheck_5146)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI hc);
846 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__nilcheck_5508)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA* s, tySequence__F43jf4nUkSAG8E9cfLj9aQoQ** data, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI hc, NI h);
847 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
848 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_9)(NU64 x);
849 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);
850 N_LIB_PRIVATE N_NIMCALL(void, checkIf__nilcheck_6213)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
851 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, reverseDirect__nilcheck_1214)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map);
852 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, copyMap__nilcheck_4039)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map);
853 N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA, reverse__nilcheck_6430)(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value);
854 static N_INLINE(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA*, X5BX5D___nilcheck_6618)(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA* s, NI sLen_0, NI i);
855 N_LIB_PRIVATE N_NIMCALL(tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA, reverse__nilcheck_6433)(tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA kind);
856 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, add__nilcheck_5952)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* l, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* r);
857 N_LIB_PRIVATE N_NIMCALL(void, checkBranch__nilcheck_1216)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
858 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnstructuredControlFlowJump__nilcheck_1220)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
859 N_LIB_PRIVATE N_NIMCALL(void, checkAsgn__nilcheck_6062)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* target, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assigned, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
860 N_LIB_PRIVATE N_NIMCALL(void, move__nilcheck_3682)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* target, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assigned);
861 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
862 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__nilcheck_6168)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw t, NI key);
863 N_LIB_PRIVATE N_NIMCALL(void, checkFor__nilcheck_6252)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
864 N_LIB_PRIVATE N_NIMCALL(void, checkCase__nilcheck_6366)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
865 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, infixEq__nilcheck_6356)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* l, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r);
866 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, infix__nilcheck_6332)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* l, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic);
867 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSym__ast_3445)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options);
868 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
869 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3719)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
870 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
871 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
872 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, infixOr__nilcheck_6361)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* l, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r);
873 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prefixNot__nilcheck_6350)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node);
874 N_LIB_PRIVATE N_NIMCALL(void, checkReturn__nilcheck_6207)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
875 N_LIB_PRIVATE N_NIMCALL(void, checkBracketExpr__nilcheck_5819)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
876 N_LIB_PRIVATE N_NIMCALL(void, checkTry__nilcheck_6403)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
877 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaise__ast_5088)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn);
878 N_LIB_PRIVATE N_NIMCALL(void, checkWhile__nilcheck_6269)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result);
879 static N_INLINE(NIM_BOOL, contains__nilcheck_9533)(tyObject_HSlice__6VfXE1cAxJ0GQh9aCi1zhkw s, NI16 value);
880 static N_INLINE(tyObject_HSlice__6VfXE1cAxJ0GQh9aCi1zhkw, dotdot___nilcheck_9461)(NI16 a, NI16 b);
881 N_LIB_PRIVATE N_NIMCALL(NI16, low__nilcheck_9436)(tySequence__tFZSZSomBEZ9bmg1CrY7ojA* a);
882 N_LIB_PRIVATE N_NIMCALL(NI16, high__nilcheck_9444)(tySequence__tFZSZSomBEZ9bmg1CrY7ojA* a);
883 N_LIB_PRIVATE N_NIMCALL(void, checkResult__nilcheck_6927)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map);
884 N_LIB_PRIVATE TNimType NTInilcheckercontext58objecttype__FEwkSv10ehW9bMzwnvRrMwA_;
885 N_LIB_PRIVATE TNimType NTItable__mx89bZoYrm9bEaZ0GUM1pBOw_;
886 N_LIB_PRIVATE TNimType NTIkeyvaluepair__X9bWVAqRSgByRpQwn6owzEA_;
887 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
888 extern TNimType NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_;
889 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__dAjyAaabi52TN36Jp0fAXQ_;
890 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
891 extern TNimType NTIpackedset__IhxwDBRi51nGrosBGFKcsA_;
892 N_LIB_PRIVATE TNimType NTIseqLintsetT__0a6ZbC0zPSfUDYzqPnO68A_;
893 N_LIB_PRIVATE TNimType NTIhashset__ylUTTG3LIabQ9bY9bfQ5vOwA_;
894 N_LIB_PRIVATE TNimType NTIkeyvaluepair__n5CipyK3lOxrIaiLdb9bDLw_;
895 extern TNimType NTItlineinfo__WGx4rAexNXnczy1Avn646Q_;
896 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__F43jf4nUkSAG8E9cfLj9aQoQ_;
897 extern TNimType NTIidgenerator__9c0n61DB7aLyPcUMi5meUHQ_;
898 extern TNimType NTIconfigref__a8lycfSA25OQltN3OMeBsA_;
899 N_LIB_PRIVATE TNimType NTInilcheckercontext__SHCn57BjQ6LjeAGfBicCFg_;
900 static NIM_CONST tyArray__brqof9bq2QWioDkbae3wZsw TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_7 = {{((NI) -1),
901 ((NI16) 0)}
902 }
903 ;
904 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_8, "result", 6);
905 extern NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw nkLiterals__ast_3029;
906 extern TNimType NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_;
907 extern TNimType NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_;
908 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_9, "key not found: ", 15);
909 N_LIB_PRIVATE TNimType NTInilmap58objecttype__7KTTiYJtXT6nWGm9adO9cEkw_;
910 N_LIB_PRIVATE TNimType NTInilability__9cN6FUkaUivSYPpqgb9cMQ9cA_;
911 N_LIB_PRIVATE TNimType NTIseqLnilabilityT__j9aEZ11m8pCmK2eRUFSgiOA_;
912 N_LIB_PRIVATE TNimType NTIhistory__HvSmlqGq2vKUejgLWJ9cFPA_;
913 N_LIB_PRIVATE TNimType NTItransitionkind__1GzHwTVQ9aW4oTXg2LMytYA_;
914 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
915 N_LIB_PRIVATE TNimType NTIseqLhistoryT__RJ9cCbHDTKFvcxBv5qqeJbg_;
916 N_LIB_PRIVATE TNimType NTIseqLseqLhistoryTT__tFZSZSomBEZ9bmg1CrY7ojA_;
917 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
918 N_LIB_PRIVATE TNimType NTInilmap__jS25SPRyK4NElao6fMJSpg_;
919 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_18, "true", 4);
920 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_19, "false", 5);
921 N_LIB_PRIVATE TNimType NTILpnode_nilabilityT__KYzEow2par19cjmb9bTX4xkg_;
922 N_LIB_PRIVATE TNimType NTIseqLLpnode_nilabilityTT__sHfymmN9aVTQTLnu1B0wi3w_;
923 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_21, "it is nil", 9);
924 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_22, "it might be nil", 15);
925 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_23, "it is unreachable", 17);
926 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_24, "can\'t deref ", 12);
927 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_25, ", ", 2);
928 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_26, "\012", 1);
929 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_27, " ", 2);
930 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_28, "param with nilable type", 23);
931 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_29, "it returns true for isNil", 25);
932 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_30, "assigns a value which might be nil", 34);
933 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_31, "passes it as a var arg which might change to nil", 48);
934 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_32, "it is nil by default", 20);
935 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_33, "it has ref type", 15);
936 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_34, "it is safe here as it returns false for isNil", 45);
937 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_35, "it might be changed directly or through an alias", 48);
938 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_36, "it might be changed because its base might be changed", 53);
939 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_37, " on line ", 9);
940 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_38, ":", 1);
941 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_40, "/home/runner/work/nightlies/nightlies/nim/compiler/nilcheck.nim", 63);
942 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_39 = {((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_40),
943 ((NI) 575),
944 ((NI) 9)}
945 ;
946 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_41, "==", 2);
947 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_42, "and", 3);
948 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_43, "or", 2);
949 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_44, "not", 3);
950 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_45, "return value is nil", 19);
951 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_46 = {((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_40),
952 ((NI) 1178),
953 ((NI) 11)}
954 ;
955 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_47, "return value might be nil", 25);
956 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_48 = {((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_40),
957 ((NI) 1180),
958 ((NI) 11)}
959 ;
960 STRING_LITERAL(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_49, "return value is unreachable", 27);
961 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_50 = {((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_40),
962 ((NI) 1182),
963 ((NI) 11)}
964 ;
965 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5238;
N_NIMCALL(void,Marker_tySequence__dAjyAaabi52TN36Jp0fAXQ)966 static N_NIMCALL(void, Marker_tySequence__dAjyAaabi52TN36Jp0fAXQ)(void* p, NI op) {
967 tySequence__dAjyAaabi52TN36Jp0fAXQ* a;
968 NI T1_;
969 a = (tySequence__dAjyAaabi52TN36Jp0fAXQ*)p;
970 T1_ = (NI)0;
971 }
N_NIMCALL(void,Marker_tySequence__0a6ZbC0zPSfUDYzqPnO68A)972 static N_NIMCALL(void, Marker_tySequence__0a6ZbC0zPSfUDYzqPnO68A)(void* p, NI op) {
973 tySequence__0a6ZbC0zPSfUDYzqPnO68A* a;
974 NI T1_;
975 NI T2_;
976 a = (tySequence__0a6ZbC0zPSfUDYzqPnO68A*)p;
977 T1_ = (NI)0;
978 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
979 nimGCvisit((void*)a->data[T1_].head, op);
980 nimGCvisit((void*)a->data[T1_].data, op);
981 T2_ = (NI)0;
982 }
983 }
N_NIMCALL(void,Marker_tySequence__F43jf4nUkSAG8E9cfLj9aQoQ)984 static N_NIMCALL(void, Marker_tySequence__F43jf4nUkSAG8E9cfLj9aQoQ)(void* p, NI op) {
985 tySequence__F43jf4nUkSAG8E9cfLj9aQoQ* a;
986 NI T1_;
987 a = (tySequence__F43jf4nUkSAG8E9cfLj9aQoQ*)p;
988 T1_ = (NI)0;
989 }
N_NIMCALL(void,Marker_tyRef__SHCn57BjQ6LjeAGfBicCFg)990 static N_NIMCALL(void, Marker_tyRef__SHCn57BjQ6LjeAGfBicCFg)(void* p, NI op) {
991 tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* a;
992 a = (tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA*)p;
993 nimGCvisit((void*)(*a).symbolIndices.data, op);
994 nimGCvisit((void*)(*a).expressions, op);
995 nimGCvisit((void*)(*a).dependants, op);
996 nimGCvisit((void*)(*a).warningLocations.data, op);
997 nimGCvisit((void*)(*a).idgen, op);
998 nimGCvisit((void*)(*a).config, op);
999 }
N_INLINE(NI,pluspercent___system_696)1000 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1001 NI result;
1002 result = (NI)0;
1003 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1004 return result;
1005 }
N_INLINE(void,incRef__system_5329)1006 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1007 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1008 }
N_INLINE(NI,minuspercent___system_716)1009 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1010 NI result;
1011 result = (NI)0;
1012 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1013 return result;
1014 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5291)1015 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr) {
1016 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1017 NI T1_;
1018 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1019 T1_ = (NI)0;
1020 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1021 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1022 return result;
1023 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1024 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1025 NIM_BOOL result;
1026 result = (NIM_BOOL)0;
1027 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1028 return result;
1029 }
N_INLINE(void,rtlAddZCT__system_5334)1030 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1031 addZCT__system_5285((&gch__system_5238.zct), c);
1032 }
N_INLINE(void,decRef__system_5336)1033 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1034 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1035 {
1036 NIM_BOOL T3_;
1037 T3_ = (NIM_BOOL)0;
1038 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1039 if (!T3_) goto LA4_;
1040 rtlAddZCT__system_5334(c);
1041 }
1042 LA4_: ;
1043 }
N_INLINE(void,asgnRef)1044 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1045 {
1046 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1047 if (!!((src == NIM_NIL))) goto LA3_;
1048 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1049 T5_ = usrToCell__system_5291(src);
1050 incRef__system_5329(T5_);
1051 }
1052 LA3_: ;
1053 {
1054 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1055 if (!!(((*dest) == NIM_NIL))) goto LA8_;
1056 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1057 T10_ = usrToCell__system_5291((*dest));
1058 decRef__system_5336(T10_);
1059 }
1060 LA8_: ;
1061 (*dest) = src;
1062 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)1063 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
1064 NI result;
1065 result = (NI)0;
1066 result = nextPowerOfTwo__pureZmath_176((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
1067 return result;
1068 }
N_NIMCALL(void,initTable__nilcheck_8806)1069 N_LIB_PRIVATE N_NIMCALL(void, initTable__nilcheck_8806)(NI initialSize, tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw* Result) {
1070 NI correctSizeX60gensym196_;
1071 unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
1072 (*Result).counter = 0;
1073 correctSizeX60gensym196_ = slotsNeeded__pureZcollectionsZtables_42(((NI) (initialSize)));
1074 (*Result).counter = ((NI) 0);
1075 unsureAsgnRef((void**) (&(*Result).data), (tySequence__dAjyAaabi52TN36Jp0fAXQ*) newSeq((&NTIkeyvaluepairseq__dAjyAaabi52TN36Jp0fAXQ_), ((NI) (correctSizeX60gensym196_))));
1076 }
N_INLINE(NU64,hiXorLoFallback64__pureZhashes_35)1077 static N_INLINE(NU64, hiXorLoFallback64__pureZhashes_35)(NU64 a, NU64 b) {
1078 NU64 result;
1079 NU64 aH;
1080 NU64 aL;
1081 NU64 bH;
1082 NU64 bL;
1083 NU64 rHH;
1084 NU64 rHL;
1085 NU64 rLH;
1086 NU64 rLL;
1087 NU64 t;
1088 NU64 c;
1089 NU64 lo;
1090 NU64 T6_;
1091 NU64 hi;
1092 { result = (NU64)0;
1093 aH = (NU64)((NU64)(a) >> (NU64)(((NI) 32)));
1094 aL = (NU64)(a & 4294967295ULL);
1095 bH = (NU64)((NU64)(b) >> (NU64)(((NI) 32)));
1096 bL = (NU64)(b & 4294967295ULL);
1097 rHH = (NU64)((NU64)(aH) * (NU64)(bH));
1098 rHL = (NU64)((NU64)(aH) * (NU64)(bL));
1099 rLH = (NU64)((NU64)(aL) * (NU64)(bH));
1100 rLL = (NU64)((NU64)(aL) * (NU64)(bL));
1101 t = (NU64)((NU64)(rLL) + (NU64)((NU64)((NU64)(rHL) << (NU64)(((NI) 32)))));
1102 {
1103 if (!((NU64)(t) < (NU64)(rLL))) goto LA3_;
1104 c = 1ULL;
1105 }
1106 goto LA1_;
1107 LA3_: ;
1108 {
1109 c = 0ULL;
1110 }
1111 LA1_: ;
1112 lo = (NU64)((NU64)(t) + (NU64)((NU64)((NU64)(rLH) << (NU64)(((NI) 32)))));
1113 T6_ = (NU64)0;
1114 {
1115 if (!((NU64)(lo) < (NU64)(t))) goto LA9_;
1116 T6_ = 1ULL;
1117 }
1118 goto LA7_;
1119 LA9_: ;
1120 {
1121 T6_ = 0ULL;
1122 }
1123 LA7_: ;
1124 c += T6_;
1125 hi = (NU64)((NU64)((NU64)((NU64)((NU64)((NU64)(rHH) + (NU64)((NU64)((NU64)(rHL) >> (NU64)(((NI) 32)))))) + (NU64)((NU64)((NU64)(rLH) >> (NU64)(((NI) 32)))))) + (NU64)(c));
1126 result = (NU64)(hi ^ lo);
1127 goto BeforeRet_;
1128 }BeforeRet_: ;
1129 return result;
1130 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)1131 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
1132 NU64 result;
1133 result = (NU64)0;
1134 result = hiXorLoFallback64__pureZhashes_35(a, b);
1135 return result;
1136 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)1137 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
1138 NI result;
1139 NU64 T1_;
1140 NU64 T2_;
1141 result = (NI)0;
1142 T1_ = (NU64)0;
1143 T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
1144 T2_ = (NU64)0;
1145 T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
1146 result = ((NI) (T2_));
1147 return result;
1148 }
N_INLINE(NI,hash__nilcheck_1991)1149 static N_INLINE(NI, hash__nilcheck_1991)(NI x) {
1150 NI result;
1151 result = (NI)0;
1152 result = hashWangYi1__pureZhashes_136(((NU64) (x)));
1153 return result;
1154 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)1155 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
1156 NIM_BOOL result;
1157 result = (NIM_BOOL)0;
1158 result = !((hcode == ((NI) 0)));
1159 return result;
1160 }
N_NIMCALL(NIM_BOOL,eqeq___nilcheck_1923)1161 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nilcheck_1923)(NI a, NI b) {
1162 NIM_BOOL result;
1163 result = (NIM_BOOL)0;
1164 result = (a == b);
1165 return result;
1166 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)1167 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
1168 NI result;
1169 result = (NI)0;
1170 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
1171 return result;
1172 }
N_INLINE(NI,rawGet__nilcheck_1984)1173 static N_INLINE(NI, rawGet__nilcheck_1984)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw t, NI key, NI* hc) {
1174 NI result;
1175 NI h;
1176 NI T10_;
1177 { result = (NI)0;
1178 (*hc) = hash__nilcheck_1991(key);
1179 {
1180 if (!((*hc) == ((NI) 0))) goto LA3_;
1181 (*hc) = ((NI) 314159265);
1182 }
1183 LA3_: ;
1184 {
1185 NI T7_;
1186 T7_ = (t.data ? t.data->Sup.len : 0);
1187 if (!(T7_ == ((NI) 0))) goto LA8_;
1188 result = ((NI) -1);
1189 goto BeforeRet_;
1190 }
1191 LA8_: ;
1192 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
1193 h = (NI)((*hc) & T10_);
1194 {
1195 while (1) {
1196 NIM_BOOL T13_;
1197 NI T20_;
1198 T13_ = (NIM_BOOL)0;
1199 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1200 if (!T13_) goto LA12;
1201 {
1202 NIM_BOOL T16_;
1203 T16_ = (NIM_BOOL)0;
1204 T16_ = (t.data->data[h].Field0 == (*hc));
1205 if (!(T16_)) goto LA17_;
1206 T16_ = eqeq___nilcheck_1923(t.data->data[h].Field1, key);
1207 LA17_: ;
1208 if (!T16_) goto LA18_;
1209 result = h;
1210 goto BeforeRet_;
1211 }
1212 LA18_: ;
1213 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
1214 h = nextTry__pureZcollectionsZtables_34(h, T20_);
1215 } LA12: ;
1216 }
1217 result = (NI)(((NI) -1) - h);
1218 }BeforeRet_: ;
1219 return result;
1220 }
N_INLINE(NIM_BOOL,mustRehash__nilcheck_7373)1221 static N_INLINE(NIM_BOOL, mustRehash__nilcheck_7373)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw t) {
1222 NIM_BOOL result;
1223 NIM_BOOL T1_;
1224 NI T2_;
1225 NI T4_;
1226 result = (NIM_BOOL)0;
1227 T1_ = (NIM_BOOL)0;
1228 T2_ = (t.data ? t.data->Sup.len : 0);
1229 T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
1230 if (T1_) goto LA3_;
1231 T4_ = (t.data ? t.data->Sup.len : 0);
1232 T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
1233 LA3_: ;
1234 result = T1_;
1235 return result;
1236 }
N_NIMCALL(void,rawInsert__nilcheck_7894)1237 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__nilcheck_7894)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw* t, tySequence__dAjyAaabi52TN36Jp0fAXQ** data, NI key, NI16 val, NI hc, NI h) {
1238 (*data)->data[h].Field1 = key;
1239 (*data)->data[h].Field2 = val;
1240 (*data)->data[h].Field0 = hc;
1241 }
N_NIMCALL(void,enlarge__nilcheck_7559)1242 N_LIB_PRIVATE N_NIMCALL(void, enlarge__nilcheck_7559)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw* t) {
1243 tySequence__dAjyAaabi52TN36Jp0fAXQ* n;
1244 NI T1_;
1245 tySequence__dAjyAaabi52TN36Jp0fAXQ* T2_;
1246 n = NIM_NIL;
1247 T1_ = ((*t).data ? (*t).data->Sup.len : 0);
1248 n = (tySequence__dAjyAaabi52TN36Jp0fAXQ*) newSeq((&NTIkeyvaluepairseq__dAjyAaabi52TN36Jp0fAXQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
1249 T2_ = NIM_NIL;
1250 T2_ = (*t).data;
1251 unsureAsgnRef((void**) (&(*t).data), n);
1252 n = T2_;
1253 {
1254 NI i;
1255 NI colontmp_;
1256 NI T4_;
1257 NI res;
1258 i = (NI)0;
1259 colontmp_ = (NI)0;
1260 T4_ = ((n ? n->Sup.len : 0)-1);
1261 colontmp_ = T4_;
1262 res = ((NI) 0);
1263 {
1264 while (1) {
1265 NI eh;
1266 if (!(res <= colontmp_)) goto LA6;
1267 i = res;
1268 eh = n->data[i].Field0;
1269 {
1270 NIM_BOOL T9_;
1271 NI j;
1272 NI T12_;
1273 NI T17_;
1274 NI16 T18_;
1275 T9_ = (NIM_BOOL)0;
1276 T9_ = isFilled__pureZcollectionsZtables_31(eh);
1277 if (!T9_) goto LA10_;
1278 T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1279 j = (NI)(eh & T12_);
1280 {
1281 while (1) {
1282 NIM_BOOL T15_;
1283 NI T16_;
1284 T15_ = (NIM_BOOL)0;
1285 T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
1286 if (!T15_) goto LA14;
1287 T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1288 j = nextTry__pureZcollectionsZtables_34(j, T16_);
1289 } LA14: ;
1290 }
1291 T17_ = (NI)0;
1292 T17_ = n->data[i].Field1;
1293 n->data[i].Field1 = 0;
1294 T18_ = (NI16)0;
1295 T18_ = n->data[i].Field2;
1296 n->data[i].Field2 = 0;
1297 rawInsert__nilcheck_7894(t, (&(*t).data), T17_, T18_, eh, j);
1298 }
1299 LA10_: ;
1300 res += ((NI) 1);
1301 } LA6: ;
1302 }
1303 }
1304 }
N_INLINE(NI,rawGetKnownHC__nilcheck_8075)1305 static N_INLINE(NI, rawGetKnownHC__nilcheck_8075)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw t, NI key, NI hc) {
1306 NI result;
1307 NI h;
1308 NI T6_;
1309 { result = (NI)0;
1310 {
1311 NI T3_;
1312 T3_ = (t.data ? t.data->Sup.len : 0);
1313 if (!(T3_ == ((NI) 0))) goto LA4_;
1314 result = ((NI) -1);
1315 goto BeforeRet_;
1316 }
1317 LA4_: ;
1318 T6_ = ((t.data ? t.data->Sup.len : 0)-1);
1319 h = (NI)(hc & T6_);
1320 {
1321 while (1) {
1322 NIM_BOOL T9_;
1323 NI T16_;
1324 T9_ = (NIM_BOOL)0;
1325 T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1326 if (!T9_) goto LA8;
1327 {
1328 NIM_BOOL T12_;
1329 T12_ = (NIM_BOOL)0;
1330 T12_ = (t.data->data[h].Field0 == hc);
1331 if (!(T12_)) goto LA13_;
1332 T12_ = eqeq___nilcheck_1923(t.data->data[h].Field1, key);
1333 LA13_: ;
1334 if (!T12_) goto LA14_;
1335 result = h;
1336 goto BeforeRet_;
1337 }
1338 LA14_: ;
1339 T16_ = ((t.data ? t.data->Sup.len : 0)-1);
1340 h = nextTry__pureZcollectionsZtables_34(h, T16_);
1341 } LA8: ;
1342 }
1343 result = (NI)(((NI) -1) - h);
1344 }BeforeRet_: ;
1345 return result;
1346 }
N_NIMCALL(void,X5BX5Deq___nilcheck_7174)1347 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_7174)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw* t, NI key, NI16 val) {
1348 NI hc;
1349 NI index;
1350 {
1351 NI T3_;
1352 NI correctSizeX60gensym176_;
1353 T3_ = ((*t).data ? (*t).data->Sup.len : 0);
1354 if (!(T3_ == ((NI) 0))) goto LA4_;
1355 correctSizeX60gensym176_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1356 (*t).counter = ((NI) 0);
1357 unsureAsgnRef((void**) (&(*t).data), (tySequence__dAjyAaabi52TN36Jp0fAXQ*) newSeq((&NTIkeyvaluepairseq__dAjyAaabi52TN36Jp0fAXQ_), ((NI) (correctSizeX60gensym176_))));
1358 }
1359 LA4_: ;
1360 hc = (NI)0;
1361 index = rawGet__nilcheck_1984((*t), key, (&hc));
1362 {
1363 if (!(((NI) 0) <= index)) goto LA8_;
1364 (*t).data->data[index].Field2 = val;
1365 }
1366 goto LA6_;
1367 LA8_: ;
1368 {
1369 {
1370 NI T13_;
1371 NI correctSizeX60gensym179_;
1372 T13_ = ((*t).data ? (*t).data->Sup.len : 0);
1373 if (!(T13_ == ((NI) 0))) goto LA14_;
1374 correctSizeX60gensym179_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1375 (*t).counter = ((NI) 0);
1376 unsureAsgnRef((void**) (&(*t).data), (tySequence__dAjyAaabi52TN36Jp0fAXQ*) newSeq((&NTIkeyvaluepairseq__dAjyAaabi52TN36Jp0fAXQ_), ((NI) (correctSizeX60gensym179_))));
1377 }
1378 LA14_: ;
1379 {
1380 NIM_BOOL T18_;
1381 T18_ = (NIM_BOOL)0;
1382 T18_ = mustRehash__nilcheck_7373((*t));
1383 if (!T18_) goto LA19_;
1384 enlarge__nilcheck_7559(t);
1385 index = rawGetKnownHC__nilcheck_8075((*t), key, hc);
1386 }
1387 LA19_: ;
1388 index = (NI)(((NI) -1) - index);
1389 rawInsert__nilcheck_7894(t, (&(*t).data), key, val, hc, index);
1390 (*t).counter += ((NI) 1);
1391 }
1392 LA6_: ;
1393 }
N_NIMCALL(void,toTable__nilcheck_8801)1394 N_LIB_PRIVATE N_NIMCALL(void, toTable__nilcheck_8801)(tyTuple__cyDO9czMbIL47POKM3sIQng* pairs, NI pairsLen_0, tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw* Result) {
1395 initTable__nilcheck_8806(pairsLen_0, Result);
1396 {
1397 NI* key;
1398 NI16* val;
1399 NI i;
1400 key = (NI*)0;
1401 val = (NI16*)0;
1402 i = ((NI) 0);
1403 {
1404 while (1) {
1405 if (!(i < pairsLen_0)) goto LA3;
1406 key = (&pairs[i].Field0);
1407 val = (&pairs[i].Field1);
1408 X5BX5Deq___nilcheck_7174(Result, (*key), (*val));
1409 i += ((NI) 1);
1410 } LA3: ;
1411 }
1412 }
1413 }
N_INLINE(void,nimGCunrefRC1)1414 static N_INLINE(void, nimGCunrefRC1)(void* p) {
1415 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
1416 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1417 T1_ = usrToCell__system_5291(p);
1418 decRef__system_5336(T1_);
1419 }
N_INLINE(void,nimSetMem__systemZmemory_7)1420 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1421 void* T1_;
1422 T1_ = (void*)0;
1423 T1_ = memset(a, v, ((size_t) (size)));
1424 }
N_INLINE(void,nimZeroMem)1425 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1426 nimSetMem__systemZmemory_7(p, ((int) 0), size);
1427 }
N_NIMCALL(NI,symbol__nilcheck_1210)1428 N_LIB_PRIVATE N_NIMCALL(NI, symbol__nilcheck_1210)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1429 NI result;
1430 result = (NI)0;
1431 switch ((*n).kind) {
1432 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
1433 {
1434 result = ((NI) -2);
1435 }
1436 break;
1437 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1438 {
1439 {
1440 if (!((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11))) goto LA5_;
1441 result = ((NI) -1);
1442 }
1443 goto LA3_;
1444 LA5_: ;
1445 {
1446 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym10_;
1447 xX60gensym10_ = (*n)._kind_4.sym;
1448 result = (NI)((NI)((NU32)(((NI) ((*xX60gensym10_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym10_).Sup.itemId.item)));
1449 }
1450 LA3_: ;
1451 }
1452 break;
1453 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
1454 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
1455 {
1456 result = symbol__nilcheck_1210((*n)._kind_6.sons->data[((NI) 0)]);
1457 }
1458 break;
1459 default:
1460 {
1461 result = hashTree__treetab_5(n);
1462 }
1463 break;
1464 }
1465 return result;
1466 }
N_NIMCALL(NIM_BOOL,hasKey__nilcheck_1977)1467 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__nilcheck_1977)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw t, NI key) {
1468 NIM_BOOL result;
1469 NI hc;
1470 NI T1_;
1471 result = (NIM_BOOL)0;
1472 hc = (NI)0;
1473 T1_ = (NI)0;
1474 T1_ = rawGet__nilcheck_1984(t, key, (&hc));
1475 result = (((NI) 0) <= T1_);
1476 return result;
1477 }
N_NIMCALL(NI16,len__nilcheck_5915)1478 N_LIB_PRIVATE N_NIMCALL(NI16, len__nilcheck_5915)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* a) {
1479 NI16 result;
1480 NI T1_;
1481 result = (NI16)0;
1482 T1_ = (a ? a->Sup.len : 0);
1483 result = ((NI16) (T1_));
1484 return result;
1485 }
N_NIMCALL(void,add__nilcheck_8361)1486 N_LIB_PRIVATE N_NIMCALL(void, add__nilcheck_8361)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value) {
1487 NI T1_;
1488 unsureAsgnRef((void**) (&(*a)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*a)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
1489 T1_ = (*a)->Sup.len++;
1490 asgnRef((void**) (&(*a)->data[T1_]), value);
1491 }
N_INLINE(void,nimCopyMem)1492 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
1493 void* T1_;
1494 T1_ = (void*)0;
1495 T1_ = memcpy(dest, source, ((size_t) (size)));
1496 }
N_INLINE(void,copyMem__system_1727)1497 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
1498 nimCopyMem(dest, source, size);
1499 }
N_INLINE(void,appendString)1500 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
1501 {
1502 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
1503 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
1504 (*dest).Sup.len += (*src).Sup.len;
1505 }
1506 LA3_: ;
1507 }
N_NIMCALL(NimStringDesc *,dollar___nilcheck_1927)1508 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___nilcheck_1927)(NI a) {
1509 NimStringDesc* result;
1510 result = NIM_NIL;
1511 result = dollar___systemZdollars_3(a);
1512 return result;
1513 }
N_NOINLINE(void,raiseKeyError__nilcheck_2385)1514 N_LIB_PRIVATE N_NOINLINE(void, raiseKeyError__nilcheck_2385)(NI key) {
1515 tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag* T1_;
1516 NimStringDesc* T2_;
1517 NimStringDesc* T3_;
1518 T1_ = NIM_NIL;
1519 T1_ = (tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag*) newObj((&NTIrefkeyerror__8SzoIAgLw9ci2v0yafHj9b6Q_), sizeof(tyObject_KeyError__t7nhKLvXTQS9cS8ByJU9bIag));
1520 (*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIkeyerror__t7nhKLvXTQS9cS8ByJU9bIag_);
1521 (*T1_).Sup.Sup.Sup.name = "KeyError";
1522 T2_ = NIM_NIL;
1523 T3_ = NIM_NIL;
1524 T3_ = dollar___nilcheck_1927(key);
1525 T2_ = rawNewString((T3_ ? T3_->Sup.len : 0) + 15);
1526 appendString(T2_, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_9));
1527 appendString(T2_, T3_);
1528 asgnRef((void**) (&(*T1_).Sup.Sup.Sup.message), T2_);
1529 asgnRef((void**) (&(*T1_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
1530 raiseExceptionEx((Exception*)T1_, "KeyError", "raiseKeyError", "tables.nim", 234);
1531 }
N_NIMCALL(NI16 *,X5BX5D___nilcheck_2314)1532 N_LIB_PRIVATE N_NIMCALL(NI16*, X5BX5D___nilcheck_2314)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw* t, NI key) {
1533 NI16* result;
1534 NI hcX60gensym22_;
1535 NI indexX60gensym22_;
1536 result = (NI16*)0;
1537 hcX60gensym22_ = (NI)0;
1538 indexX60gensym22_ = rawGet__nilcheck_1984((*t), key, (&hcX60gensym22_));
1539 {
1540 if (!(((NI) 0) <= indexX60gensym22_)) goto LA3_;
1541 result = (&(*t).data->data[indexX60gensym22_].Field2);
1542 }
1543 goto LA1_;
1544 LA3_: ;
1545 {
1546 raiseKeyError__nilcheck_2385(key);
1547 }
1548 LA1_: ;
1549 return result;
1550 }
N_NIMCALL(NIM_BOOL,lteq___nilcheck_176)1551 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___nilcheck_176)(NI16 a, NI16 b) {
1552 NIM_BOOL result;
1553 result = (NIM_BOOL)0;
1554 result = (a <= b);
1555 return result;
1556 }
N_NIMCALL(NI16,len__nilcheck_8692)1557 N_LIB_PRIVATE N_NIMCALL(NI16, len__nilcheck_8692)(tySequence__0a6ZbC0zPSfUDYzqPnO68A* a) {
1558 NI16 result;
1559 NI T1_;
1560 result = (NI16)0;
1561 T1_ = (a ? a->Sup.len : 0);
1562 result = ((NI16) (T1_));
1563 return result;
1564 }
N_NIMCALL(void,setLen__nilcheck_8700)1565 N_LIB_PRIVATE N_NIMCALL(void, setLen__nilcheck_8700)(tySequence__0a6ZbC0zPSfUDYzqPnO68A** a, NI16 length) {
1566 unsureAsgnRef((void**) (&(*a)), (tySequence__0a6ZbC0zPSfUDYzqPnO68A*) setLengthSeqV2(&((*a))->Sup, (&NTIseqLintsetT__0a6ZbC0zPSfUDYzqPnO68A_), ((NI) (length))));
1567 }
N_NIMCALL(NI16,plus___nilcheck_195)1568 N_LIB_PRIVATE N_NIMCALL(NI16, plus___nilcheck_195)(NI16 a, NI16 b) {
1569 NI16 result;
1570 result = (NI16)0;
1571 result = (NI16)(a + b);
1572 return result;
1573 }
N_NIMCALL(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA *,X5BX5D___nilcheck_3538)1574 N_LIB_PRIVATE N_NIMCALL(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*, X5BX5D___nilcheck_3538)(tySequence__0a6ZbC0zPSfUDYzqPnO68A** a, NI16 index) {
1575 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* result;
1576 result = (tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*)0;
1577 result = (&(*a)->data[index]);
1578 return result;
1579 }
N_INLINE(NI,len__ast_3198)1580 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1581 NI result;
1582 NI T1_;
1583 result = (NI)0;
1584 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
1585 result = T1_;
1586 return result;
1587 }
N_INLINE(NI,safeLen__ast_3191)1588 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1589 NI result;
1590 result = (NI)0;
1591 {
1592 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
1593 result = ((NI) 0);
1594 }
1595 goto LA1_;
1596 LA3_: ;
1597 {
1598 result = len__ast_3198(n);
1599 }
1600 LA1_: ;
1601 return result;
1602 }
N_NIMCALL(void,preVisitNode__nilcheck_7012)1603 N_LIB_PRIVATE N_NIMCALL(void, preVisitNode__nilcheck_7012)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
1604 {
1605 NIM_BOOL T3_;
1606 NIM_BOOL T5_;
1607 NI nodeSymbol;
1608 T3_ = (NIM_BOOL)0;
1609 T3_ = ((*node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
1610 if (T3_) goto LA4_;
1611 T5_ = (NIM_BOOL)0;
1612 T5_ = ((*node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
1613 if (!(T5_)) goto LA6_;
1614 T5_ = ((nkLiterals__ast_3029[(NU)((*(*node)._kind_6.sons->data[((NI) 1)]).kind)>>3] &(1U<<((NU)((*(*node)._kind_6.sons->data[((NI) 1)]).kind)&7U)))!=0);
1615 LA6_: ;
1616 T3_ = T5_;
1617 LA4_: ;
1618 if (!T3_) goto LA7_;
1619 nodeSymbol = symbol__nilcheck_1210(node);
1620 {
1621 NIM_BOOL T11_;
1622 NI16 T14_;
1623 T11_ = (NIM_BOOL)0;
1624 T11_ = hasKey__nilcheck_1977((*ctx).symbolIndices, nodeSymbol);
1625 if (!!(T11_)) goto LA12_;
1626 T14_ = (NI16)0;
1627 T14_ = len__nilcheck_5915((*ctx).expressions);
1628 X5BX5Deq___nilcheck_7174((&(*ctx).symbolIndices), nodeSymbol, T14_);
1629 add__nilcheck_8361((&(*ctx).expressions), node);
1630 }
1631 LA12_: ;
1632 {
1633 if (!((*node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA17_;
1634 {
1635 NIM_BOOL T21_;
1636 NIM_BOOL T22_;
1637 NIM_BOOL T24_;
1638 NIM_BOOL T25_;
1639 NI16 index;
1640 NI16* T31_;
1641 NI16 baseIndex;
1642 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* base;
1643 T21_ = (NIM_BOOL)0;
1644 T22_ = (NIM_BOOL)0;
1645 T22_ = ((*node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
1646 if (!(T22_)) goto LA23_;
1647 T24_ = (NIM_BOOL)0;
1648 T25_ = (NIM_BOOL)0;
1649 T25_ = !(((*node).typ == 0));
1650 if (!(T25_)) goto LA26_;
1651 T25_ = ((*(*node).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
1652 LA26_: ;
1653 T24_ = T25_;
1654 if (!(T24_)) goto LA27_;
1655 T24_ = !((((*(*node).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
1656 LA27_: ;
1657 T22_ = T24_;
1658 LA23_: ;
1659 T21_ = T22_;
1660 if (T21_) goto LA28_;
1661 T21_ = ((*node).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
1662 LA28_: ;
1663 if (!T21_) goto LA29_;
1664 T31_ = (NI16*)0;
1665 T31_ = X5BX5D___nilcheck_2314((&(*ctx).symbolIndices), nodeSymbol);
1666 index = (*T31_);
1667 baseIndex = ((NI16) -1);
1668 {
1669 if (!!(((*(*node)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*(*node)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA34_;
1670 base = (*(*node)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
1671 }
1672 goto LA32_;
1673 LA34_: ;
1674 {
1675 base = (*node)._kind_6.sons->data[((NI) 0)];
1676 }
1677 LA32_: ;
1678 {
1679 NI baseSymbol;
1680 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* T55_;
1681 if (!!(((*base).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA39_;
1682 baseSymbol = symbol__nilcheck_1210(base);
1683 {
1684 NIM_BOOL T43_;
1685 T43_ = (NIM_BOOL)0;
1686 T43_ = hasKey__nilcheck_1977((*ctx).symbolIndices, baseSymbol);
1687 if (!!(T43_)) goto LA44_;
1688 baseIndex = len__nilcheck_5915((*ctx).expressions);
1689 }
1690 goto LA41_;
1691 LA44_: ;
1692 {
1693 NI16* T47_;
1694 T47_ = (NI16*)0;
1695 T47_ = X5BX5D___nilcheck_2314((&(*ctx).symbolIndices), baseSymbol);
1696 baseIndex = (*T47_);
1697 }
1698 LA41_: ;
1699 {
1700 NI16 T50_;
1701 NIM_BOOL T51_;
1702 NI16 T54_;
1703 T50_ = (NI16)0;
1704 T50_ = len__nilcheck_8692((*ctx).dependants);
1705 T51_ = (NIM_BOOL)0;
1706 T51_ = lteq___nilcheck_176(T50_, baseIndex);
1707 if (!T51_) goto LA52_;
1708 T54_ = (NI16)0;
1709 T54_ = plus___nilcheck_195(baseIndex, ((NI16) 1));
1710 setLen__nilcheck_8700((&(*ctx).dependants), T54_);
1711 }
1712 LA52_: ;
1713 T55_ = (tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*)0;
1714 T55_ = X5BX5D___nilcheck_3538((&(*ctx).dependants), baseIndex);
1715 incl__pureZcollectionsZintsets_55(T55_, ((NI) (index)));
1716 }
1717 LA39_: ;
1718 }
1719 LA29_: ;
1720 }
1721 LA17_: ;
1722 }
1723 LA7_: ;
1724 switch ((*node).kind) {
1725 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1726 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
1727 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
1728 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
1729 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
1730 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
1731 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
1732 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
1733 {
1734 }
1735 break;
1736 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
1737 {
1738 preVisitNode__nilcheck_7012(ctx, (*node)._kind_6.sons->data[((NI) 0)], conf);
1739 }
1740 break;
1741 default:
1742 {
1743 {
1744 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* element;
1745 element = NIM_NIL;
1746 {
1747 NI i;
1748 NI colontmp_;
1749 NI i_2;
1750 i = (NI)0;
1751 colontmp_ = (NI)0;
1752 colontmp_ = safeLen__ast_3191(node);
1753 i_2 = ((NI) 0);
1754 {
1755 while (1) {
1756 if (!(i_2 < colontmp_)) goto LA62;
1757 i = i_2;
1758 element = (*node)._kind_6.sons->data[i];
1759 preVisitNode__nilcheck_7012(ctx, element, conf);
1760 i_2 += ((NI) 1);
1761 } LA62: ;
1762 }
1763 }
1764 }
1765 }
1766 break;
1767 }
1768 }
N_NIMCALL(NIM_BOOL,lt___nilcheck_163)1769 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___nilcheck_163)(NI16 a, NI16 b) {
1770 NIM_BOOL result;
1771 result = (NIM_BOOL)0;
1772 result = (a < b);
1773 return result;
1774 }
N_NIMCALL(void,preVisit__nilcheck_8796)1775 N_LIB_PRIVATE N_NIMCALL(void, preVisit__nilcheck_8796)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
1776 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
1777 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
1778 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA emptySet;
1779 toTable__nilcheck_8801(TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_7, 1, (&(*ctx).symbolIndices));
1780 cache = newIdentCache__idents_152();
1781 if ((*ctx).expressions) { nimGCunrefRC1((*ctx).expressions); (*ctx).expressions = NIM_NIL; }
1782 (*ctx).expressions = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeqRC1((&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), 1);
1783 T1_ = NIM_NIL;
1784 T1_ = getIdent__idents_143(cache, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_8));
1785 asgnRef((void**) (&(*ctx).expressions->data[0]), newIdentNode__ast_3712(T1_, (*(*s).ast).info));
1786 nimZeroMem((void*)(&emptySet), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
1787 if ((*ctx).dependants) { nimGCunrefRC1((*ctx).dependants); (*ctx).dependants = NIM_NIL; }
1788 (*ctx).dependants = (tySequence__0a6ZbC0zPSfUDYzqPnO68A*) newSeqRC1((&NTIseqLintsetT__0a6ZbC0zPSfUDYzqPnO68A_), 1);
1789 genericAssign((void*)(&(*ctx).dependants->data[0]), (void*)(&emptySet), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
1790 {
1791 NI i;
1792 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
1793 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
1794 NI i_2;
1795 NI L;
1796 NI T3_;
1797 i = (NI)0;
1798 arg = NIM_NIL;
1799 colontmp_ = NIM_NIL;
1800 colontmp_ = (*(*(*s).typ).n)._kind_6.sons;
1801 i_2 = ((NI) 0);
1802 T3_ = (colontmp_ ? colontmp_->Sup.len : 0);
1803 L = T3_;
1804 {
1805 while (1) {
1806 if (!(i_2 < L)) goto LA5;
1807 i = i_2;
1808 arg = colontmp_->data[i_2];
1809 {
1810 {
1811 NI argSymbol;
1812 if (!(((NI) 0) < i)) goto LA9_;
1813 {
1814 if (!!(((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA13_;
1815 goto LA6;
1816 }
1817 LA13_: ;
1818 argSymbol = symbol__nilcheck_1210(arg);
1819 {
1820 NIM_BOOL T17_;
1821 NI16 T20_;
1822 T17_ = (NIM_BOOL)0;
1823 T17_ = hasKey__nilcheck_1977((*ctx).symbolIndices, argSymbol);
1824 if (!!(T17_)) goto LA18_;
1825 T20_ = (NI16)0;
1826 T20_ = len__nilcheck_5915((*ctx).expressions);
1827 X5BX5Deq___nilcheck_7174((&(*ctx).symbolIndices), argSymbol, T20_);
1828 add__nilcheck_8361((&(*ctx).expressions), arg);
1829 }
1830 LA18_: ;
1831 }
1832 LA9_: ;
1833 } LA6: ;
1834 i_2 += ((NI) 1);
1835 } LA5: ;
1836 }
1837 }
1838 preVisitNode__nilcheck_7012(ctx, body, conf);
1839 {
1840 NI16 T23_;
1841 NI16 T24_;
1842 NIM_BOOL T25_;
1843 NI16 T28_;
1844 T23_ = (NI16)0;
1845 T23_ = len__nilcheck_8692((*ctx).dependants);
1846 T24_ = (NI16)0;
1847 T24_ = len__nilcheck_5915((*ctx).expressions);
1848 T25_ = (NIM_BOOL)0;
1849 T25_ = lt___nilcheck_163(T23_, T24_);
1850 if (!T25_) goto LA26_;
1851 T28_ = (NI16)0;
1852 T28_ = len__nilcheck_5915((*ctx).expressions);
1853 setLen__nilcheck_8700((&(*ctx).dependants), T28_);
1854 }
1855 LA26_: ;
1856 }
N_NIMCALL(NI16,len__nilcheck_300)1857 N_LIB_PRIVATE N_NIMCALL(NI16, len__nilcheck_300)(tySequence__j9aEZ11m8pCmK2eRUFSgiOA* a) {
1858 NI16 result;
1859 NI T1_;
1860 result = (NI16)0;
1861 T1_ = (a ? a->Sup.len : 0);
1862 result = ((NI16) (T1_));
1863 return result;
1864 }
N_NIMCALL(void,Marker_tySequence__j9aEZ11m8pCmK2eRUFSgiOA)1865 static N_NIMCALL(void, Marker_tySequence__j9aEZ11m8pCmK2eRUFSgiOA)(void* p, NI op) {
1866 tySequence__j9aEZ11m8pCmK2eRUFSgiOA* a;
1867 NI T1_;
1868 a = (tySequence__j9aEZ11m8pCmK2eRUFSgiOA*)p;
1869 T1_ = (NI)0;
1870 }
N_NIMCALL(void,Marker_tySequence__RJ9cCbHDTKFvcxBv5qqeJbg)1871 static N_NIMCALL(void, Marker_tySequence__RJ9cCbHDTKFvcxBv5qqeJbg)(void* p, NI op) {
1872 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg* a;
1873 NI T1_;
1874 a = (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg*)p;
1875 T1_ = (NI)0;
1876 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1877 nimGCvisit((void*)a->data[T1_].node, op);
1878 }
1879 }
N_NIMCALL(void,Marker_tySequence__tFZSZSomBEZ9bmg1CrY7ojA)1880 static N_NIMCALL(void, Marker_tySequence__tFZSZSomBEZ9bmg1CrY7ojA)(void* p, NI op) {
1881 tySequence__tFZSZSomBEZ9bmg1CrY7ojA* a;
1882 NI T1_;
1883 a = (tySequence__tFZSZSomBEZ9bmg1CrY7ojA*)p;
1884 T1_ = (NI)0;
1885 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
1886 nimGCvisit((void*)a->data[T1_], op);
1887 }
1888 }
N_NIMCALL(void,Marker_tyRef__jS25SPRyK4NElao6fMJSpg)1889 static N_NIMCALL(void, Marker_tyRef__jS25SPRyK4NElao6fMJSpg)(void* p, NI op) {
1890 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* a;
1891 a = (tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*)p;
1892 nimGCvisit((void*)(*a).expressions, op);
1893 nimGCvisit((void*)(*a).history, op);
1894 nimGCvisit((void*)(*a).setIndices, op);
1895 nimGCvisit((void*)(*a).sets, op);
1896 nimGCvisit((void*)(*a).parent, op);
1897 }
N_NIMCALL(tySequence__j9aEZ11m8pCmK2eRUFSgiOA *,newSeq__nilcheck_343)1898 N_LIB_PRIVATE N_NIMCALL(tySequence__j9aEZ11m8pCmK2eRUFSgiOA*, newSeq__nilcheck_343)(NI len) {
1899 tySequence__j9aEZ11m8pCmK2eRUFSgiOA* result;
1900 result = NIM_NIL;
1901 result = (tySequence__j9aEZ11m8pCmK2eRUFSgiOA*) newSeq((&NTIseqLnilabilityT__j9aEZ11m8pCmK2eRUFSgiOA_), len);
1902 return result;
1903 }
N_NIMCALL(tySequence__j9aEZ11m8pCmK2eRUFSgiOA *,newSeqOfDistinct__nilcheck_362)1904 N_LIB_PRIVATE N_NIMCALL(tySequence__j9aEZ11m8pCmK2eRUFSgiOA*, newSeqOfDistinct__nilcheck_362)(NI length) {
1905 tySequence__j9aEZ11m8pCmK2eRUFSgiOA* result;
1906 result = NIM_NIL;
1907 result = newSeq__nilcheck_343(((NI) (length)));
1908 return result;
1909 }
N_NIMCALL(tySequence__tFZSZSomBEZ9bmg1CrY7ojA *,newSeq__nilcheck_381)1910 N_LIB_PRIVATE N_NIMCALL(tySequence__tFZSZSomBEZ9bmg1CrY7ojA*, newSeq__nilcheck_381)(NI len) {
1911 tySequence__tFZSZSomBEZ9bmg1CrY7ojA* result;
1912 result = NIM_NIL;
1913 result = (tySequence__tFZSZSomBEZ9bmg1CrY7ojA*) newSeq((&NTIseqLseqLhistoryTT__tFZSZSomBEZ9bmg1CrY7ojA_), len);
1914 return result;
1915 }
N_NIMCALL(tySequence__tFZSZSomBEZ9bmg1CrY7ojA *,newSeqOfDistinct__nilcheck_427)1916 N_LIB_PRIVATE N_NIMCALL(tySequence__tFZSZSomBEZ9bmg1CrY7ojA*, newSeqOfDistinct__nilcheck_427)(NI length) {
1917 tySequence__tFZSZSomBEZ9bmg1CrY7ojA* result;
1918 result = NIM_NIL;
1919 result = newSeq__nilcheck_381(((NI) (length)));
1920 return result;
1921 }
N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g *,newSeq__nilcheck_446)1922 N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g*, newSeq__nilcheck_446)(NI len) {
1923 tySequence__qwqHTkRvwhrRyENtudHQ7g* result;
1924 result = NIM_NIL;
1925 result = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) newSeq((&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_), len);
1926 return result;
1927 }
N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g *,newSeqOfDistinct__nilcheck_483)1928 N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g*, newSeqOfDistinct__nilcheck_483)(NI length) {
1929 tySequence__qwqHTkRvwhrRyENtudHQ7g* result;
1930 result = NIM_NIL;
1931 result = newSeq__nilcheck_446(((NI) (length)));
1932 return result;
1933 }
N_NIMCALL(void,X5BX5Deq___nilcheck_584)1934 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_584)(tySequence__qwqHTkRvwhrRyENtudHQ7g** a, NI16 index, NI value) {
1935 (*a)->data[index] = value;
1936 }
N_INLINE(void,initIntSet__pureZcollectionsZintsets_238)1937 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
1938 initPackedSet__pureZcollectionsZintsets_16(Result);
1939 }
N_NIMCALL(void,add__nilcheck_640)1940 N_LIB_PRIVATE N_NIMCALL(void, add__nilcheck_640)(tySequence__0a6ZbC0zPSfUDYzqPnO68A** a, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* value) {
1941 NI T1_;
1942 unsureAsgnRef((void**) (&(*a)), (tySequence__0a6ZbC0zPSfUDYzqPnO68A*) incrSeqV3((TGenericSeq*)((*a)), (&NTIseqLintsetT__0a6ZbC0zPSfUDYzqPnO68A_)));
1943 T1_ = (*a)->Sup.len++;
1944 genericAssign((void*)(&(*a)->data[T1_]), (void*)value, (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
1945 }
N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw *,newNilMap__nilcheck_237)1946 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, newNilMap__nilcheck_237)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* parent, NI count) {
1947 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* result;
1948 NI expressionsCount;
1949 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* T9_;
1950 result = NIM_NIL;
1951 expressionsCount = ((NI) 0);
1952 {
1953 if (!!((count == ((NI) -1)))) goto LA3_;
1954 expressionsCount = count;
1955 }
1956 goto LA1_;
1957 LA3_: ;
1958 {
1959 NI16 T8_;
1960 if (!!((parent == 0))) goto LA6_;
1961 T8_ = (NI16)0;
1962 T8_ = len__nilcheck_300((*parent).expressions);
1963 expressionsCount = ((NI) (T8_));
1964 }
1965 goto LA1_;
1966 LA6_: ;
1967 LA1_: ;
1968 T9_ = NIM_NIL;
1969 T9_ = (tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*) newObj((&NTInilmap__jS25SPRyK4NElao6fMJSpg_), sizeof(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw));
1970 asgnRef((void**) (&(*T9_).expressions), newSeqOfDistinct__nilcheck_362(expressionsCount));
1971 asgnRef((void**) (&(*T9_).history), newSeqOfDistinct__nilcheck_427(expressionsCount));
1972 asgnRef((void**) (&(*T9_).setIndices), newSeqOfDistinct__nilcheck_483(expressionsCount));
1973 asgnRef((void**) (&(*T9_).parent), parent);
1974 result = T9_;
1975 {
1976 if (!(parent == 0)) goto LA12_;
1977 {
1978 NI16 i;
1979 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA expr;
1980 i = (NI16)0;
1981 expr = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
1982 {
1983 NI i_2;
1984 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA element;
1985 tySequence__j9aEZ11m8pCmK2eRUFSgiOA* colontmp_;
1986 NI i_3;
1987 NI L;
1988 NI T16_;
1989 i_2 = (NI)0;
1990 element = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
1991 colontmp_ = NIM_NIL;
1992 colontmp_ = (*result).expressions;
1993 i_3 = ((NI) 0);
1994 T16_ = (colontmp_ ? colontmp_->Sup.len : 0);
1995 L = T16_;
1996 {
1997 while (1) {
1998 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA newSet;
1999 if (!(i_3 < L)) goto LA18;
2000 i_2 = i_3;
2001 element = colontmp_->data[i_3];
2002 i = ((NI16) (i_2));
2003 expr = element;
2004 X5BX5Deq___nilcheck_584((&(*result).setIndices), i, ((NI) (i)));
2005 nimZeroMem((void*)(&newSet), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2006 initIntSet__pureZcollectionsZintsets_238((&newSet));
2007 incl__pureZcollectionsZintsets_55((&newSet), ((NI) (i)));
2008 add__nilcheck_640((&(*result).sets), (&newSet));
2009 i_3 += ((NI) 1);
2010 } LA18: ;
2011 }
2012 }
2013 }
2014 }
2015 goto LA10_;
2016 LA12_: ;
2017 {
2018 {
2019 NI i_4;
2020 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exprs;
2021 i_4 = (NI)0;
2022 nimZeroMem((void*)(&exprs), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2023 {
2024 NI i_5;
2025 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA element_2;
2026 tySequence__0a6ZbC0zPSfUDYzqPnO68A* colontmp__2;
2027 NI i_6;
2028 NI L_2;
2029 NI T22_;
2030 i_5 = (NI)0;
2031 nimZeroMem((void*)(&element_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2032 colontmp__2 = NIM_NIL;
2033 colontmp__2 = (*parent).sets;
2034 i_6 = ((NI) 0);
2035 T22_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
2036 L_2 = T22_;
2037 {
2038 while (1) {
2039 if (!(i_6 < L_2)) goto LA24;
2040 i_5 = i_6;
2041 nimCopyMem((void*)(&element_2), (NIM_CONST void*)(&colontmp__2->data[i_6]), sizeof(element_2));
2042 i_4 = i_5;
2043 nimCopyMem((void*)(&exprs), (NIM_CONST void*)(&element_2), sizeof(exprs));
2044 add__nilcheck_640((&(*result).sets), (&exprs));
2045 i_6 += ((NI) 1);
2046 } LA24: ;
2047 }
2048 }
2049 }
2050 {
2051 NI16 i_7;
2052 NI index;
2053 i_7 = (NI16)0;
2054 index = (NI)0;
2055 {
2056 NI i_8;
2057 NI element_3;
2058 tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp__3;
2059 NI i_9;
2060 NI L_3;
2061 NI T27_;
2062 i_8 = (NI)0;
2063 element_3 = (NI)0;
2064 colontmp__3 = NIM_NIL;
2065 colontmp__3 = (*parent).setIndices;
2066 i_9 = ((NI) 0);
2067 T27_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
2068 L_3 = T27_;
2069 {
2070 while (1) {
2071 if (!(i_9 < L_3)) goto LA29;
2072 i_8 = i_9;
2073 element_3 = colontmp__3->data[i_9];
2074 i_7 = ((NI16) (i_8));
2075 index = element_3;
2076 X5BX5Deq___nilcheck_584((&(*result).setIndices), i_7, index);
2077 i_9 += ((NI) 1);
2078 } LA29: ;
2079 }
2080 }
2081 }
2082 }
2083 LA10_: ;
2084 return result;
2085 }
N_NIMCALL(NI,len__nilcheck_9409)2086 N_LIB_PRIVATE N_NIMCALL(NI, len__nilcheck_9409)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw t) {
2087 NI result;
2088 result = (NI)0;
2089 result = t.counter;
2090 return result;
2091 }
N_NIMCALL(NIM_BOOL,eqeq___nilcheck_188)2092 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nilcheck_188)(NI16 a, NI16 b) {
2093 NIM_BOOL result;
2094 result = (NIM_BOOL)0;
2095 result = (a == b);
2096 return result;
2097 }
N_NIMCALL(void,X5BX5Deq___nilcheck_2714)2098 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_2714)(tySequence__j9aEZ11m8pCmK2eRUFSgiOA** a, NI16 index, tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value) {
2099 (*a)->data[index] = value;
2100 }
N_NIMCALL(tySequence__RJ9cCbHDTKFvcxBv5qqeJbg **,X5BX5D___nilcheck_1191)2101 N_LIB_PRIVATE N_NIMCALL(tySequence__RJ9cCbHDTKFvcxBv5qqeJbg**, X5BX5D___nilcheck_1191)(tySequence__tFZSZSomBEZ9bmg1CrY7ojA** a, NI16 index) {
2102 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg** result;
2103 result = (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg**)0;
2104 result = (&(*a)->data[index]);
2105 return result;
2106 }
N_NIMCALL(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA *,X5BX5D___nilcheck_1495)2107 N_LIB_PRIVATE N_NIMCALL(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*, X5BX5D___nilcheck_1495)(tySequence__0a6ZbC0zPSfUDYzqPnO68A** a, NI index) {
2108 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* result;
2109 result = (tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*)0;
2110 result = (&(*a)->data[index]);
2111 return result;
2112 }
N_NIMCALL(NI *,X5BX5D___nilcheck_2460)2113 N_LIB_PRIVATE N_NIMCALL(NI*, X5BX5D___nilcheck_2460)(tySequence__qwqHTkRvwhrRyENtudHQ7g** a, NI16 index) {
2114 NI* result;
2115 result = (NI*)0;
2116 result = (&(*a)->data[index]);
2117 return result;
2118 }
N_NIMCALL(void,aliasSet__nilcheck_2537)2119 N_LIB_PRIVATE N_NIMCALL(void, aliasSet__nilcheck_2537)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, NI16 index, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
2120 NI* T1_;
2121 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* T2_;
2122 T1_ = (NI*)0;
2123 T1_ = X5BX5D___nilcheck_2460((&(*map).setIndices), index);
2124 T2_ = (tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*)0;
2125 T2_ = X5BX5D___nilcheck_1495((&(*map).sets), (*T1_));
2126 genericAssign((void*)Result, (void*)(&(*T2_)), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
2127 }
N_NIMCALL(void,X5BX5Deq___nilcheck_2885)2128 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___nilcheck_2885)(tySequence__tFZSZSomBEZ9bmg1CrY7ojA** a, NI16 index, tySequence__RJ9cCbHDTKFvcxBv5qqeJbg* value) {
2129 genericSeqAssign((&(*a)->data[index]), value, (&NTIseqLhistoryT__RJ9cCbHDTKFvcxBv5qqeJbg_));
2130 }
N_NIMCALL(void,store__nilcheck_2666)2131 N_LIB_PRIVATE N_NIMCALL(void, store__nilcheck_2666)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, NI16 index, tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value, tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node) {
2132 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg** T6_;
2133 tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA T7_;
2134 NI T8_;
2135 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exprAliases;
2136 { {
2137 NIM_BOOL T3_;
2138 T3_ = (NIM_BOOL)0;
2139 T3_ = eqeq___nilcheck_188(index, ((NI16) -1));
2140 if (!T3_) goto LA4_;
2141 goto BeforeRet_;
2142 }
2143 LA4_: ;
2144 X5BX5Deq___nilcheck_2714((&(*map).expressions), index, value);
2145 T6_ = (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg**)0;
2146 T6_ = X5BX5D___nilcheck_1191((&(*map).history), index);
2147 nimZeroMem((void*)(&T7_), sizeof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA));
2148 nimZeroMem((void*)(&T7_), sizeof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA));
2149 T7_.info = info;
2150 T7_.kind = kind;
2151 T7_.node = node;
2152 T7_.nilability = value;
2153 unsureAsgnRef((void**) (&(*T6_)), (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg*) incrSeqV3((TGenericSeq*)((*T6_)), (&NTIseqLhistoryT__RJ9cCbHDTKFvcxBv5qqeJbg_)));
2154 T8_ = (*T6_)->Sup.len++;
2155 (*T6_)->data[T8_].info = T7_.info;
2156 (*T6_)->data[T8_].nilability = T7_.nilability;
2157 (*T6_)->data[T8_].kind = T7_.kind;
2158 asgnRef((void**) (&(*T6_)->data[T8_].node), T7_.node);
2159 nimZeroMem((void*)(&exprAliases), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2160 aliasSet__nilcheck_2537(ctx, map, index, (&exprAliases));
2161 {
2162 NI a;
2163 a = (NI)0;
2164 {
2165 if (!(exprAliases.elems <= ((NI) 34))) goto LA12_;
2166 {
2167 NI i;
2168 NI i_2;
2169 i = (NI)0;
2170 i_2 = ((NI) 0);
2171 {
2172 while (1) {
2173 if (!(i_2 < exprAliases.elems)) goto LA16;
2174 i = i_2;
2175 a = exprAliases.a[(i)- 0];
2176 {
2177 NIM_BOOL T19_;
2178 T19_ = (NIM_BOOL)0;
2179 T19_ = eqeq___nilcheck_188(((NI16) (a)), index);
2180 if (!!(T19_)) goto LA20_;
2181 X5BX5Deq___nilcheck_2714((&(*map).expressions), ((NI16) (a)), value);
2182 {
2183 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg* T26_;
2184 if (!(value == ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1))) goto LA24_;
2185 T26_ = NIM_NIL;
2186 T26_ = NIM_NIL;
2187 X5BX5Deq___nilcheck_2885((&(*map).history), ((NI16) (a)), T26_);
2188 }
2189 goto LA22_;
2190 LA24_: ;
2191 {
2192 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg** T28_;
2193 tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA T29_;
2194 NI T30_;
2195 T28_ = (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg**)0;
2196 T28_ = X5BX5D___nilcheck_1191((&(*map).history), ((NI16) (a)));
2197 nimZeroMem((void*)(&T29_), sizeof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA));
2198 nimZeroMem((void*)(&T29_), sizeof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA));
2199 T29_.info = info;
2200 T29_.kind = ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 7);
2201 T29_.node = node;
2202 T29_.nilability = value;
2203 unsureAsgnRef((void**) (&(*T28_)), (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg*) incrSeqV3((TGenericSeq*)((*T28_)), (&NTIseqLhistoryT__RJ9cCbHDTKFvcxBv5qqeJbg_)));
2204 T30_ = (*T28_)->Sup.len++;
2205 (*T28_)->data[T30_].info = T29_.info;
2206 (*T28_)->data[T30_].nilability = T29_.nilability;
2207 (*T28_)->data[T30_].kind = T29_.kind;
2208 asgnRef((void**) (&(*T28_)->data[T30_].node), T29_.node);
2209 }
2210 LA22_: ;
2211 }
2212 LA20_: ;
2213 i_2 += ((NI) 1);
2214 } LA16: ;
2215 }
2216 }
2217 }
2218 goto LA10_;
2219 LA12_: ;
2220 {
2221 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
2222 r = exprAliases.head;
2223 {
2224 while (1) {
2225 NI i_3;
2226 if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA33;
2227 i_3 = ((NI) 0);
2228 {
2229 while (1) {
2230 NU w;
2231 NI j;
2232 if (!(i_3 <= ((NI) 15))) goto LA35;
2233 w = (*r).bits[(i_3)- 0];
2234 j = ((NI) 0);
2235 {
2236 while (1) {
2237 if (!!((w == ((NU) 0)))) goto LA37;
2238 {
2239 NI T42_;
2240 if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA40_;
2241 T42_ = (NI)0;
2242 T42_ = pluspercent___system_696((NI)((NU32)(i_3) << (NU32)(((NI) 5))), j);
2243 a = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI) 9))) | T42_);
2244 {
2245 NIM_BOOL T45_;
2246 T45_ = (NIM_BOOL)0;
2247 T45_ = eqeq___nilcheck_188(((NI16) (a)), index);
2248 if (!!(T45_)) goto LA46_;
2249 X5BX5Deq___nilcheck_2714((&(*map).expressions), ((NI16) (a)), value);
2250 {
2251 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg* T52_;
2252 if (!(value == ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1))) goto LA50_;
2253 T52_ = NIM_NIL;
2254 T52_ = NIM_NIL;
2255 X5BX5Deq___nilcheck_2885((&(*map).history), ((NI16) (a)), T52_);
2256 }
2257 goto LA48_;
2258 LA50_: ;
2259 {
2260 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg** T54_;
2261 tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA T55_;
2262 NI T56_;
2263 T54_ = (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg**)0;
2264 T54_ = X5BX5D___nilcheck_1191((&(*map).history), ((NI16) (a)));
2265 nimZeroMem((void*)(&T55_), sizeof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA));
2266 nimZeroMem((void*)(&T55_), sizeof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA));
2267 T55_.info = info;
2268 T55_.kind = ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 7);
2269 T55_.node = node;
2270 T55_.nilability = value;
2271 unsureAsgnRef((void**) (&(*T54_)), (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg*) incrSeqV3((TGenericSeq*)((*T54_)), (&NTIseqLhistoryT__RJ9cCbHDTKFvcxBv5qqeJbg_)));
2272 T56_ = (*T54_)->Sup.len++;
2273 (*T54_)->data[T56_].info = T55_.info;
2274 (*T54_)->data[T56_].nilability = T55_.nilability;
2275 (*T54_)->data[T56_].kind = T55_.kind;
2276 asgnRef((void**) (&(*T54_)->data[T56_].node), T55_.node);
2277 }
2278 LA48_: ;
2279 }
2280 LA46_: ;
2281 }
2282 LA40_: ;
2283 j += ((NI) 1);
2284 w = (NU)((NU32)(w) >> (NU32)(((NI) 1)));
2285 } LA37: ;
2286 }
2287 i_3 += ((NI) 1);
2288 } LA35: ;
2289 }
2290 r = (*r).next;
2291 } LA33: ;
2292 }
2293 }
2294 LA10_: ;
2295 }
2296 }BeforeRet_: ;
2297 }
N_NIMCALL(NI16,index__nilcheck_1932)2298 N_LIB_PRIVATE N_NIMCALL(NI16, index__nilcheck_1932)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2299 NI16 result;
2300 NI a;
2301 { result = (NI16)0;
2302 a = symbol__nilcheck_1210(n);
2303 {
2304 NIM_BOOL T3_;
2305 NI16* T6_;
2306 T3_ = (NIM_BOOL)0;
2307 T3_ = hasKey__nilcheck_1977((*ctx).symbolIndices, a);
2308 if (!T3_) goto LA4_;
2309 T6_ = (NI16*)0;
2310 T6_ = X5BX5D___nilcheck_2314((&(*ctx).symbolIndices), a);
2311 result = (*T6_);
2312 goto BeforeRet_;
2313 }
2314 goto LA1_;
2315 LA4_: ;
2316 {
2317 result = ((NI16) -1);
2318 goto BeforeRet_;
2319 }
2320 LA1_: ;
2321 }BeforeRet_: ;
2322 return result;
2323 }
N_NIMCALL(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA,typeNilability__nilcheck_4049)2324 N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA, typeNilability__nilcheck_4049)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
2325 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA result;
2326 result = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
2327 {
2328 if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0)) goto LA3_;
2329 result = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
2330 }
2331 goto LA1_;
2332 LA3_: ;
2333 {
2334 if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26))) goto LA6_;
2335 result = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2);
2336 }
2337 goto LA1_;
2338 LA6_: ;
2339 {
2340 result = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
2341 }
2342 LA1_: ;
2343 return result;
2344 }
N_NIMCALL(NIM_BOOL,gteq___nilcheck_184)2345 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, gteq___nilcheck_184)(NI16 a, NI16 b) {
2346 NIM_BOOL result;
2347 result = (NIM_BOOL)0;
2348 result = (b <= a);
2349 return result;
2350 }
N_NIMCALL(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA *,X5BX5D___nilcheck_989)2351 N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA*, X5BX5D___nilcheck_989)(tySequence__j9aEZ11m8pCmK2eRUFSgiOA** a, NI16 index) {
2352 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA* result;
2353 result = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA*)0;
2354 result = (&(*a)->data[index]);
2355 return result;
2356 }
N_NIMCALL(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA,X5BX5D___nilcheck_865)2357 N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA, X5BX5D___nilcheck_865)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, NI16 index) {
2358 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA result;
2359 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* now;
2360 { result = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
2361 {
2362 NIM_BOOL T3_;
2363 NI16 T5_;
2364 T3_ = (NIM_BOOL)0;
2365 T3_ = lt___nilcheck_163(index, ((NI16) 0));
2366 if (T3_) goto LA4_;
2367 T5_ = (NI16)0;
2368 T5_ = len__nilcheck_300((*map).expressions);
2369 T3_ = gteq___nilcheck_184(index, T5_);
2370 LA4_: ;
2371 if (!T3_) goto LA6_;
2372 result = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2);
2373 goto BeforeRet_;
2374 }
2375 LA6_: ;
2376 now = map;
2377 {
2378 while (1) {
2379 if (!!((now == 0))) goto LA9;
2380 {
2381 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA* T12_;
2382 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA* T15_;
2383 T12_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA*)0;
2384 T12_ = X5BX5D___nilcheck_989((&(*now).expressions), index);
2385 if (!!(((*T12_) == ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 0)))) goto LA13_;
2386 T15_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA*)0;
2387 T15_ = X5BX5D___nilcheck_989((&(*now).expressions), index);
2388 result = (*T15_);
2389 goto BeforeRet_;
2390 }
2391 LA13_: ;
2392 now = (*now).parent;
2393 } LA9: ;
2394 }
2395 result = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2);
2396 goto BeforeRet_;
2397 }BeforeRet_: ;
2398 return result;
2399 }
N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw *,checkCondition__nilcheck_231)2400 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, checkCondition__nilcheck_231)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, NIM_BOOL reverse, NIM_BOOL base) {
2401 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* result;
2402 result = NIM_NIL;
2403 {
2404 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27))) goto LA3_;
2405 result = newNilMap__nilcheck_237(map, ((NI) -1));
2406 {
2407 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* element;
2408 element = NIM_NIL;
2409 {
2410 NI i;
2411 NI colontmp_;
2412 NI i_2;
2413 i = (NI)0;
2414 colontmp_ = (NI)0;
2415 colontmp_ = safeLen__ast_3191(n);
2416 i_2 = ((NI) 0);
2417 {
2418 while (1) {
2419 if (!(i_2 < colontmp_)) goto LA8;
2420 i = i_2;
2421 element = (*n)._kind_6.sons->data[i];
2422 {
2423 NIM_BOOL T11_;
2424 NIM_BOOL T12_;
2425 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T17_;
2426 T11_ = (NIM_BOOL)0;
2427 T12_ = (NIM_BOOL)0;
2428 T12_ = ((*element).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65));
2429 if (!(T12_)) goto LA13_;
2430 T12_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2431 LA13_: ;
2432 T11_ = T12_;
2433 if (!(T11_)) goto LA14_;
2434 T11_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143));
2435 LA14_: ;
2436 if (!T11_) goto LA15_;
2437 nimZeroMem((void*)(&T17_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
2438 check__nilcheck_227((*element)._kind_6.sons->data[((NI) 0)], ctx, result, (&T17_));
2439 result = T17_.map;
2440 }
2441 goto LA9_;
2442 LA15_: ;
2443 {
2444 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T19_;
2445 nimZeroMem((void*)(&T19_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
2446 check__nilcheck_227(element, ctx, result, (&T19_));
2447 result = T19_.map;
2448 }
2449 LA9_: ;
2450 i_2 += ((NI) 1);
2451 } LA8: ;
2452 }
2453 }
2454 }
2455 {
2456 NIM_BOOL T22_;
2457 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
2458 T22_ = (NIM_BOOL)0;
2459 T22_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2460 if (!(T22_)) goto LA23_;
2461 T22_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143));
2462 LA23_: ;
2463 if (!T22_) goto LA24_;
2464 arg = (*n)._kind_6.sons->data[((NI) 1)];
2465 {
2466 while (1) {
2467 if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA27;
2468 arg = (*arg)._kind_6.sons->data[((NI) 0)];
2469 } LA27: ;
2470 }
2471 {
2472 NIM_BOOL T30_;
2473 NIM_BOOL T32_;
2474 NI16 a;
2475 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T36_;
2476 tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA T42_;
2477 T30_ = (NIM_BOOL)0;
2478 T30_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
2479 if (T30_) goto LA31_;
2480 T32_ = (NIM_BOOL)0;
2481 T32_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
2482 if (!(T32_)) goto LA33_;
2483 T32_ = ((nkLiterals__ast_3029[(NU)((*(*arg)._kind_6.sons->data[((NI) 1)]).kind)>>3] &(1U<<((NU)((*(*arg)._kind_6.sons->data[((NI) 1)]).kind)&7U)))!=0);
2484 LA33_: ;
2485 T30_ = T32_;
2486 LA31_: ;
2487 if (!T30_) goto LA34_;
2488 a = index__nilcheck_1932(ctx, arg);
2489 T36_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
2490 {
2491 if (!!(reverse)) goto LA39_;
2492 T36_ = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 3);
2493 }
2494 goto LA37_;
2495 LA39_: ;
2496 {
2497 T36_ = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
2498 }
2499 LA37_: ;
2500 T42_ = (tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA)0;
2501 {
2502 if (!!(reverse)) goto LA45_;
2503 T42_ = ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 3);
2504 }
2505 goto LA43_;
2506 LA45_: ;
2507 {
2508 T42_ = ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 6);
2509 }
2510 LA43_: ;
2511 store__nilcheck_2666(result, ctx, a, T36_, T42_, (*n).info, arg);
2512 }
2513 goto LA28_;
2514 LA34_: ;
2515 {
2516 }
2517 LA28_: ;
2518 }
2519 goto LA20_;
2520 LA24_: ;
2521 {
2522 }
2523 LA20_: ;
2524 }
2525 goto LA1_;
2526 LA3_: ;
2527 {
2528 NIM_BOOL T51_;
2529 NIM_BOOL T52_;
2530 T51_ = (NIM_BOOL)0;
2531 T52_ = (NIM_BOOL)0;
2532 T52_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30));
2533 if (!(T52_)) goto LA53_;
2534 T52_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2535 LA53_: ;
2536 T51_ = T52_;
2537 if (!(T51_)) goto LA54_;
2538 T51_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
2539 LA54_: ;
2540 if (!T51_) goto LA55_;
2541 result = checkCondition__nilcheck_231((*n)._kind_6.sons->data[((NI) 1)], ctx, map, !(reverse), NIM_FALSE);
2542 }
2543 goto LA1_;
2544 LA55_: ;
2545 {
2546 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T60_;
2547 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29))) goto LA58_;
2548 result = newNilMap__nilcheck_237(map, ((NI) -1));
2549 nimZeroMem((void*)(&T60_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
2550 checkInfix__nilcheck_6280(n, ctx, result, (&T60_));
2551 result = T60_.map;
2552 }
2553 goto LA1_;
2554 LA58_: ;
2555 {
2556 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T62_;
2557 nimZeroMem((void*)(&T62_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
2558 check__nilcheck_227(n, ctx, map, (&T62_));
2559 result = T62_.map;
2560 result = newNilMap__nilcheck_237(map, ((NI) -1));
2561 }
2562 LA1_: ;
2563 return result;
2564 }
N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw *,findCommonParent__nilcheck_5833)2565 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, findCommonParent__nilcheck_5833)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* l, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* r) {
2566 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* result;
2567 { result = NIM_NIL;
2568 result = (*l).parent;
2569 {
2570 while (1) {
2571 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* rparent;
2572 if (!!((result == 0))) goto LA2;
2573 rparent = (*r).parent;
2574 {
2575 while (1) {
2576 if (!!((rparent == 0))) goto LA4;
2577 {
2578 if (!(result == rparent)) goto LA7_;
2579 goto BeforeRet_;
2580 }
2581 LA7_: ;
2582 rparent = (*rparent).parent;
2583 } LA4: ;
2584 }
2585 result = (*result).parent;
2586 } LA2: ;
2587 }
2588 }BeforeRet_: ;
2589 return result;
2590 }
N_NIMCALL(tySequence__RJ9cCbHDTKFvcxBv5qqeJbg *,history__nilcheck_1071)2591 N_LIB_PRIVATE N_NIMCALL(tySequence__RJ9cCbHDTKFvcxBv5qqeJbg*, history__nilcheck_1071)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, NI16 index) {
2592 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg* result;
2593 result = NIM_NIL;
2594 {
2595 NI16 T3_;
2596 NIM_BOOL T4_;
2597 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg** T7_;
2598 T3_ = (NI16)0;
2599 T3_ = len__nilcheck_300((*map).expressions);
2600 T4_ = (NIM_BOOL)0;
2601 T4_ = lt___nilcheck_163(index, T3_);
2602 if (!T4_) goto LA5_;
2603 T7_ = (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg**)0;
2604 T7_ = X5BX5D___nilcheck_1191((&(*map).history), index);
2605 genericSeqAssign((&result), (*T7_), (&NTIseqLhistoryT__RJ9cCbHDTKFvcxBv5qqeJbg_));
2606 }
2607 goto LA1_;
2608 LA5_: ;
2609 {
2610 result = NIM_NIL;
2611 }
2612 LA1_: ;
2613 return result;
2614 }
N_INLINE(void,X5BX5D___nilcheck_5929)2615 static N_INLINE(void, X5BX5D___nilcheck_5929)(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA* s, NI sLen_0, NI i, tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA* Result) {
2616 (*Result).info = s[(NI)(sLen_0 - i)].info;
2617 (*Result).nilability = s[(NI)(sLen_0 - i)].nilability;
2618 (*Result).kind = s[(NI)(sLen_0 - i)].kind;
2619 unsureAsgnRef((void**) (&(*Result).node), s[(NI)(sLen_0 - i)].node);
2620 }
N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw *,union__nilcheck_5848)2621 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, union__nilcheck_5848)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* l, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* r) {
2622 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* result;
2623 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* common;
2624 NI16 T8_;
2625 { result = NIM_NIL;
2626 {
2627 if (!(l == 0)) goto LA3_;
2628 result = r;
2629 goto BeforeRet_;
2630 }
2631 goto LA1_;
2632 LA3_: ;
2633 {
2634 if (!(r == 0)) goto LA6_;
2635 result = l;
2636 goto BeforeRet_;
2637 }
2638 goto LA1_;
2639 LA6_: ;
2640 LA1_: ;
2641 common = findCommonParent__nilcheck_5833(l, r);
2642 T8_ = (NI16)0;
2643 T8_ = len__nilcheck_5915((*ctx).expressions);
2644 result = newNilMap__nilcheck_237(common, ((NI) (T8_)));
2645 {
2646 NI16 index;
2647 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value;
2648 index = (NI16)0;
2649 value = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
2650 {
2651 NI16 index_2;
2652 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value_2;
2653 index_2 = (NI16)0;
2654 value_2 = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
2655 {
2656 NI i;
2657 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA element;
2658 tySequence__j9aEZ11m8pCmK2eRUFSgiOA* colontmp_;
2659 NI i_2;
2660 NI L;
2661 NI T12_;
2662 i = (NI)0;
2663 element = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
2664 colontmp_ = NIM_NIL;
2665 colontmp_ = (*l).expressions;
2666 i_2 = ((NI) 0);
2667 T12_ = (colontmp_ ? colontmp_->Sup.len : 0);
2668 L = T12_;
2669 {
2670 while (1) {
2671 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg* h;
2672 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
2673 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T22_;
2674 if (!(i_2 < L)) goto LA14;
2675 i = i_2;
2676 element = colontmp_->data[i_2];
2677 index_2 = ((NI16) (i));
2678 value_2 = element;
2679 index = index_2;
2680 value = X5BX5D___nilcheck_865(l, index_2);
2681 h = history__nilcheck_1071(r, index);
2682 {
2683 NI T17_;
2684 tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA T20_;
2685 T17_ = (h ? h->Sup.len : 0);
2686 if (!(((NI) 0) < T17_)) goto LA18_;
2687 nimZeroMem((void*)(&T20_), sizeof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA));
2688 X5BX5D___nilcheck_5929(h->data, (h ? h->Sup.len : 0), ((NI) 1), (&T20_));
2689 info = T20_.info;
2690 }
2691 goto LA15_;
2692 LA18_: ;
2693 {
2694 nimZeroMem((void*)(&info), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
2695 info.line = ((NU16) 0);
2696 }
2697 LA15_: ;
2698 T22_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
2699 {
2700 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T25_;
2701 T25_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
2702 T25_ = X5BX5D___nilcheck_865(r, index);
2703 if (!(value == T25_)) goto LA26_;
2704 T22_ = value;
2705 }
2706 goto LA23_;
2707 LA26_: ;
2708 {
2709 T22_ = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2);
2710 }
2711 LA23_: ;
2712 store__nilcheck_2666(result, ctx, index, T22_, ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 1), info, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
2713 i_2 += ((NI) 1);
2714 } LA14: ;
2715 }
2716 }
2717 }
2718 }
2719 }BeforeRet_: ;
2720 return result;
2721 }
N_INLINE(int,nimCmpMem)2722 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
2723 int result;
2724 result = (int)0;
2725 result = memcmp(a, b, ((size_t) (size)));
2726 return result;
2727 }
N_INLINE(NIM_BOOL,equalMem__system_1735)2728 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
2729 NIM_BOOL result;
2730 int T1_;
2731 result = (NIM_BOOL)0;
2732 T1_ = (int)0;
2733 T1_ = nimCmpMem(a, b, size);
2734 result = (T1_ == ((NI32) 0));
2735 return result;
2736 }
N_INLINE(NIM_BOOL,eqStrings)2737 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
2738 NIM_BOOL result;
2739 NI alen;
2740 NI blen;
2741 { result = (NIM_BOOL)0;
2742 alen = (a ? a->Sup.len : 0);
2743 blen = (b ? b->Sup.len : 0);
2744 {
2745 if (!(alen == blen)) goto LA3_;
2746 {
2747 if (!(alen == ((NI) 0))) goto LA7_;
2748 result = NIM_TRUE;
2749 goto BeforeRet_;
2750 }
2751 LA7_: ;
2752 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
2753 goto BeforeRet_;
2754 }
2755 LA3_: ;
2756 }BeforeRet_: ;
2757 return result;
2758 }
N_NIMCALL(void,checkInfix__nilcheck_6280)2759 N_LIB_PRIVATE N_NIMCALL(void, checkInfix__nilcheck_6280)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
2760 (*Result).nilability = 0;
2761 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
2762 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
2763 {
2764 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* mapL;
2765 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* mapR;
2766 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
2767 mapL = NIM_NIL;
2768 mapR = NIM_NIL;
2769 {
2770 if (!!(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109) || (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87)))) goto LA7_;
2771 mapL = checkCondition__nilcheck_231((*n)._kind_6.sons->data[((NI) 1)], ctx, map, NIM_FALSE, NIM_FALSE);
2772 mapR = checkCondition__nilcheck_231((*n)._kind_6.sons->data[((NI) 2)], ctx, map, NIM_FALSE, NIM_FALSE);
2773 }
2774 LA7_: ;
2775 switch ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
2776 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
2777 {
2778 unsureAsgnRef((void**) (&(*Result).map), union__nilcheck_5848(ctx, mapL, mapR));
2779 }
2780 break;
2781 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
2782 {
2783 unsureAsgnRef((void**) (&(*Result).map), checkCondition__nilcheck_231((*n)._kind_6.sons->data[((NI) 1)], ctx, map, NIM_FALSE, NIM_FALSE));
2784 unsureAsgnRef((void**) (&(*Result).map), checkCondition__nilcheck_231((*n)._kind_6.sons->data[((NI) 2)], ctx, (*Result).map, NIM_FALSE, NIM_FALSE));
2785 }
2786 break;
2787 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
2788 {
2789 {
2790 if (!((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA14_;
2791 {
2792 NimStringDesc* T18_;
2793 T18_ = NIM_NIL;
2794 T18_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 2)]);
2795 if (!eqStrings(T18_, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_18))) goto LA19_;
2796 unsureAsgnRef((void**) (&(*Result).map), checkCondition__nilcheck_231((*n)._kind_6.sons->data[((NI) 1)], ctx, map, NIM_FALSE, NIM_FALSE));
2797 }
2798 goto LA16_;
2799 LA19_: ;
2800 {
2801 NimStringDesc* T22_;
2802 T22_ = NIM_NIL;
2803 T22_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 2)]);
2804 if (!eqStrings(T22_, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_19))) goto LA23_;
2805 unsureAsgnRef((void**) (&(*Result).map), checkCondition__nilcheck_231((*n)._kind_6.sons->data[((NI) 1)], ctx, map, NIM_TRUE, NIM_FALSE));
2806 }
2807 goto LA16_;
2808 LA23_: ;
2809 LA16_: ;
2810 }
2811 goto LA12_;
2812 LA14_: ;
2813 {
2814 if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA26_;
2815 {
2816 NimStringDesc* T30_;
2817 T30_ = NIM_NIL;
2818 T30_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 1)]);
2819 if (!eqStrings(T30_, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_18))) goto LA31_;
2820 unsureAsgnRef((void**) (&(*Result).map), checkCondition__nilcheck_231((*n)._kind_6.sons->data[((NI) 2)], ctx, map, NIM_FALSE, NIM_FALSE));
2821 }
2822 goto LA28_;
2823 LA31_: ;
2824 {
2825 NimStringDesc* T34_;
2826 T34_ = NIM_NIL;
2827 T34_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 1)]);
2828 if (!eqStrings(T34_, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_19))) goto LA35_;
2829 unsureAsgnRef((void**) (&(*Result).map), checkCondition__nilcheck_231((*n)._kind_6.sons->data[((NI) 2)], ctx, map, NIM_TRUE, NIM_FALSE));
2830 }
2831 goto LA28_;
2832 LA35_: ;
2833 LA28_: ;
2834 }
2835 goto LA12_;
2836 LA26_: ;
2837 LA12_: ;
2838 {
2839 if (!((*Result).map == 0)) goto LA39_;
2840 unsureAsgnRef((void**) (&(*Result).map), map);
2841 }
2842 LA39_: ;
2843 }
2844 break;
2845 default:
2846 {
2847 unsureAsgnRef((void**) (&(*Result).map), map);
2848 }
2849 break;
2850 }
2851 }
2852 goto LA1_;
2853 LA3_: ;
2854 {
2855 unsureAsgnRef((void**) (&(*Result).map), map);
2856 }
2857 LA1_: ;
2858 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
2859 }
N_NIMCALL(void,checkIsNil__nilcheck_6323)2860 N_LIB_PRIVATE N_NIMCALL(void, checkIsNil__nilcheck_6323)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, NIM_BOOL isElse, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
2861 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
2862 NI16 T1_;
2863 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T2_;
2864 (*Result).nilability = 0;
2865 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
2866 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
2867 unsureAsgnRef((void**) (&(*Result).map), newNilMap__nilcheck_237(map, ((NI) -1)));
2868 value = (*n)._kind_6.sons->data[((NI) 1)];
2869 T1_ = (NI16)0;
2870 T1_ = index__nilcheck_1932(ctx, (*n)._kind_6.sons->data[((NI) 1)]);
2871 T2_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
2872 {
2873 if (!!(isElse)) goto LA5_;
2874 T2_ = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 3);
2875 }
2876 goto LA3_;
2877 LA5_: ;
2878 {
2879 T2_ = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
2880 }
2881 LA3_: ;
2882 store__nilcheck_2666((*Result).map, ctx, T1_, T2_, ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 0), (*n).info, n);
2883 }
N_NIMCALL(NIM_BOOL,eqeq___nilcheck_215)2884 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___nilcheck_215)(NI a, NI b) {
2885 NIM_BOOL result;
2886 result = (NIM_BOOL)0;
2887 result = (a == b);
2888 return result;
2889 }
N_INLINE(NI,len__nilcheck_1772)2890 static N_INLINE(NI, len__nilcheck_1772)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s) {
2891 NI result;
2892 result = (NI)0;
2893 {
2894 if (!((*s).elems < ((NI) 34))) goto LA3_;
2895 result = (*s).elems;
2896 }
2897 goto LA1_;
2898 LA3_: ;
2899 {
2900 result = ((NI) 0);
2901 {
2902 NI _;
2903 _ = (NI)0;
2904 {
2905 if (!((*s).elems <= ((NI) 34))) goto LA9_;
2906 {
2907 NI i;
2908 NI i_2;
2909 i = (NI)0;
2910 i_2 = ((NI) 0);
2911 {
2912 while (1) {
2913 if (!(i_2 < (*s).elems)) goto LA13;
2914 i = i_2;
2915 _ = (*s).a[(i)- 0];
2916 result += ((NI) 1);
2917 i_2 += ((NI) 1);
2918 } LA13: ;
2919 }
2920 }
2921 }
2922 goto LA7_;
2923 LA9_: ;
2924 {
2925 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
2926 r = (*s).head;
2927 {
2928 while (1) {
2929 NI i_3;
2930 if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA16;
2931 i_3 = ((NI) 0);
2932 {
2933 while (1) {
2934 NU w;
2935 NI j;
2936 if (!(i_3 <= ((NI) 15))) goto LA18;
2937 w = (*r).bits[(i_3)- 0];
2938 j = ((NI) 0);
2939 {
2940 while (1) {
2941 if (!!((w == ((NU) 0)))) goto LA20;
2942 {
2943 NI T25_;
2944 if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA23_;
2945 T25_ = (NI)0;
2946 T25_ = pluspercent___system_696((NI)((NU32)(i_3) << (NU32)(((NI) 5))), j);
2947 _ = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI) 9))) | T25_);
2948 result += ((NI) 1);
2949 }
2950 LA23_: ;
2951 j += ((NI) 1);
2952 w = (NU)((NU32)(w) >> (NU32)(((NI) 1)));
2953 } LA20: ;
2954 }
2955 i_3 += ((NI) 1);
2956 } LA18: ;
2957 }
2958 r = (*r).next;
2959 } LA16: ;
2960 }
2961 }
2962 LA7_: ;
2963 }
2964 }
2965 LA1_: ;
2966 return result;
2967 }
N_NIMCALL(NI,minus___nilcheck_223)2968 N_LIB_PRIVATE N_NIMCALL(NI, minus___nilcheck_223)(NI a, NI b) {
2969 NI result;
2970 result = (NI)0;
2971 result = (NI)(a - b);
2972 return result;
2973 }
N_NIMCALL(NI,len__nilcheck_3422)2974 N_LIB_PRIVATE N_NIMCALL(NI, len__nilcheck_3422)(tySequence__0a6ZbC0zPSfUDYzqPnO68A* a) {
2975 NI result;
2976 NI T1_;
2977 result = (NI)0;
2978 T1_ = (a ? a->Sup.len : 0);
2979 result = T1_;
2980 return result;
2981 }
N_NIMCALL(void,moveOut__nilcheck_2975)2982 N_LIB_PRIVATE N_NIMCALL(void, moveOut__nilcheck_2975)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* target) {
2983 NI16 targetIndex;
2984 NI targetSetIndex;
2985 NI* T1_;
2986 targetIndex = index__nilcheck_1932(ctx, target);
2987 T1_ = (NI*)0;
2988 T1_ = X5BX5D___nilcheck_2460((&(*map).setIndices), targetIndex);
2989 targetSetIndex = (*T1_);
2990 {
2991 NIM_BOOL T4_;
2992 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA targetSet;
2993 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* T7_;
2994 T4_ = (NIM_BOOL)0;
2995 T4_ = eqeq___nilcheck_215(targetSetIndex, ((NI) -1));
2996 if (!!(T4_)) goto LA5_;
2997 nimZeroMem((void*)(&targetSet), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
2998 T7_ = (tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*)0;
2999 T7_ = X5BX5D___nilcheck_1495((&(*map).sets), targetSetIndex);
3000 genericAssign((void*)(&targetSet), (void*)(&(*T7_)), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
3001 {
3002 NI T10_;
3003 NI16 other;
3004 NI* T43_;
3005 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* T44_;
3006 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA newSet;
3007 NI T45_;
3008 NI T46_;
3009 T10_ = (NI)0;
3010 T10_ = len__nilcheck_1772((&targetSet));
3011 if (!(((NI) 1) < T10_)) goto LA11_;
3012 other = (NI16)0;
3013 {
3014 NI element;
3015 element = (NI)0;
3016 {
3017 if (!(targetSet.elems <= ((NI) 34))) goto LA16_;
3018 {
3019 NI i;
3020 NI i_2;
3021 i = (NI)0;
3022 i_2 = ((NI) 0);
3023 {
3024 while (1) {
3025 if (!(i_2 < targetSet.elems)) goto LA20;
3026 i = i_2;
3027 element = targetSet.a[(i)- 0];
3028 {
3029 NIM_BOOL T23_;
3030 T23_ = (NIM_BOOL)0;
3031 T23_ = eqeq___nilcheck_188(((NI16) (element)), targetIndex);
3032 if (!!(T23_)) goto LA24_;
3033 other = ((NI16) (element));
3034 goto LA13;
3035 }
3036 LA24_: ;
3037 i_2 += ((NI) 1);
3038 } LA20: ;
3039 }
3040 }
3041 }
3042 goto LA14_;
3043 LA16_: ;
3044 {
3045 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
3046 r = targetSet.head;
3047 {
3048 while (1) {
3049 NI i_3;
3050 if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA28;
3051 i_3 = ((NI) 0);
3052 {
3053 while (1) {
3054 NU w;
3055 NI j;
3056 if (!(i_3 <= ((NI) 15))) goto LA30;
3057 w = (*r).bits[(i_3)- 0];
3058 j = ((NI) 0);
3059 {
3060 while (1) {
3061 if (!!((w == ((NU) 0)))) goto LA32;
3062 {
3063 NI T37_;
3064 if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA35_;
3065 T37_ = (NI)0;
3066 T37_ = pluspercent___system_696((NI)((NU32)(i_3) << (NU32)(((NI) 5))), j);
3067 element = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI) 9))) | T37_);
3068 {
3069 NIM_BOOL T40_;
3070 T40_ = (NIM_BOOL)0;
3071 T40_ = eqeq___nilcheck_188(((NI16) (element)), targetIndex);
3072 if (!!(T40_)) goto LA41_;
3073 other = ((NI16) (element));
3074 goto LA13;
3075 }
3076 LA41_: ;
3077 }
3078 LA35_: ;
3079 j += ((NI) 1);
3080 w = (NU)((NU32)(w) >> (NU32)(((NI) 1)));
3081 } LA32: ;
3082 }
3083 i_3 += ((NI) 1);
3084 } LA30: ;
3085 }
3086 r = (*r).next;
3087 } LA28: ;
3088 }
3089 }
3090 LA14_: ;
3091 } LA13: ;
3092 T43_ = (NI*)0;
3093 T43_ = X5BX5D___nilcheck_2460((&(*map).setIndices), other);
3094 T44_ = (tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*)0;
3095 T44_ = X5BX5D___nilcheck_1495((&(*map).sets), (*T43_));
3096 excl__reorder_264(T44_, ((NI) (targetIndex)));
3097 nimZeroMem((void*)(&newSet), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3098 initIntSet__pureZcollectionsZintsets_238((&newSet));
3099 incl__pureZcollectionsZintsets_55((&newSet), ((NI) (targetIndex)));
3100 add__nilcheck_640((&(*map).sets), (&newSet));
3101 T45_ = (NI)0;
3102 T45_ = len__nilcheck_3422((*map).sets);
3103 T46_ = (NI)0;
3104 T46_ = minus___nilcheck_223(T45_, ((NI) 1));
3105 X5BX5Deq___nilcheck_584((&(*map).setIndices), targetIndex, T46_);
3106 }
3107 LA11_: ;
3108 }
3109 LA5_: ;
3110 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw **,X5BX5D___nilcheck_1387)3111 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___nilcheck_1387)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** a, NI16 index) {
3112 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** result;
3113 result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
3114 result = &(*a)->data[index];
3115 return result;
3116 }
N_NIMCALL(void,moveOutDependants__nilcheck_3476)3117 N_LIB_PRIVATE N_NIMCALL(void, moveOutDependants__nilcheck_3476)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node) {
3118 NI16 index;
3119 index = index__nilcheck_1932(ctx, node);
3120 {
3121 NI dependant;
3122 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA colontmp_;
3123 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* T2_;
3124 dependant = (NI)0;
3125 nimZeroMem((void*)(&colontmp_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3126 T2_ = (tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*)0;
3127 T2_ = X5BX5D___nilcheck_3538((&(*ctx).dependants), index);
3128 nimCopyMem((void*)(&colontmp_), (NIM_CONST void*)(&(*T2_)), sizeof(colontmp_));
3129 {
3130 if (!(colontmp_.elems <= ((NI) 34))) goto LA5_;
3131 {
3132 NI i;
3133 NI i_2;
3134 i = (NI)0;
3135 i_2 = ((NI) 0);
3136 {
3137 while (1) {
3138 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T10_;
3139 if (!(i_2 < colontmp_.elems)) goto LA9;
3140 i = i_2;
3141 dependant = colontmp_.a[(i)- 0];
3142 T10_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
3143 T10_ = X5BX5D___nilcheck_1387((&(*ctx).expressions), ((NI16) (dependant)));
3144 moveOut__nilcheck_2975(ctx, map, (*T10_));
3145 i_2 += ((NI) 1);
3146 } LA9: ;
3147 }
3148 }
3149 }
3150 goto LA3_;
3151 LA5_: ;
3152 {
3153 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
3154 r = colontmp_.head;
3155 {
3156 while (1) {
3157 NI i_3;
3158 if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA13;
3159 i_3 = ((NI) 0);
3160 {
3161 while (1) {
3162 NU w;
3163 NI j;
3164 if (!(i_3 <= ((NI) 15))) goto LA15;
3165 w = (*r).bits[(i_3)- 0];
3166 j = ((NI) 0);
3167 {
3168 while (1) {
3169 if (!!((w == ((NU) 0)))) goto LA17;
3170 {
3171 NI T22_;
3172 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T23_;
3173 if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA20_;
3174 T22_ = (NI)0;
3175 T22_ = pluspercent___system_696((NI)((NU32)(i_3) << (NU32)(((NI) 5))), j);
3176 dependant = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI) 9))) | T22_);
3177 T23_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
3178 T23_ = X5BX5D___nilcheck_1387((&(*ctx).expressions), ((NI16) (dependant)));
3179 moveOut__nilcheck_2975(ctx, map, (*T23_));
3180 }
3181 LA20_: ;
3182 j += ((NI) 1);
3183 w = (NU)((NU32)(w) >> (NU32)(((NI) 1)));
3184 } LA17: ;
3185 }
3186 i_3 += ((NI) 1);
3187 } LA15: ;
3188 }
3189 r = (*r).next;
3190 } LA13: ;
3191 }
3192 }
3193 LA3_: ;
3194 }
3195 }
N_NIMCALL(void,storeDependants__nilcheck_3610)3196 N_LIB_PRIVATE N_NIMCALL(void, storeDependants__nilcheck_3610)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node, tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value) {
3197 NI16 index;
3198 index = index__nilcheck_1932(ctx, node);
3199 {
3200 NI dependant;
3201 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA colontmp_;
3202 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* T2_;
3203 dependant = (NI)0;
3204 nimZeroMem((void*)(&colontmp_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
3205 T2_ = (tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*)0;
3206 T2_ = X5BX5D___nilcheck_3538((&(*ctx).dependants), index);
3207 nimCopyMem((void*)(&colontmp_), (NIM_CONST void*)(&(*T2_)), sizeof(colontmp_));
3208 {
3209 if (!(colontmp_.elems <= ((NI) 34))) goto LA5_;
3210 {
3211 NI i;
3212 NI i_2;
3213 i = (NI)0;
3214 i_2 = ((NI) 0);
3215 {
3216 while (1) {
3217 if (!(i_2 < colontmp_.elems)) goto LA9;
3218 i = i_2;
3219 dependant = colontmp_.a[(i)- 0];
3220 store__nilcheck_2666(map, ctx, ((NI16) (dependant)), value, ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 8), (*node).info, node);
3221 i_2 += ((NI) 1);
3222 } LA9: ;
3223 }
3224 }
3225 }
3226 goto LA3_;
3227 LA5_: ;
3228 {
3229 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
3230 r = colontmp_.head;
3231 {
3232 while (1) {
3233 NI i_3;
3234 if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA12;
3235 i_3 = ((NI) 0);
3236 {
3237 while (1) {
3238 NU w;
3239 NI j;
3240 if (!(i_3 <= ((NI) 15))) goto LA14;
3241 w = (*r).bits[(i_3)- 0];
3242 j = ((NI) 0);
3243 {
3244 while (1) {
3245 if (!!((w == ((NU) 0)))) goto LA16;
3246 {
3247 NI T21_;
3248 if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA19_;
3249 T21_ = (NI)0;
3250 T21_ = pluspercent___system_696((NI)((NU32)(i_3) << (NU32)(((NI) 5))), j);
3251 dependant = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI) 9))) | T21_);
3252 store__nilcheck_2666(map, ctx, ((NI16) (dependant)), value, ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 8), (*node).info, node);
3253 }
3254 LA19_: ;
3255 j += ((NI) 1);
3256 w = (NU)((NU32)(w) >> (NU32)(((NI) 1)));
3257 } LA16: ;
3258 }
3259 i_3 += ((NI) 1);
3260 } LA14: ;
3261 }
3262 r = (*r).next;
3263 } LA12: ;
3264 }
3265 }
3266 LA3_: ;
3267 }
3268 }
N_NIMCALL(void,checkCall__nilcheck_4051)3269 N_LIB_PRIVATE N_NIMCALL(void, checkCall__nilcheck_4051)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
3270 NIM_BOOL isNew;
3271 (*Result).nilability = 0;
3272 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
3273 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
3274 isNew = NIM_FALSE;
3275 unsureAsgnRef((void**) (&(*Result).map), map);
3276 {
3277 NI i;
3278 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
3279 i = (NI)0;
3280 child = NIM_NIL;
3281 {
3282 NI i_2;
3283 NI colontmp_;
3284 NI i_3;
3285 i_2 = (NI)0;
3286 colontmp_ = (NI)0;
3287 colontmp_ = safeLen__ast_3191(n);
3288 i_3 = ((NI) 0);
3289 {
3290 while (1) {
3291 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T5_;
3292 if (!(i_3 < colontmp_)) goto LA4;
3293 i_2 = i_3;
3294 i = i_2;
3295 child = (*n)._kind_6.sons->data[i_2];
3296 nimZeroMem((void*)(&T5_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
3297 check__nilcheck_227(child, ctx, map, (&T5_));
3298 (void)(T5_);
3299 {
3300 if (!(((NI) 0) < i)) goto LA8_;
3301 {
3302 NIM_BOOL T12_;
3303 NIM_BOOL T13_;
3304 NIM_BOOL T14_;
3305 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
3306 NI16 a;
3307 T12_ = (NIM_BOOL)0;
3308 T13_ = (NIM_BOOL)0;
3309 T14_ = (NIM_BOOL)0;
3310 T14_ = ((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64));
3311 if (!(T14_)) goto LA15_;
3312 T14_ = !(((*child).typ == 0));
3313 LA15_: ;
3314 T13_ = T14_;
3315 if (!(T13_)) goto LA16_;
3316 T13_ = ((*(*child).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
3317 LA16_: ;
3318 T12_ = T13_;
3319 if (!(T12_)) goto LA17_;
3320 T12_ = ((*(*(*child).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
3321 LA17_: ;
3322 if (!T12_) goto LA18_;
3323 {
3324 if (!!(isNew)) goto LA22_;
3325 unsureAsgnRef((void**) (&(*Result).map), newNilMap__nilcheck_237(map, ((NI) -1)));
3326 isNew = NIM_TRUE;
3327 }
3328 LA22_: ;
3329 arg = child;
3330 {
3331 while (1) {
3332 if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA25;
3333 arg = (*arg)._kind_6.sons->data[((NI) 0)];
3334 } LA25: ;
3335 }
3336 a = index__nilcheck_1932(ctx, arg);
3337 {
3338 NIM_BOOL T28_;
3339 T28_ = (NIM_BOOL)0;
3340 T28_ = eqeq___nilcheck_188(a, ((NI16) -1));
3341 if (!!(T28_)) goto LA29_;
3342 moveOut__nilcheck_2975(ctx, (*Result).map, arg);
3343 moveOutDependants__nilcheck_3476(ctx, (*Result).map, arg);
3344 store__nilcheck_2666((*Result).map, ctx, a, ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2), ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 4), (*n).info, arg);
3345 storeDependants__nilcheck_3610(ctx, (*Result).map, arg, ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2));
3346 }
3347 LA29_: ;
3348 }
3349 goto LA10_;
3350 LA18_: ;
3351 {
3352 NIM_BOOL T32_;
3353 T32_ = (NIM_BOOL)0;
3354 T32_ = !(((*child).typ == 0));
3355 if (!(T32_)) goto LA33_;
3356 T32_ = ((*(*child).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
3357 LA33_: ;
3358 if (!T32_) goto LA34_;
3359 {
3360 NIM_BOOL T38_;
3361 NIM_BOOL T40_;
3362 NI16 a_2;
3363 T38_ = (NIM_BOOL)0;
3364 T38_ = ((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
3365 if (T38_) goto LA39_;
3366 T40_ = (NIM_BOOL)0;
3367 T40_ = ((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
3368 if (!(T40_)) goto LA41_;
3369 T40_ = ((nkLiterals__ast_3029[(NU)((*(*child)._kind_6.sons->data[((NI) 1)]).kind)>>3] &(1U<<((NU)((*(*child)._kind_6.sons->data[((NI) 1)]).kind)&7U)))!=0);
3370 LA41_: ;
3371 T38_ = T40_;
3372 LA39_: ;
3373 if (!T38_) goto LA42_;
3374 a_2 = index__nilcheck_1932(ctx, child);
3375 {
3376 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* T46_;
3377 NI T47_;
3378 T46_ = (tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*)0;
3379 T46_ = X5BX5D___nilcheck_3538((&(*ctx).dependants), a_2);
3380 T47_ = (NI)0;
3381 T47_ = len__nilcheck_1772((&(*T46_)));
3382 if (!(((NI) 0) < T47_)) goto LA48_;
3383 {
3384 if (!!(isNew)) goto LA52_;
3385 unsureAsgnRef((void**) (&(*Result).map), newNilMap__nilcheck_237(map, ((NI) -1)));
3386 isNew = NIM_TRUE;
3387 }
3388 LA52_: ;
3389 moveOutDependants__nilcheck_3476(ctx, (*Result).map, child);
3390 storeDependants__nilcheck_3610(ctx, (*Result).map, child, ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2));
3391 }
3392 LA48_: ;
3393 }
3394 LA42_: ;
3395 }
3396 goto LA10_;
3397 LA34_: ;
3398 LA10_: ;
3399 }
3400 LA8_: ;
3401 i_3 += ((NI) 1);
3402 } LA4: ;
3403 }
3404 }
3405 }
3406 {
3407 NIM_BOOL T56_;
3408 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
3409 NI16 b;
3410 T56_ = (NIM_BOOL)0;
3411 T56_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3412 if (!(T56_)) goto LA57_;
3413 T56_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32));
3414 LA57_: ;
3415 if (!T56_) goto LA58_;
3416 {
3417 if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA62_;
3418 value = (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)];
3419 }
3420 goto LA60_;
3421 LA62_: ;
3422 {
3423 value = (*n)._kind_6.sons->data[((NI) 1)];
3424 }
3425 LA60_: ;
3426 b = index__nilcheck_1932(ctx, value);
3427 store__nilcheck_2666((*Result).map, ctx, b, ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1), ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 1), (*value).info, value);
3428 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
3429 }
3430 goto LA54_;
3431 LA58_: ;
3432 {
3433 {
3434 if (!!(((*n).typ == 0))) goto LA68_;
3435 (*Result).nilability = typeNilability__nilcheck_4049((*n).typ);
3436 }
3437 goto LA66_;
3438 LA68_: ;
3439 {
3440 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
3441 }
3442 LA66_: ;
3443 }
3444 LA54_: ;
3445 }
N_NIMCALL(void,Marker_tySequence__sHfymmN9aVTQTLnu1B0wi3w)3446 static N_NIMCALL(void, Marker_tySequence__sHfymmN9aVTQTLnu1B0wi3w)(void* p, NI op) {
3447 tySequence__sHfymmN9aVTQTLnu1B0wi3w* a;
3448 NI T1_;
3449 a = (tySequence__sHfymmN9aVTQTLnu1B0wi3w*)p;
3450 T1_ = (NI)0;
3451 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
3452 nimGCvisit((void*)a->data[T1_].Field0, op);
3453 }
3454 }
N_NIMCALL(void,checkRefExpr__nilcheck_5782)3455 N_LIB_PRIVATE N_NIMCALL(void, checkRefExpr__nilcheck_5782)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ check, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
3456 (*Result).nilability = check.nilability;
3457 unsureAsgnRef((void**) (&(*Result).map), check.map);
3458 genericSeqAssign((&(*Result).elements), check.elements, (&NTIseqLLpnode_nilabilityTT__sHfymmN9aVTQTLnu1B0wi3w_));
3459 {
3460 if (!!(((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)))) goto LA3_;
3461 (*Result).nilability = typeNilability__nilcheck_4049((*n).typ);
3462 }
3463 goto LA1_;
3464 LA3_: ;
3465 {
3466 if (!!((((*(*n).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0))) goto LA6_;
3467 {
3468 NIM_BOOL T10_;
3469 NIM_BOOL T12_;
3470 NI16 key;
3471 T10_ = (NIM_BOOL)0;
3472 T10_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
3473 if (T10_) goto LA11_;
3474 T12_ = (NIM_BOOL)0;
3475 T12_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
3476 if (!(T12_)) goto LA13_;
3477 T12_ = ((nkLiterals__ast_3029[(NU)((*(*n)._kind_6.sons->data[((NI) 1)]).kind)>>3] &(1U<<((NU)((*(*n)._kind_6.sons->data[((NI) 1)]).kind)&7U)))!=0);
3478 LA13_: ;
3479 T10_ = T12_;
3480 LA11_: ;
3481 if (!T10_) goto LA14_;
3482 key = index__nilcheck_1932(ctx, n);
3483 (*Result).nilability = X5BX5D___nilcheck_865((*Result).map, key);
3484 }
3485 goto LA8_;
3486 LA14_: ;
3487 {
3488 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA17_;
3489 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2);
3490 }
3491 goto LA8_;
3492 LA17_: ;
3493 {
3494 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2);
3495 }
3496 LA8_: ;
3497 }
3498 goto LA1_;
3499 LA6_: ;
3500 LA1_: ;
3501 }
N_NIMCALL(void,checkDotExpr__nilcheck_5813)3502 N_LIB_PRIVATE N_NIMCALL(void, checkDotExpr__nilcheck_5813)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
3503 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T1_;
3504 check__nilcheck_227((*n)._kind_6.sons->data[((NI) 0)], ctx, map, Result);
3505 nimZeroMem((void*)(&T1_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
3506 checkRefExpr__nilcheck_5782(n, ctx, (*Result), (&T1_));
3507 (*Result).nilability = T1_.nilability;
3508 unsureAsgnRef((void**) (&(*Result).map), T1_.map);
3509 unsureAsgnRef((void**) (&(*Result).elements), T1_.elements);
3510 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZsets_38)3511 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZsets_38)(NI hcode) {
3512 NIM_BOOL result;
3513 result = (NIM_BOOL)0;
3514 result = !((hcode == ((NI) 0)));
3515 return result;
3516 }
N_INLINE(NI,nextTry__pureZcollectionsZsets_41)3517 static N_INLINE(NI, nextTry__pureZcollectionsZsets_41)(NI h, NI maxHash) {
3518 NI result;
3519 result = (NI)0;
3520 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
3521 return result;
3522 }
N_INLINE(NI,rawGet__nilcheck_4328)3523 static N_INLINE(NI, rawGet__nilcheck_4328)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI* hc) {
3524 NI result;
3525 NI h;
3526 NI T10_;
3527 { result = (NI)0;
3528 (*hc) = hash__lineinfos_229(key);
3529 {
3530 if (!((*hc) == ((NI) 0))) goto LA3_;
3531 (*hc) = ((NI) 314159265);
3532 }
3533 LA3_: ;
3534 {
3535 NI T7_;
3536 T7_ = (t.data ? t.data->Sup.len : 0);
3537 if (!(T7_ == ((NI) 0))) goto LA8_;
3538 result = ((NI) -1);
3539 goto BeforeRet_;
3540 }
3541 LA8_: ;
3542 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
3543 h = (NI)((*hc) & T10_);
3544 {
3545 while (1) {
3546 NIM_BOOL T13_;
3547 NI T20_;
3548 T13_ = (NIM_BOOL)0;
3549 T13_ = isFilled__pureZcollectionsZsets_38(t.data->data[h].Field0);
3550 if (!T13_) goto LA12;
3551 {
3552 NIM_BOOL T16_;
3553 T16_ = (NIM_BOOL)0;
3554 T16_ = (t.data->data[h].Field0 == (*hc));
3555 if (!(T16_)) goto LA17_;
3556 T16_ = eqeq___msgs_993(t.data->data[h].Field1, key);
3557 LA17_: ;
3558 if (!T16_) goto LA18_;
3559 result = h;
3560 goto BeforeRet_;
3561 }
3562 LA18_: ;
3563 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
3564 h = nextTry__pureZcollectionsZsets_41(h, T20_);
3565 } LA12: ;
3566 }
3567 result = (NI)(((NI) -1) - h);
3568 }BeforeRet_: ;
3569 return result;
3570 }
N_NIMCALL(NIM_BOOL,contains__nilcheck_4315)3571 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__nilcheck_4315)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
3572 NIM_BOOL result;
3573 NI hc;
3574 NI index;
3575 result = (NIM_BOOL)0;
3576 hc = (NI)0;
3577 index = rawGet__nilcheck_4328(s, key, (&hc));
3578 result = (((NI) 0) <= index);
3579 return result;
3580 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZsets_49)3581 static N_INLINE(NI, slotsNeeded__pureZcollectionsZsets_49)(NI count) {
3582 NI result;
3583 result = (NI)0;
3584 result = nextPowerOfTwo__pureZmath_176((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
3585 return result;
3586 }
N_INLINE(NIM_BOOL,mustRehash__nilcheck_4703)3587 static N_INLINE(NIM_BOOL, mustRehash__nilcheck_4703)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA t) {
3588 NIM_BOOL result;
3589 NIM_BOOL T1_;
3590 NI T2_;
3591 NI T4_;
3592 result = (NIM_BOOL)0;
3593 T1_ = (NIM_BOOL)0;
3594 T2_ = (t.data ? t.data->Sup.len : 0);
3595 T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
3596 if (T1_) goto LA3_;
3597 T4_ = (t.data ? t.data->Sup.len : 0);
3598 T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
3599 LA3_: ;
3600 result = T1_;
3601 return result;
3602 }
N_INLINE(NI,rawGetKnownHC__nilcheck_5146)3603 static N_INLINE(NI, rawGetKnownHC__nilcheck_5146)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI hc) {
3604 NI result;
3605 NI h;
3606 NI T6_;
3607 { result = (NI)0;
3608 {
3609 NI T3_;
3610 T3_ = (t.data ? t.data->Sup.len : 0);
3611 if (!(T3_ == ((NI) 0))) goto LA4_;
3612 result = ((NI) -1);
3613 goto BeforeRet_;
3614 }
3615 LA4_: ;
3616 T6_ = ((t.data ? t.data->Sup.len : 0)-1);
3617 h = (NI)(hc & T6_);
3618 {
3619 while (1) {
3620 NIM_BOOL T9_;
3621 NI T16_;
3622 T9_ = (NIM_BOOL)0;
3623 T9_ = isFilled__pureZcollectionsZsets_38(t.data->data[h].Field0);
3624 if (!T9_) goto LA8;
3625 {
3626 NIM_BOOL T12_;
3627 T12_ = (NIM_BOOL)0;
3628 T12_ = (t.data->data[h].Field0 == hc);
3629 if (!(T12_)) goto LA13_;
3630 T12_ = eqeq___msgs_993(t.data->data[h].Field1, key);
3631 LA13_: ;
3632 if (!T12_) goto LA14_;
3633 result = h;
3634 goto BeforeRet_;
3635 }
3636 LA14_: ;
3637 T16_ = ((t.data ? t.data->Sup.len : 0)-1);
3638 h = nextTry__pureZcollectionsZsets_41(h, T16_);
3639 } LA8: ;
3640 }
3641 result = (NI)(((NI) -1) - h);
3642 }BeforeRet_: ;
3643 return result;
3644 }
N_NIMCALL(void,rawInsert__nilcheck_5508)3645 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__nilcheck_5508)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA* s, tySequence__F43jf4nUkSAG8E9cfLj9aQoQ** data, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key, NI hc, NI h) {
3646 {
3647 NI T3_;
3648 NI correctSizeX60gensym48_;
3649 T3_ = ((*data) ? (*data)->Sup.len : 0);
3650 if (!(T3_ == ((NI) 0))) goto LA4_;
3651 correctSizeX60gensym48_ = slotsNeeded__pureZcollectionsZsets_49(((NI) 64));
3652 (*s).counter = ((NI) 0);
3653 unsureAsgnRef((void**) (&(*s).data), (tySequence__F43jf4nUkSAG8E9cfLj9aQoQ*) newSeq((&NTIkeyvaluepairseq__F43jf4nUkSAG8E9cfLj9aQoQ_), ((NI) (correctSizeX60gensym48_))));
3654 }
3655 LA4_: ;
3656 (*data)->data[h].Field1 = key;
3657 (*data)->data[h].Field0 = hc;
3658 }
N_NIMCALL(void,enlarge__nilcheck_4895)3659 N_LIB_PRIVATE N_NIMCALL(void, enlarge__nilcheck_4895)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA* s) {
3660 tySequence__F43jf4nUkSAG8E9cfLj9aQoQ* n;
3661 NI T1_;
3662 tySequence__F43jf4nUkSAG8E9cfLj9aQoQ* T2_;
3663 n = NIM_NIL;
3664 T1_ = ((*s).data ? (*s).data->Sup.len : 0);
3665 n = (tySequence__F43jf4nUkSAG8E9cfLj9aQoQ*) newSeq((&NTIkeyvaluepairseq__F43jf4nUkSAG8E9cfLj9aQoQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
3666 T2_ = NIM_NIL;
3667 T2_ = (*s).data;
3668 unsureAsgnRef((void**) (&(*s).data), n);
3669 n = T2_;
3670 {
3671 NI i;
3672 NI colontmp_;
3673 NI T4_;
3674 NI res;
3675 i = (NI)0;
3676 colontmp_ = (NI)0;
3677 T4_ = ((n ? n->Sup.len : 0)-1);
3678 colontmp_ = T4_;
3679 res = ((NI) 0);
3680 {
3681 while (1) {
3682 if (!(res <= colontmp_)) goto LA6;
3683 i = res;
3684 {
3685 NIM_BOOL T9_;
3686 NI j;
3687 NI T12_;
3688 T9_ = (NIM_BOOL)0;
3689 T9_ = isFilled__pureZcollectionsZsets_38(n->data[i].Field0);
3690 if (!T9_) goto LA10_;
3691 T12_ = (NI)0;
3692 T12_ = rawGetKnownHC__nilcheck_5146((*s), n->data[i].Field1, n->data[i].Field0);
3693 j = (NI)(((NI) -1) - T12_);
3694 rawInsert__nilcheck_5508(s, (&(*s).data), n->data[i].Field1, n->data[i].Field0, j);
3695 }
3696 LA10_: ;
3697 res += ((NI) 1);
3698 } LA6: ;
3699 }
3700 }
3701 }
N_NIMCALL(void,incl__nilcheck_4610)3702 N_LIB_PRIVATE N_NIMCALL(void, incl__nilcheck_4610)(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q key) {
3703 NI hc;
3704 NI index;
3705 {
3706 NI T3_;
3707 NI correctSizeX60gensym41_;
3708 T3_ = ((*s).data ? (*s).data->Sup.len : 0);
3709 if (!(T3_ == ((NI) 0))) goto LA4_;
3710 correctSizeX60gensym41_ = slotsNeeded__pureZcollectionsZsets_49(((NI) 64));
3711 (*s).counter = ((NI) 0);
3712 unsureAsgnRef((void**) (&(*s).data), (tySequence__F43jf4nUkSAG8E9cfLj9aQoQ*) newSeq((&NTIkeyvaluepairseq__F43jf4nUkSAG8E9cfLj9aQoQ_), ((NI) (correctSizeX60gensym41_))));
3713 }
3714 LA4_: ;
3715 hc = (NI)0;
3716 index = rawGet__nilcheck_4328((*s), key, (&hc));
3717 {
3718 if (!(index < ((NI) 0))) goto LA8_;
3719 {
3720 NIM_BOOL T12_;
3721 T12_ = (NIM_BOOL)0;
3722 T12_ = mustRehash__nilcheck_4703((*s));
3723 if (!T12_) goto LA13_;
3724 enlarge__nilcheck_4895(s);
3725 index = rawGetKnownHC__nilcheck_5146((*s), key, hc);
3726 }
3727 LA13_: ;
3728 rawInsert__nilcheck_5508(s, (&(*s).data), key, hc, (NI)(((NI) -1) - index));
3729 (*s).counter += ((NI) 1);
3730 }
3731 LA8_: ;
3732 }
N_NIMCALL(void,derefWarning__nilcheck_4257)3733 N_LIB_PRIVATE N_NIMCALL(void, derefWarning__nilcheck_4257)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA kind) {
3734 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg* a;
3735 NimStringDesc* res;
3736 NimStringDesc* issue;
3737 NimStringDesc* T15_;
3738 NimStringDesc* T16_;
3739 { {
3740 NIM_BOOL T3_;
3741 T3_ = (NIM_BOOL)0;
3742 T3_ = contains__nilcheck_4315((*ctx).warningLocations, (*n).info);
3743 if (!T3_) goto LA4_;
3744 goto BeforeRet_;
3745 }
3746 LA4_: ;
3747 incl__nilcheck_4610((&(*ctx).warningLocations), (*n).info);
3748 a = NIM_NIL;
3749 {
3750 NI16 T10_;
3751 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA8_;
3752 T10_ = (NI16)0;
3753 T10_ = index__nilcheck_1932(ctx, n);
3754 a = history__nilcheck_1071(map, T10_);
3755 }
3756 LA8_: ;
3757 res = ((NimStringDesc*) NIM_NIL);
3758 switch (kind) {
3759 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 3):
3760 {
3761 issue = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_21));
3762 }
3763 break;
3764 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2):
3765 {
3766 issue = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_22));
3767 }
3768 break;
3769 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 4):
3770 {
3771 issue = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_23));
3772 }
3773 break;
3774 default:
3775 {
3776 issue = ((NimStringDesc*) NIM_NIL);
3777 }
3778 break;
3779 }
3780 T15_ = NIM_NIL;
3781 T16_ = NIM_NIL;
3782 T16_ = dollar___renderer_2106(n);
3783 T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + (issue ? issue->Sup.len : 0) + 14);
3784 appendString(T15_, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_24));
3785 appendString(T15_, T16_);
3786 appendString(T15_, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_25));
3787 appendString(T15_, issue);
3788 res = resizeString(res, (T15_ ? T15_->Sup.len : 0) + 0);
3789 appendString(res, T15_);
3790 {
3791 NI T19_;
3792 T19_ = (a ? a->Sup.len : 0);
3793 if (!(((NI) 0) < T19_)) goto LA20_;
3794 res = resizeString(res, 1);
3795 appendString(res, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_26));
3796 }
3797 LA20_: ;
3798 {
3799 tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA* b;
3800 NI i;
3801 NI L;
3802 NI T23_;
3803 b = (tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA*)0;
3804 i = ((NI) 0);
3805 T23_ = (a ? a->Sup.len : 0);
3806 L = T23_;
3807 {
3808 while (1) {
3809 NimStringDesc* T26_;
3810 NimStringDesc* T27_;
3811 NimStringDesc* T37_;
3812 NimStringDesc* T38_;
3813 if (!(i < L)) goto LA25;
3814 b = (&a->data[i]);
3815 T26_ = NIM_NIL;
3816 T27_ = NIM_NIL;
3817 switch ((*b).kind) {
3818 case ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 0):
3819 {
3820 T27_ = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_28));
3821 }
3822 break;
3823 case ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 3):
3824 {
3825 T27_ = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_29));
3826 }
3827 break;
3828 case ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 1):
3829 {
3830 T27_ = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_30));
3831 }
3832 break;
3833 case ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 4):
3834 {
3835 T27_ = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_31));
3836 }
3837 break;
3838 case ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 5):
3839 {
3840 T27_ = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_32));
3841 }
3842 break;
3843 case ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 2):
3844 {
3845 T27_ = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_33));
3846 }
3847 break;
3848 case ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 6):
3849 {
3850 T27_ = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_34));
3851 }
3852 break;
3853 case ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 7):
3854 {
3855 T27_ = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_35));
3856 }
3857 break;
3858 case ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 8):
3859 {
3860 T27_ = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_36));
3861 }
3862 break;
3863 }
3864 T37_ = NIM_NIL;
3865 T37_ = dollar___systemZdollars_9(((NU64) ((*b).info.line)));
3866 T38_ = NIM_NIL;
3867 T38_ = dollar___systemZdollars_3(((NI) ((*b).info.col)));
3868 T26_ = rawNewString((T27_ ? T27_->Sup.len : 0) + (T37_ ? T37_->Sup.len : 0) + (T38_ ? T38_->Sup.len : 0) + 12);
3869 appendString(T26_, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_27));
3870 appendString(T26_, T27_);
3871 appendString(T26_, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_37));
3872 appendString(T26_, T37_);
3873 appendString(T26_, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_38));
3874 appendString(T26_, T38_);
3875 res = resizeString(res, (T26_ ? T26_->Sup.len : 0) + 0);
3876 appendString(res, T26_);
3877 i += ((NI) 1);
3878 } LA25: ;
3879 }
3880 }
3881 liMessage__msgs_1118((*ctx).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 58), res, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_39, NIM_FALSE);
3882 }BeforeRet_: ;
3883 }
N_NIMCALL(void,handleNilability__nilcheck_5770)3884 N_LIB_PRIVATE N_NIMCALL(void, handleNilability__nilcheck_5770)(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ check, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map) {
3885 switch (check.nilability) {
3886 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 3):
3887 {
3888 derefWarning__nilcheck_4257(n, ctx, map, ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 3));
3889 }
3890 break;
3891 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2):
3892 {
3893 derefWarning__nilcheck_4257(n, ctx, map, ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2));
3894 }
3895 break;
3896 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 4):
3897 {
3898 derefWarning__nilcheck_4257(n, ctx, map, ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 4));
3899 }
3900 break;
3901 default:
3902 {
3903 }
3904 break;
3905 }
3906 }
N_NIMCALL(void,checkDeref__nilcheck_5775)3907 N_LIB_PRIVATE N_NIMCALL(void, checkDeref__nilcheck_5775)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
3908 check__nilcheck_227((*n)._kind_6.sons->data[((NI) 0)], ctx, map, Result);
3909 handleNilability__nilcheck_5770((*Result), (*n)._kind_6.sons->data[((NI) 0)], ctx, map);
3910 }
N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw *,copyMap__nilcheck_4039)3911 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, copyMap__nilcheck_4039)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map) {
3912 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* result;
3913 { result = NIM_NIL;
3914 {
3915 if (!(map == 0)) goto LA3_;
3916 result = ((tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*) NIM_NIL);
3917 goto BeforeRet_;
3918 }
3919 LA3_: ;
3920 result = newNilMap__nilcheck_237((*map).parent, ((NI) -1));
3921 genericSeqAssign((&(*result).expressions), (*map).expressions, (&NTIseqLnilabilityT__j9aEZ11m8pCmK2eRUFSgiOA_));
3922 genericSeqAssign((&(*result).history), (*map).history, (&NTIseqLseqLhistoryTT__tFZSZSomBEZ9bmg1CrY7ojA_));
3923 genericSeqAssign((&(*result).sets), (*map).sets, (&NTIseqLintsetT__0a6ZbC0zPSfUDYzqPnO68A_));
3924 genericSeqAssign((&(*result).setIndices), (*map).setIndices, (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
3925 }BeforeRet_: ;
3926 return result;
3927 }
N_NIMCALL(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA,reverse__nilcheck_6430)3928 N_LIB_PRIVATE N_NIMCALL(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA, reverse__nilcheck_6430)(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value) {
3929 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA result;
3930 result = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
3931 switch (value) {
3932 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 3):
3933 {
3934 result = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
3935 }
3936 break;
3937 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2):
3938 {
3939 result = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2);
3940 }
3941 break;
3942 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1):
3943 {
3944 result = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 3);
3945 }
3946 break;
3947 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 0):
3948 {
3949 result = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 0);
3950 }
3951 break;
3952 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 4):
3953 {
3954 result = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 4);
3955 }
3956 break;
3957 }
3958 return result;
3959 }
N_INLINE(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA *,X5BX5D___nilcheck_6618)3960 static N_INLINE(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA*, X5BX5D___nilcheck_6618)(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA* s, NI sLen_0, NI i) {
3961 tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA* result;
3962 result = (tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA*)0;
3963 result = (&s[(NI)(sLen_0 - i)]);
3964 return result;
3965 }
N_NIMCALL(tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA,reverse__nilcheck_6433)3966 N_LIB_PRIVATE N_NIMCALL(tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA, reverse__nilcheck_6433)(tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA kind) {
3967 tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA result;
3968 result = (tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA)0;
3969 switch (kind) {
3970 case ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 3):
3971 {
3972 result = ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 6);
3973 }
3974 break;
3975 case ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 6):
3976 {
3977 result = ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 3);
3978 }
3979 break;
3980 case ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 7):
3981 {
3982 result = ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 7);
3983 }
3984 break;
3985 default:
3986 {
3987 result = kind;
3988 }
3989 break;
3990 }
3991 return result;
3992 }
N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw *,reverseDirect__nilcheck_1214)3993 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, reverseDirect__nilcheck_1214)(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map) {
3994 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* result;
3995 result = NIM_NIL;
3996 result = copyMap__nilcheck_4039(map);
3997 {
3998 NI16 index;
3999 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value;
4000 index = (NI16)0;
4001 value = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
4002 {
4003 NI i;
4004 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA element;
4005 tySequence__j9aEZ11m8pCmK2eRUFSgiOA* colontmp_;
4006 NI i_2;
4007 NI L;
4008 NI T3_;
4009 i = (NI)0;
4010 element = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
4011 colontmp_ = NIM_NIL;
4012 colontmp_ = (*result).expressions;
4013 i_2 = ((NI) 0);
4014 T3_ = (colontmp_ ? colontmp_->Sup.len : 0);
4015 L = T3_;
4016 {
4017 while (1) {
4018 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T6_;
4019 if (!(i_2 < L)) goto LA5;
4020 i = i_2;
4021 element = colontmp_->data[i_2];
4022 index = ((NI16) (i));
4023 value = element;
4024 T6_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
4025 T6_ = reverse__nilcheck_6430(value);
4026 X5BX5Deq___nilcheck_2714((&(*result).expressions), index, T6_);
4027 {
4028 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg** T9_;
4029 NI T10_;
4030 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg** T13_;
4031 tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA* T14_;
4032 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg** T15_;
4033 tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA* T16_;
4034 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg** T17_;
4035 tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA* T18_;
4036 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA* T19_;
4037 T9_ = (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg**)0;
4038 T9_ = X5BX5D___nilcheck_1191((&(*result).history), index);
4039 T10_ = ((*T9_) ? (*T9_)->Sup.len : 0);
4040 if (!(((NI) 0) < T10_)) goto LA11_;
4041 T13_ = (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg**)0;
4042 T13_ = X5BX5D___nilcheck_1191((&(*result).history), index);
4043 T14_ = (tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA*)0;
4044 T14_ = X5BX5D___nilcheck_6618((*T13_)->data, ((*T13_) ? (*T13_)->Sup.len : 0), ((NI) 1));
4045 T15_ = (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg**)0;
4046 T15_ = X5BX5D___nilcheck_1191((&(*result).history), index);
4047 T16_ = (tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA*)0;
4048 T16_ = X5BX5D___nilcheck_6618((*T15_)->data, ((*T15_) ? (*T15_)->Sup.len : 0), ((NI) 1));
4049 (*T14_).kind = reverse__nilcheck_6433((*T16_).kind);
4050 T17_ = (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg**)0;
4051 T17_ = X5BX5D___nilcheck_1191((&(*result).history), index);
4052 T18_ = (tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA*)0;
4053 T18_ = X5BX5D___nilcheck_6618((*T17_)->data, ((*T17_) ? (*T17_)->Sup.len : 0), ((NI) 1));
4054 T19_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA*)0;
4055 T19_ = X5BX5D___nilcheck_989((&(*result).expressions), index);
4056 (*T18_).nilability = (*T19_);
4057 }
4058 LA11_: ;
4059 i_2 += ((NI) 1);
4060 } LA5: ;
4061 }
4062 }
4063 }
4064 return result;
4065 }
N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw *,add__nilcheck_5952)4066 N_LIB_PRIVATE N_NIMCALL(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*, add__nilcheck_5952)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* l, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* r) {
4067 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* result;
4068 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* common;
4069 NI16 T8_;
4070 { result = NIM_NIL;
4071 {
4072 if (!(l == 0)) goto LA3_;
4073 result = r;
4074 goto BeforeRet_;
4075 }
4076 goto LA1_;
4077 LA3_: ;
4078 {
4079 if (!(r == 0)) goto LA6_;
4080 result = l;
4081 goto BeforeRet_;
4082 }
4083 goto LA1_;
4084 LA6_: ;
4085 LA1_: ;
4086 common = findCommonParent__nilcheck_5833(l, r);
4087 T8_ = (NI16)0;
4088 T8_ = len__nilcheck_5915((*ctx).expressions);
4089 result = newNilMap__nilcheck_237(common, ((NI) (T8_)));
4090 {
4091 NI16 index;
4092 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value;
4093 index = (NI16)0;
4094 value = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
4095 {
4096 NI16 index_2;
4097 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA value_2;
4098 index_2 = (NI16)0;
4099 value_2 = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
4100 {
4101 NI i;
4102 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA element;
4103 tySequence__j9aEZ11m8pCmK2eRUFSgiOA* colontmp_;
4104 NI i_2;
4105 NI L;
4106 NI T12_;
4107 i = (NI)0;
4108 element = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
4109 colontmp_ = NIM_NIL;
4110 colontmp_ = (*l).expressions;
4111 i_2 = ((NI) 0);
4112 T12_ = (colontmp_ ? colontmp_->Sup.len : 0);
4113 L = T12_;
4114 {
4115 while (1) {
4116 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg* h;
4117 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
4118 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T22_;
4119 if (!(i_2 < L)) goto LA14;
4120 i = i_2;
4121 element = colontmp_->data[i_2];
4122 index_2 = ((NI16) (i));
4123 value_2 = element;
4124 index = index_2;
4125 value = X5BX5D___nilcheck_865(l, index_2);
4126 h = history__nilcheck_1071(r, index);
4127 {
4128 NI T17_;
4129 tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA T20_;
4130 T17_ = (h ? h->Sup.len : 0);
4131 if (!(((NI) 0) < T17_)) goto LA18_;
4132 nimZeroMem((void*)(&T20_), sizeof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA));
4133 X5BX5D___nilcheck_5929(h->data, (h ? h->Sup.len : 0), ((NI) 1), (&T20_));
4134 info = T20_.info;
4135 }
4136 goto LA15_;
4137 LA18_: ;
4138 {
4139 nimZeroMem((void*)(&info), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
4140 info.line = ((NU16) 0);
4141 }
4142 LA15_: ;
4143 T22_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
4144 {
4145 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T25_;
4146 T25_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
4147 T25_ = X5BX5D___nilcheck_865(r, index);
4148 if (!(value == T25_)) goto LA26_;
4149 T22_ = value;
4150 }
4151 goto LA23_;
4152 LA26_: ;
4153 {
4154 if (!(value == ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 0))) goto LA29_;
4155 T22_ = X5BX5D___nilcheck_865(r, index);
4156 }
4157 goto LA23_;
4158 LA29_: ;
4159 {
4160 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T32_;
4161 T32_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
4162 T32_ = X5BX5D___nilcheck_865(r, index);
4163 if (!(T32_ == ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 0))) goto LA33_;
4164 T22_ = value;
4165 }
4166 goto LA23_;
4167 LA33_: ;
4168 {
4169 NIM_BOOL T36_;
4170 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T38_;
4171 T36_ = (NIM_BOOL)0;
4172 T36_ = (value == ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 4));
4173 if (T36_) goto LA37_;
4174 T38_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
4175 T38_ = X5BX5D___nilcheck_865(r, index);
4176 T36_ = (T38_ == ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 4));
4177 LA37_: ;
4178 if (!T36_) goto LA39_;
4179 T22_ = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 4);
4180 }
4181 goto LA23_;
4182 LA39_: ;
4183 {
4184 if (!(value == ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2))) goto LA42_;
4185 T22_ = X5BX5D___nilcheck_865(r, index);
4186 }
4187 goto LA23_;
4188 LA42_: ;
4189 {
4190 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T45_;
4191 T45_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
4192 T45_ = X5BX5D___nilcheck_865(r, index);
4193 if (!(T45_ == ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2))) goto LA46_;
4194 T22_ = value;
4195 }
4196 goto LA23_;
4197 LA46_: ;
4198 {
4199 T22_ = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 4);
4200 }
4201 LA23_: ;
4202 store__nilcheck_2666(result, ctx, index, T22_, ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 1), info, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4203 i_2 += ((NI) 1);
4204 } LA14: ;
4205 }
4206 }
4207 }
4208 }
4209 }BeforeRet_: ;
4210 return result;
4211 }
N_NIMCALL(void,checkBranch__nilcheck_1216)4212 N_LIB_PRIVATE N_NIMCALL(void, checkBranch__nilcheck_1216)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
4213 check__nilcheck_227(n, ctx, map, Result);
4214 }
N_NIMCALL(NIM_BOOL,hasUnstructuredControlFlowJump__nilcheck_1220)4215 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnstructuredControlFlowJump__nilcheck_1220)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
4216 NIM_BOOL result;
4217 { result = (NIM_BOOL)0;
4218 switch ((*n).kind) {
4219 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
4220 {
4221 {
4222 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
4223 child = NIM_NIL;
4224 {
4225 NI i;
4226 NI colontmp_;
4227 NI i_2;
4228 i = (NI)0;
4229 colontmp_ = (NI)0;
4230 colontmp_ = safeLen__ast_3191(n);
4231 i_2 = ((NI) 0);
4232 {
4233 while (1) {
4234 if (!(i_2 < colontmp_)) goto LA5;
4235 i = i_2;
4236 child = (*n)._kind_6.sons->data[i];
4237 {
4238 NIM_BOOL T8_;
4239 T8_ = (NIM_BOOL)0;
4240 T8_ = hasUnstructuredControlFlowJump__nilcheck_1220(child);
4241 if (!T8_) goto LA9_;
4242 result = NIM_TRUE;
4243 goto BeforeRet_;
4244 }
4245 LA9_: ;
4246 i_2 += ((NI) 1);
4247 } LA5: ;
4248 }
4249 }
4250 }
4251 }
4252 break;
4253 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
4254 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
4255 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111):
4256 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
4257 {
4258 result = NIM_TRUE;
4259 goto BeforeRet_;
4260 }
4261 break;
4262 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
4263 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
4264 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
4265 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
4266 {
4267 result = NIM_FALSE;
4268 goto BeforeRet_;
4269 }
4270 break;
4271 default:
4272 {
4273 }
4274 break;
4275 }
4276 result = NIM_FALSE;
4277 goto BeforeRet_;
4278 }BeforeRet_: ;
4279 return result;
4280 }
N_NIMCALL(void,checkIf__nilcheck_6213)4281 N_LIB_PRIVATE N_NIMCALL(void, checkIf__nilcheck_6213)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
4282 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* mapIf;
4283 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* mapCondition;
4284 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* layerHistory;
4285 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* afterLayer;
4286 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA nilability;
4287 (*Result).nilability = 0;
4288 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
4289 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
4290 mapIf = map;
4291 mapCondition = checkCondition__nilcheck_231((*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)], ctx, mapIf, NIM_FALSE, NIM_TRUE);
4292 layerHistory = newNilMap__nilcheck_237(mapIf, ((NI) -1));
4293 afterLayer = NIM_NIL;
4294 nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
4295 {
4296 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** branch;
4297 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
4298 NI i;
4299 NI L;
4300 NI T2_;
4301 branch = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
4302 colontmp_ = NIM_NIL;
4303 colontmp_ = (*n)._kind_6.sons;
4304 i = ((NI) 0);
4305 T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
4306 L = T2_;
4307 {
4308 while (1) {
4309 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* branchConditionLayer;
4310 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* branchLayer;
4311 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* code;
4312 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ branchCheck;
4313 if (!(i < L)) goto LA4;
4314 branch = &colontmp_->data[i];
4315 branchConditionLayer = newNilMap__nilcheck_237(layerHistory, ((NI) -1));
4316 branchLayer = NIM_NIL;
4317 code = NIM_NIL;
4318 {
4319 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* mapCondition_2;
4320 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* reverseMapCondition;
4321 if (!((*(*branch)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92) || (*(*branch)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86))) goto LA7_;
4322 mapCondition_2 = checkCondition__nilcheck_231((*(*branch))._kind_6.sons->data[((NI) 0)], ctx, branchConditionLayer, NIM_FALSE, NIM_TRUE);
4323 reverseMapCondition = reverseDirect__nilcheck_1214(mapCondition_2);
4324 layerHistory = add__nilcheck_5952(ctx, layerHistory, reverseMapCondition);
4325 branchLayer = mapCondition_2;
4326 code = (*(*branch))._kind_6.sons->data[((NI) 1)];
4327 }
4328 goto LA5_;
4329 LA7_: ;
4330 {
4331 branchLayer = layerHistory;
4332 code = (*branch);
4333 }
4334 LA5_: ;
4335 nimZeroMem((void*)(&branchCheck), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4336 checkBranch__nilcheck_1216(code, ctx, branchLayer, (&branchCheck));
4337 afterLayer = union__nilcheck_5848(ctx, afterLayer, branchCheck.map);
4338 {
4339 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92))) goto LA12_;
4340 nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
4341 }
4342 goto LA10_;
4343 LA12_: ;
4344 {
4345 {
4346 if (!(nilability == branchCheck.nilability)) goto LA17_;
4347 nilability = nilability;
4348 }
4349 goto LA15_;
4350 LA17_: ;
4351 {
4352 nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2);
4353 }
4354 LA15_: ;
4355 }
4356 LA10_: ;
4357 i += ((NI) 1);
4358 } LA4: ;
4359 }
4360 }
4361 {
4362 NI T22_;
4363 T22_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
4364 if (!(((NI) 1) < T22_)) goto LA23_;
4365 unsureAsgnRef((void**) (&(*Result).map), afterLayer);
4366 (*Result).nilability = nilability;
4367 }
4368 goto LA20_;
4369 LA23_: ;
4370 {
4371 {
4372 NIM_BOOL T28_;
4373 T28_ = (NIM_BOOL)0;
4374 T28_ = hasUnstructuredControlFlowJump__nilcheck_1220((*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
4375 if (!!(T28_)) goto LA29_;
4376 unsureAsgnRef((void**) (&(*Result).map), union__nilcheck_5848(ctx, layerHistory, afterLayer));
4377 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
4378 }
4379 goto LA26_;
4380 LA29_: ;
4381 {
4382 unsureAsgnRef((void**) (&(*Result).map), layerHistory);
4383 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
4384 }
4385 LA26_: ;
4386 }
4387 LA20_: ;
4388 }
N_NIMCALL(void,move__nilcheck_3682)4389 N_LIB_PRIVATE N_NIMCALL(void, move__nilcheck_3682)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* target, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assigned) {
4390 NI16 targetIndex;
4391 NI16 assignedIndex;
4392 NI targetSetIndex;
4393 NI* T1_;
4394 NI assignedSetIndex;
4395 targetIndex = index__nilcheck_1932(ctx, target);
4396 assignedIndex = (NI16)0;
4397 T1_ = (NI*)0;
4398 T1_ = X5BX5D___nilcheck_2460((&(*map).setIndices), targetIndex);
4399 targetSetIndex = (*T1_);
4400 assignedSetIndex = (NI)0;
4401 {
4402 NI* T6_;
4403 if (!((*assigned).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA4_;
4404 assignedIndex = index__nilcheck_1932(ctx, assigned);
4405 T6_ = (NI*)0;
4406 T6_ = X5BX5D___nilcheck_2460((&(*map).setIndices), assignedIndex);
4407 assignedSetIndex = (*T6_);
4408 }
4409 goto LA2_;
4410 LA4_: ;
4411 {
4412 assignedIndex = ((NI16) -1);
4413 assignedSetIndex = ((NI) -1);
4414 }
4415 LA2_: ;
4416 {
4417 NIM_BOOL T10_;
4418 T10_ = (NIM_BOOL)0;
4419 T10_ = eqeq___nilcheck_188(assignedIndex, ((NI16) -1));
4420 if (!T10_) goto LA11_;
4421 moveOut__nilcheck_2975(ctx, map, target);
4422 }
4423 goto LA8_;
4424 LA11_: ;
4425 {
4426 NIM_BOOL T14_;
4427 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* T17_;
4428 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* T18_;
4429 T14_ = (NIM_BOOL)0;
4430 T14_ = eqeq___nilcheck_215(targetSetIndex, assignedSetIndex);
4431 if (!!(T14_)) goto LA15_;
4432 T17_ = (tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*)0;
4433 T17_ = X5BX5D___nilcheck_1495((&(*map).sets), targetSetIndex);
4434 excl__reorder_264(T17_, ((NI) (targetIndex)));
4435 T18_ = (tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA*)0;
4436 T18_ = X5BX5D___nilcheck_1495((&(*map).sets), assignedSetIndex);
4437 incl__pureZcollectionsZintsets_55(T18_, ((NI) (targetIndex)));
4438 X5BX5Deq___nilcheck_584((&(*map).setIndices), targetIndex, assignedSetIndex);
4439 }
4440 goto LA8_;
4441 LA15_: ;
4442 LA8_: ;
4443 }
N_NIMCALL(NIM_BOOL,contains__nilcheck_6168)4444 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__nilcheck_6168)(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw t, NI key) {
4445 NIM_BOOL result;
4446 { result = (NIM_BOOL)0;
4447 result = hasKey__nilcheck_1977(t, key);
4448 goto BeforeRet_;
4449 }BeforeRet_: ;
4450 return result;
4451 }
N_NIMCALL(void,checkAsgn__nilcheck_6062)4452 N_LIB_PRIVATE N_NIMCALL(void, checkAsgn__nilcheck_6062)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* target, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assigned, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
4453 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T6_;
4454 {
4455 if (!!(((*assigned).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
4456 check__nilcheck_227(assigned, ctx, map, Result);
4457 }
4458 goto LA1_;
4459 LA3_: ;
4460 {
4461 (*Result).nilability = 0;
4462 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
4463 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
4464 (*Result).nilability = typeNilability__nilcheck_4049((*target).typ);
4465 unsureAsgnRef((void**) (&(*Result).map), map);
4466 }
4467 LA1_: ;
4468 nimZeroMem((void*)(&T6_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4469 check__nilcheck_227(target, ctx, map, (&T6_));
4470 (void)(T6_);
4471 {
4472 if (!((*Result).map == 0)) goto LA9_;
4473 unsureAsgnRef((void**) (&(*Result).map), map);
4474 }
4475 LA9_: ;
4476 {
4477 NIM_BOOL T13_;
4478 NIM_BOOL T15_;
4479 NI16 t;
4480 T13_ = (NIM_BOOL)0;
4481 T13_ = ((*target).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*target).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
4482 if (T13_) goto LA14_;
4483 T15_ = (NIM_BOOL)0;
4484 T15_ = ((*target).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
4485 if (!(T15_)) goto LA16_;
4486 T15_ = ((nkLiterals__ast_3029[(NU)((*(*target)._kind_6.sons->data[((NI) 1)]).kind)>>3] &(1U<<((NU)((*(*target)._kind_6.sons->data[((NI) 1)]).kind)&7U)))!=0);
4487 LA16_: ;
4488 T13_ = T15_;
4489 LA14_: ;
4490 if (!T13_) goto LA17_;
4491 t = index__nilcheck_1932(ctx, target);
4492 move__nilcheck_3682(ctx, map, target, assigned);
4493 switch ((*assigned).kind) {
4494 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
4495 {
4496 store__nilcheck_2666((*Result).map, ctx, t, ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 3), ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 1), (*target).info, target);
4497 }
4498 break;
4499 default:
4500 {
4501 store__nilcheck_2666((*Result).map, ctx, t, (*Result).nilability, ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 1), (*target).info, target);
4502 moveOutDependants__nilcheck_3476(ctx, map, target);
4503 storeDependants__nilcheck_3610(ctx, map, target, ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2));
4504 {
4505 if (!((*assigned).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38) || (*assigned).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA23_;
4506 {
4507 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** element;
4508 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA* value;
4509 NI i;
4510 NI L;
4511 NI T26_;
4512 element = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
4513 value = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA*)0;
4514 i = ((NI) 0);
4515 T26_ = ((*Result).elements ? (*Result).elements->Sup.len : 0);
4516 L = T26_;
4517 {
4518 while (1) {
4519 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* elementNode;
4520 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T29_;
4521 tyArray__jlWPjgtbdjE069arIWHC9c9bg T30_;
4522 if (!(i < L)) goto LA28;
4523 element = &(*Result).elements->data[i].Field0;
4524 value = (&(*Result).elements->data[i].Field1);
4525 nimZeroMem((void*)T29_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4526 nimZeroMem((void*)T30_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
4527 T30_[0] = target;
4528 T29_[0] = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), T30_, 1);
4529 T29_[1] = (*element);
4530 elementNode = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), T29_, 2);
4531 {
4532 NI T33_;
4533 NIM_BOOL T34_;
4534 NI16 elementIndex;
4535 T33_ = (NI)0;
4536 T33_ = symbol__nilcheck_1210(elementNode);
4537 T34_ = (NIM_BOOL)0;
4538 T34_ = contains__nilcheck_6168((*ctx).symbolIndices, T33_);
4539 if (!T34_) goto LA35_;
4540 elementIndex = index__nilcheck_1932(ctx, elementNode);
4541 store__nilcheck_2666((*Result).map, ctx, elementIndex, (*value), ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 1), (*target).info, elementNode);
4542 }
4543 LA35_: ;
4544 i += ((NI) 1);
4545 } LA28: ;
4546 }
4547 }
4548 }
4549 LA23_: ;
4550 }
4551 break;
4552 }
4553 }
4554 LA17_: ;
4555 }
N_NIMCALL(void,checkFor__nilcheck_6252)4556 N_LIB_PRIVATE N_NIMCALL(void, checkFor__nilcheck_6252)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
4557 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* m;
4558 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map0;
4559 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T1_;
4560 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ check2;
4561 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map2;
4562 (*Result).nilability = 0;
4563 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
4564 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
4565 m = copyMap__nilcheck_4039(map);
4566 map0 = copyMap__nilcheck_4039(map);
4567 nimZeroMem((void*)(&T1_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4568 check__nilcheck_227((*n)._kind_6.sons->data[((NI) 2)], ctx, map, (&T1_));
4569 m = copyMap__nilcheck_4039(T1_.map);
4570 {
4571 NI16 T6_;
4572 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T7_;
4573 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA4_;
4574 T6_ = (NI16)0;
4575 T6_ = index__nilcheck_1932(ctx, (*n)._kind_6.sons->data[((NI) 0)]);
4576 T7_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
4577 T7_ = typeNilability__nilcheck_4049((*(*n)._kind_6.sons->data[((NI) 0)]).typ);
4578 store__nilcheck_2666(m, ctx, T6_, T7_, ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 1), (*(*n)._kind_6.sons->data[((NI) 0)]).info, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4579 }
4580 LA4_: ;
4581 nimZeroMem((void*)(&check2), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4582 check__nilcheck_227((*n)._kind_6.sons->data[((NI) 2)], ctx, m, (&check2));
4583 map2 = check2.map;
4584 unsureAsgnRef((void**) (&(*Result).map), union__nilcheck_5848(ctx, map0, m));
4585 unsureAsgnRef((void**) (&(*Result).map), union__nilcheck_5848(ctx, (*Result).map, map2));
4586 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
4587 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)4588 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
4589 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
4590 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
4591 (*x).symId += ((NI) 1);
4592 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
4593 result.module = (*x).module;
4594 result.item = (*x).symId;
4595 return result;
4596 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)4597 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
4598 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
4599 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
4600 (*x).typeId_0 += ((NI) 1);
4601 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
4602 result.module = (*x).module;
4603 result.item = (*x).typeId_0;
4604 return result;
4605 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,infix__nilcheck_6332)4606 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, infix__nilcheck_6332)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* l, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic) {
4607 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4608 NimStringDesc* name;
4609 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
4610 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
4611 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T5_;
4612 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T6_;
4613 tyArray__T6RKPw8xfAeNaoei9aZGzXg T7_;
4614 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T8_;
4615 result = NIM_NIL;
4616 switch (magic) {
4617 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87):
4618 {
4619 name = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_41));
4620 }
4621 break;
4622 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
4623 {
4624 name = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_42));
4625 }
4626 break;
4627 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
4628 {
4629 name = copyString(((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_43));
4630 }
4631 break;
4632 default:
4633 {
4634 name = ((NimStringDesc*) NIM_NIL);
4635 }
4636 break;
4637 }
4638 cache = newIdentCache__idents_152();
4639 T5_ = NIM_NIL;
4640 T5_ = getIdent__idents_143(cache, name);
4641 T6_ = nextSymId__ast_3132((*ctx).idgen);
4642 op = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), T5_, T6_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (*r).info, 0);
4643 (*op).magic = magic;
4644 nimZeroMem((void*)T7_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
4645 T7_[0] = newSymNode__ast_3719(op, (*r).info);
4646 T7_[1] = l;
4647 T7_[2] = r;
4648 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), T7_, 3);
4649 T8_ = nextTypeId__ast_3151((*ctx).idgen);
4650 asgnRef((void**) (&(*result).typ), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1), T8_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4651 return result;
4652 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,infixEq__nilcheck_6356)4653 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, infixEq__nilcheck_6356)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* l, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r) {
4654 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4655 result = NIM_NIL;
4656 result = infix__nilcheck_6332(ctx, l, r, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 87));
4657 return result;
4658 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,infixOr__nilcheck_6361)4659 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, infixOr__nilcheck_6361)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* l, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r) {
4660 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4661 result = NIM_NIL;
4662 result = infix__nilcheck_6332(ctx, l, r, ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110));
4663 return result;
4664 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,prefixNot__nilcheck_6350)4665 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, prefixNot__nilcheck_6350)(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* node) {
4666 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
4667 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
4668 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
4669 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
4670 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
4671 tyArray__AB6yfoUgfWM2NtGe9bzkCmw T3_;
4672 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T4_;
4673 result = NIM_NIL;
4674 cache = newIdentCache__idents_152();
4675 T1_ = NIM_NIL;
4676 T1_ = getIdent__idents_143(cache, ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_44));
4677 T2_ = nextSymId__ast_3132((*ctx).idgen);
4678 op = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), T1_, T2_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (*node).info, 0);
4679 (*op).magic = ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96);
4680 nimZeroMem((void*)T3_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
4681 T3_[0] = newSymNode__ast_3719(op, (*node).info);
4682 T3_[1] = node;
4683 result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30), T3_, 2);
4684 T4_ = nextTypeId__ast_3151((*ctx).idgen);
4685 asgnRef((void**) (&(*result).typ), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1), T4_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
4686 return result;
4687 }
N_NIMCALL(void,checkCase__nilcheck_6366)4688 N_LIB_PRIVATE N_NIMCALL(void, checkCase__nilcheck_6366)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
4689 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* base;
4690 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
4691 (*Result).nilability = 0;
4692 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
4693 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
4694 base = (*n)._kind_6.sons->data[((NI) 0)];
4695 unsureAsgnRef((void**) (&(*Result).map), copyMap__nilcheck_4039(map));
4696 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
4697 a = NIM_NIL;
4698 {
4699 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
4700 child = NIM_NIL;
4701 {
4702 NI i;
4703 NI colontmp_;
4704 NI i_2;
4705 i = (NI)0;
4706 colontmp_ = (NI)0;
4707 colontmp_ = safeLen__ast_3191(n);
4708 i_2 = ((NI) 0);
4709 {
4710 while (1) {
4711 if (!(i_2 < colontmp_)) goto LA4;
4712 i = i_2;
4713 child = (*n)._kind_6.sons->data[i];
4714 {
4715 switch ((*child).kind) {
4716 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
4717 {
4718 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchBase;
4719 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* code;
4720 NI T12_;
4721 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* test;
4722 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* conditionMap;
4723 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* T18_;
4724 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ newCheck;
4725 {
4726 NI T9_;
4727 T9_ = (NI)0;
4728 T9_ = len__ast_3198(child);
4729 if (!(T9_ < ((NI) 2))) goto LA10_;
4730 goto LA5;
4731 }
4732 LA10_: ;
4733 branchBase = (*child)._kind_6.sons->data[((NI) 0)];
4734 T12_ = (NI)0;
4735 T12_ = len__ast_3198(child);
4736 code = (*child)._kind_6.sons->data[(NI)(T12_ - ((NI) 1))];
4737 test = infixEq__nilcheck_6356(ctx, base, branchBase);
4738 {
4739 if (!(a == 0)) goto LA15_;
4740 a = test;
4741 }
4742 goto LA13_;
4743 LA15_: ;
4744 {
4745 a = infixOr__nilcheck_6361(ctx, a, test);
4746 }
4747 LA13_: ;
4748 T18_ = NIM_NIL;
4749 T18_ = copyMap__nilcheck_4039(map);
4750 conditionMap = checkCondition__nilcheck_231(test, ctx, T18_, NIM_FALSE, NIM_FALSE);
4751 nimZeroMem((void*)(&newCheck), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4752 checkBranch__nilcheck_1216(code, ctx, conditionMap, (&newCheck));
4753 unsureAsgnRef((void**) (&(*Result).map), union__nilcheck_5848(ctx, (*Result).map, newCheck.map));
4754 {
4755 if (!((*Result).nilability == newCheck.nilability)) goto LA21_;
4756 (*Result).nilability = (*Result).nilability;
4757 }
4758 goto LA19_;
4759 LA21_: ;
4760 {
4761 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2);
4762 }
4763 LA19_: ;
4764 }
4765 break;
4766 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
4767 {
4768 }
4769 break;
4770 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
4771 {
4772 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* mapElse;
4773 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T26_;
4774 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* T27_;
4775 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ newCheck_2;
4776 T26_ = NIM_NIL;
4777 T26_ = prefixNot__nilcheck_6350(ctx, a);
4778 T27_ = NIM_NIL;
4779 T27_ = copyMap__nilcheck_4039(map);
4780 mapElse = checkCondition__nilcheck_231(T26_, ctx, T27_, NIM_FALSE, NIM_FALSE);
4781 nimZeroMem((void*)(&newCheck_2), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4782 checkBranch__nilcheck_1216((*child)._kind_6.sons->data[((NI) 0)], ctx, mapElse, (&newCheck_2));
4783 unsureAsgnRef((void**) (&(*Result).map), union__nilcheck_5848(ctx, (*Result).map, newCheck_2.map));
4784 {
4785 if (!((*Result).nilability == newCheck_2.nilability)) goto LA30_;
4786 (*Result).nilability = (*Result).nilability;
4787 }
4788 goto LA28_;
4789 LA30_: ;
4790 {
4791 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2);
4792 }
4793 LA28_: ;
4794 }
4795 break;
4796 default:
4797 {
4798 }
4799 break;
4800 }
4801 } LA5: ;
4802 i_2 += ((NI) 1);
4803 } LA4: ;
4804 }
4805 }
4806 }
4807 }
N_NIMCALL(void,checkReturn__nilcheck_6207)4808 N_LIB_PRIVATE N_NIMCALL(void, checkReturn__nilcheck_6207)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
4809 check__nilcheck_227((*n)._kind_6.sons->data[((NI) 0)], ctx, map, Result);
4810 store__nilcheck_2666((*Result).map, ctx, ((NI16) 0), (*Result).nilability, ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 1), (*n).info, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4811 }
N_NIMCALL(void,checkBracketExpr__nilcheck_5819)4812 N_LIB_PRIVATE N_NIMCALL(void, checkBracketExpr__nilcheck_5819)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
4813 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T1_;
4814 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T2_;
4815 check__nilcheck_227((*n)._kind_6.sons->data[((NI) 0)], ctx, map, Result);
4816 handleNilability__nilcheck_5770((*Result), (*n)._kind_6.sons->data[((NI) 0)], ctx, map);
4817 nimZeroMem((void*)(&T1_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4818 check__nilcheck_227((*n)._kind_6.sons->data[((NI) 1)], ctx, (*Result).map, (&T1_));
4819 (*Result).nilability = T1_.nilability;
4820 unsureAsgnRef((void**) (&(*Result).map), T1_.map);
4821 unsureAsgnRef((void**) (&(*Result).elements), T1_.elements);
4822 nimZeroMem((void*)(&T2_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4823 checkRefExpr__nilcheck_5782(n, ctx, (*Result), (&T2_));
4824 (*Result).nilability = T2_.nilability;
4825 unsureAsgnRef((void**) (&(*Result).map), T2_.map);
4826 unsureAsgnRef((void**) (&(*Result).elements), T2_.elements);
4827 }
N_NIMCALL(void,checkTry__nilcheck_6403)4828 N_LIB_PRIVATE N_NIMCALL(void, checkTry__nilcheck_6403)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
4829 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* newMap;
4830 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* currentMap;
4831 NIM_BOOL canRaise;
4832 NIM_BOOL hasFinally;
4833 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ tryCheck;
4834 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* afterTryMap;
4835 newMap = copyMap__nilcheck_4039(map);
4836 currentMap = map;
4837 canRaise = NIM_FALSE;
4838 hasFinally = NIM_FALSE;
4839 nimZeroMem((void*)(&tryCheck), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4840 check__nilcheck_227((*n)._kind_6.sons->data[((NI) 0)], ctx, currentMap, (&tryCheck));
4841 newMap = union__nilcheck_5848(ctx, currentMap, tryCheck.map);
4842 canRaise = canRaise__ast_5088((*n)._kind_6.sons->data[((NI) 0)]);
4843 afterTryMap = newMap;
4844 {
4845 NI a;
4846 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
4847 a = (NI)0;
4848 branch = NIM_NIL;
4849 {
4850 NI i;
4851 NI colontmp_;
4852 NI i_2;
4853 i = (NI)0;
4854 colontmp_ = (NI)0;
4855 colontmp_ = safeLen__ast_3191(n);
4856 i_2 = ((NI) 0);
4857 {
4858 while (1) {
4859 if (!(i_2 < colontmp_)) goto LA4;
4860 i = i_2;
4861 a = i;
4862 branch = (*n)._kind_6.sons->data[i];
4863 {
4864 if (!(((NI) 0) < a)) goto LA7_;
4865 switch ((*branch).kind) {
4866 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107):
4867 {
4868 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ childCheck;
4869 newMap = union__nilcheck_5848(ctx, afterTryMap, newMap);
4870 nimZeroMem((void*)(&childCheck), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4871 check__nilcheck_227((*branch)._kind_6.sons->data[((NI) 0)], ctx, newMap, (&childCheck));
4872 newMap = union__nilcheck_5848(ctx, newMap, childCheck.map);
4873 hasFinally = NIM_TRUE;
4874 }
4875 break;
4876 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87):
4877 {
4878 {
4879 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ childCheck_2;
4880 NI T15_;
4881 if (!canRaise) goto LA13_;
4882 nimZeroMem((void*)(&childCheck_2), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4883 T15_ = (NI)0;
4884 T15_ = len__ast_3198(branch);
4885 check__nilcheck_227((*branch)._kind_6.sons->data[(NI)(T15_ - ((NI) 1))], ctx, newMap, (&childCheck_2));
4886 newMap = union__nilcheck_5848(ctx, newMap, childCheck_2.map);
4887 }
4888 LA13_: ;
4889 }
4890 break;
4891 default:
4892 {
4893 }
4894 break;
4895 }
4896 }
4897 LA7_: ;
4898 i_2 += ((NI) 1);
4899 } LA4: ;
4900 }
4901 }
4902 }
4903 {
4904 if (!!(hasFinally)) goto LA19_;
4905 newMap = union__nilcheck_5848(ctx, afterTryMap, newMap);
4906 }
4907 LA19_: ;
4908 (*Result).nilability = 0;
4909 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
4910 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
4911 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
4912 unsureAsgnRef((void**) (&(*Result).map), newMap);
4913 }
N_NIMCALL(void,checkWhile__nilcheck_6269)4914 N_LIB_PRIVATE N_NIMCALL(void, checkWhile__nilcheck_6269)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
4915 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* m;
4916 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map0;
4917 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T1_;
4918 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map1;
4919 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ check2;
4920 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map2;
4921 (*Result).nilability = 0;
4922 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
4923 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
4924 m = checkCondition__nilcheck_231((*n)._kind_6.sons->data[((NI) 0)], ctx, map, NIM_FALSE, NIM_FALSE);
4925 map0 = copyMap__nilcheck_4039(map);
4926 nimZeroMem((void*)(&T1_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4927 check__nilcheck_227((*n)._kind_6.sons->data[((NI) 1)], ctx, m, (&T1_));
4928 m = T1_.map;
4929 map1 = copyMap__nilcheck_4039(m);
4930 nimZeroMem((void*)(&check2), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
4931 check__nilcheck_227((*n)._kind_6.sons->data[((NI) 1)], ctx, m, (&check2));
4932 map2 = check2.map;
4933 unsureAsgnRef((void**) (&(*Result).map), union__nilcheck_5848(ctx, map0, map1));
4934 unsureAsgnRef((void**) (&(*Result).map), union__nilcheck_5848(ctx, (*Result).map, map2));
4935 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
4936 }
N_NIMCALL(void,check__nilcheck_227)4937 N_LIB_PRIVATE N_NIMCALL(void, check__nilcheck_227)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map, tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ* Result) {
4938 (*Result).nilability = 0;
4939 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
4940 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
4941 switch ((*n).kind) {
4942 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
4943 {
4944 NI16 T2_;
4945 (*Result).nilability = 0;
4946 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
4947 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
4948 T2_ = (NI16)0;
4949 T2_ = index__nilcheck_1932(ctx, n);
4950 (*Result).nilability = X5BX5D___nilcheck_865(map, T2_);
4951 unsureAsgnRef((void**) (&(*Result).map), map);
4952 }
4953 break;
4954 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
4955 {
4956 {
4957 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callSym;
4958 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA6_;
4959 callSym = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
4960 switch ((*callSym).magic) {
4961 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
4962 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
4963 {
4964 checkInfix__nilcheck_6280(n, ctx, map, Result);
4965 }
4966 break;
4967 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 143):
4968 {
4969 checkIsNil__nilcheck_6323(n, ctx, map, NIM_FALSE, Result);
4970 }
4971 break;
4972 default:
4973 {
4974 checkCall__nilcheck_4051(n, ctx, map, Result);
4975 }
4976 break;
4977 }
4978 }
4979 goto LA4_;
4980 LA6_: ;
4981 {
4982 checkCall__nilcheck_4051(n, ctx, map, Result);
4983 }
4984 LA4_: ;
4985 }
4986 break;
4987 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
4988 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
4989 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
4990 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
4991 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
4992 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
4993 {
4994 check__nilcheck_227((*n)._kind_6.sons->data[((NI) 1)], ctx, map, Result);
4995 }
4996 break;
4997 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
4998 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
4999 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
5000 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
5001 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
5002 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
5003 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
5004 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
5005 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
5006 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
5007 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
5008 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
5009 {
5010 unsureAsgnRef((void**) (&(*Result).map), map);
5011 {
5012 tySequence__sHfymmN9aVTQTLnu1B0wi3w* elements;
5013 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA16_;
5014 elements = NIM_NIL;
5015 {
5016 NI i;
5017 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
5018 i = (NI)0;
5019 child = NIM_NIL;
5020 {
5021 NI i_2;
5022 NI colontmp_;
5023 NI i_3;
5024 i_2 = (NI)0;
5025 colontmp_ = (NI)0;
5026 colontmp_ = safeLen__ast_3191(n);
5027 i_3 = ((NI) 0);
5028 {
5029 while (1) {
5030 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T22_;
5031 if (!(i_3 < colontmp_)) goto LA21;
5032 i_2 = i_3;
5033 i = i_2;
5034 child = (*n)._kind_6.sons->data[i_2];
5035 nimZeroMem((void*)(&T22_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
5036 check__nilcheck_227(child, ctx, (*Result).map, (&T22_));
5037 (*Result).nilability = T22_.nilability;
5038 unsureAsgnRef((void**) (&(*Result).map), T22_.map);
5039 unsureAsgnRef((void**) (&(*Result).elements), T22_.elements);
5040 {
5041 if (!(((NI) 0) < i)) goto LA25_;
5042 {
5043 tyTuple__KYzEow2par19cjmb9bTX4xkg T31_;
5044 NI T32_;
5045 if (!((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA29_;
5046 nimZeroMem((void*)(&T31_), sizeof(tyTuple__KYzEow2par19cjmb9bTX4xkg));
5047 T31_.Field0 = (*child)._kind_6.sons->data[((NI) 0)];
5048 T31_.Field1 = (*Result).nilability;
5049 elements = (tySequence__sHfymmN9aVTQTLnu1B0wi3w*) incrSeqV3((TGenericSeq*)(elements), (&NTIseqLLpnode_nilabilityTT__sHfymmN9aVTQTLnu1B0wi3w_));
5050 T32_ = elements->Sup.len++;
5051 asgnRef((void**) (&elements->data[T32_].Field0), T31_.Field0);
5052 elements->data[T32_].Field1 = T31_.Field1;
5053 }
5054 LA29_: ;
5055 }
5056 LA25_: ;
5057 i_3 += ((NI) 1);
5058 } LA21: ;
5059 }
5060 }
5061 }
5062 genericSeqAssign((&(*Result).elements), elements, (&NTIseqLLpnode_nilabilityTT__sHfymmN9aVTQTLnu1B0wi3w_));
5063 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
5064 }
5065 goto LA14_;
5066 LA16_: ;
5067 {
5068 {
5069 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_2;
5070 child_2 = NIM_NIL;
5071 {
5072 NI i_4;
5073 NI colontmp__2;
5074 NI i_5;
5075 i_4 = (NI)0;
5076 colontmp__2 = (NI)0;
5077 colontmp__2 = safeLen__ast_3191(n);
5078 i_5 = ((NI) 0);
5079 {
5080 while (1) {
5081 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T38_;
5082 if (!(i_5 < colontmp__2)) goto LA37;
5083 i_4 = i_5;
5084 child_2 = (*n)._kind_6.sons->data[i_4];
5085 nimZeroMem((void*)(&T38_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
5086 check__nilcheck_227(child_2, ctx, (*Result).map, (&T38_));
5087 (*Result).nilability = T38_.nilability;
5088 unsureAsgnRef((void**) (&(*Result).map), T38_.map);
5089 unsureAsgnRef((void**) (&(*Result).elements), T38_.elements);
5090 i_5 += ((NI) 1);
5091 } LA37: ;
5092 }
5093 }
5094 }
5095 }
5096 LA14_: ;
5097 }
5098 break;
5099 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
5100 {
5101 checkDotExpr__nilcheck_5813(n, ctx, map, Result);
5102 }
5103 break;
5104 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
5105 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
5106 {
5107 checkDeref__nilcheck_5775(n, ctx, map, Result);
5108 }
5109 break;
5110 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
5111 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
5112 {
5113 check__nilcheck_227((*n)._kind_6.sons->data[((NI) 0)], ctx, map, Result);
5114 }
5115 break;
5116 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
5117 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
5118 {
5119 checkIf__nilcheck_6213(n, ctx, map, Result);
5120 }
5121 break;
5122 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
5123 {
5124 checkAsgn__nilcheck_6062((*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)], ctx, map, Result);
5125 }
5126 break;
5127 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
5128 {
5129 unsureAsgnRef((void**) (&(*Result).map), map);
5130 {
5131 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_3;
5132 child_3 = NIM_NIL;
5133 {
5134 NI i_6;
5135 NI colontmp__3;
5136 NI i_7;
5137 i_6 = (NI)0;
5138 colontmp__3 = (NI)0;
5139 colontmp__3 = safeLen__ast_3191(n);
5140 i_7 = ((NI) 0);
5141 {
5142 while (1) {
5143 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T49_;
5144 if (!(i_7 < colontmp__3)) goto LA48;
5145 i_6 = i_7;
5146 child_3 = (*n)._kind_6.sons->data[i_6];
5147 nimZeroMem((void*)(&T49_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
5148 checkAsgn__nilcheck_6062((*child_3)._kind_6.sons->data[((NI) 0)], (*child_3)._kind_6.sons->data[((NI) 2)], ctx, (*Result).map, (&T49_));
5149 (*Result).nilability = T49_.nilability;
5150 unsureAsgnRef((void**) (&(*Result).map), T49_.map);
5151 unsureAsgnRef((void**) (&(*Result).elements), T49_.elements);
5152 i_7 += ((NI) 1);
5153 } LA48: ;
5154 }
5155 }
5156 }
5157 }
5158 break;
5159 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
5160 {
5161 checkFor__nilcheck_6252(n, ctx, map, Result);
5162 }
5163 break;
5164 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
5165 {
5166 checkCase__nilcheck_6366(n, ctx, map, Result);
5167 }
5168 break;
5169 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
5170 {
5171 checkReturn__nilcheck_6207(n, ctx, map, Result);
5172 }
5173 break;
5174 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
5175 {
5176 checkBracketExpr__nilcheck_5819(n, ctx, map, Result);
5177 }
5178 break;
5179 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
5180 {
5181 checkTry__nilcheck_6403(n, ctx, map, Result);
5182 }
5183 break;
5184 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
5185 {
5186 checkWhile__nilcheck_6269(n, ctx, map, Result);
5187 }
5188 break;
5189 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
5190 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
5191 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
5192 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
5193 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
5194 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
5195 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
5196 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
5197 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
5198 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
5199 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
5200 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
5201 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
5202 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
5203 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
5204 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
5205 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
5206 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
5207 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
5208 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 158):
5209 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
5210 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
5211 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
5212 {
5213 (*Result).nilability = 0;
5214 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
5215 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
5216 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 3);
5217 unsureAsgnRef((void**) (&(*Result).map), map);
5218 }
5219 break;
5220 default:
5221 {
5222 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* elementMap;
5223 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ elementCheck;
5224 elementMap = copyMap__nilcheck_4039(map);
5225 nimZeroMem((void*)(&elementCheck), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
5226 elementCheck.map = elementMap;
5227 {
5228 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* element;
5229 element = NIM_NIL;
5230 {
5231 NI i_8;
5232 NI colontmp__4;
5233 NI i_9;
5234 i_8 = (NI)0;
5235 colontmp__4 = (NI)0;
5236 colontmp__4 = safeLen__ast_3191(n);
5237 i_9 = ((NI) 0);
5238 {
5239 while (1) {
5240 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ T62_;
5241 if (!(i_9 < colontmp__4)) goto LA61;
5242 i_8 = i_9;
5243 element = (*n)._kind_6.sons->data[i_8];
5244 nimZeroMem((void*)(&T62_), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
5245 check__nilcheck_227(element, ctx, elementCheck.map, (&T62_));
5246 elementCheck.nilability = T62_.nilability;
5247 elementCheck.map = T62_.map;
5248 elementCheck.elements = T62_.elements;
5249 i_9 += ((NI) 1);
5250 } LA61: ;
5251 }
5252 }
5253 }
5254 (*Result).nilability = 0;
5255 unsureAsgnRef((void**)&(*Result).map, NIM_NIL);
5256 unsureAsgnRef((void**)&(*Result).elements, NIM_NIL);
5257 (*Result).nilability = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 3);
5258 unsureAsgnRef((void**) (&(*Result).map), elementCheck.map);
5259 }
5260 break;
5261 }
5262 }
N_INLINE(NIM_BOOL,contains__nilcheck_9533)5263 static N_INLINE(NIM_BOOL, contains__nilcheck_9533)(tyObject_HSlice__6VfXE1cAxJ0GQh9aCi1zhkw s, NI16 value) {
5264 NIM_BOOL result;
5265 NIM_BOOL T1_;
5266 result = (NIM_BOOL)0;
5267 T1_ = (NIM_BOOL)0;
5268 T1_ = lteq___nilcheck_176(s.a, value);
5269 if (!(T1_)) goto LA2_;
5270 T1_ = lteq___nilcheck_176(value, s.b);
5271 LA2_: ;
5272 result = T1_;
5273 return result;
5274 }
N_INLINE(tyObject_HSlice__6VfXE1cAxJ0GQh9aCi1zhkw,dotdot___nilcheck_9461)5275 static N_INLINE(tyObject_HSlice__6VfXE1cAxJ0GQh9aCi1zhkw, dotdot___nilcheck_9461)(NI16 a, NI16 b) {
5276 tyObject_HSlice__6VfXE1cAxJ0GQh9aCi1zhkw result;
5277 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__6VfXE1cAxJ0GQh9aCi1zhkw));
5278 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__6VfXE1cAxJ0GQh9aCi1zhkw));
5279 result.a = a;
5280 result.b = b;
5281 return result;
5282 }
N_NIMCALL(NI16,low__nilcheck_9436)5283 N_LIB_PRIVATE N_NIMCALL(NI16, low__nilcheck_9436)(tySequence__tFZSZSomBEZ9bmg1CrY7ojA* a) {
5284 NI16 result;
5285 result = (NI16)0;
5286 result = ((NI16) 0);
5287 return result;
5288 }
N_NIMCALL(NI16,high__nilcheck_9444)5289 N_LIB_PRIVATE N_NIMCALL(NI16, high__nilcheck_9444)(tySequence__tFZSZSomBEZ9bmg1CrY7ojA* a) {
5290 NI16 result;
5291 NI T1_;
5292 result = (NI16)0;
5293 T1_ = ((a ? a->Sup.len : 0)-1);
5294 result = ((NI16) (T1_));
5295 return result;
5296 }
N_NIMCALL(void,checkResult__nilcheck_6927)5297 N_LIB_PRIVATE N_NIMCALL(void, checkResult__nilcheck_6927)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* ctx, tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map) {
5298 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA resultNilability;
5299 resultNilability = X5BX5D___nilcheck_865(map, ((NI16) 0));
5300 switch (resultNilability) {
5301 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 3):
5302 {
5303 liMessage__msgs_1118((*ctx).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 58), ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_45), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_46, NIM_FALSE);
5304 }
5305 break;
5306 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 2):
5307 {
5308 liMessage__msgs_1118((*ctx).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 58), ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_47), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_48, NIM_FALSE);
5309 }
5310 break;
5311 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 4):
5312 {
5313 liMessage__msgs_1118((*ctx).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 58), ((NimStringDesc*) &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_49), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_50, NIM_FALSE);
5314 }
5315 break;
5316 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1):
5317 case ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 0):
5318 {
5319 }
5320 break;
5321 }
5322 }
N_NIMCALL(void,checkNil__nilcheck_9345)5323 N_LIB_PRIVATE N_NIMCALL(void, checkNil__nilcheck_9345)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
5324 NU16 line;
5325 NI fileIndex;
5326 NimStringDesc* filename;
5327 tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* context;
5328 tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA* T1_;
5329 tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw* map;
5330 NI T2_;
5331 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T18_;
5332 tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ res;
5333 NIM_BOOL canCheck;
5334 NI16 T26_;
5335 NI16 T27_;
5336 tyObject_HSlice__6VfXE1cAxJ0GQh9aCi1zhkw T28_;
5337 line = (*(*s).ast).info.line;
5338 fileIndex = ((NI) ((*(*s).ast).info.fileIndex));
5339 filename = copyString((*conf).m.fileInfos->data[fileIndex].fullPath);
5340 T1_ = NIM_NIL;
5341 T1_ = (tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA*) newObj((&NTInilcheckercontext__SHCn57BjQ6LjeAGfBicCFg_), sizeof(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA));
5342 asgnRef((void**) (&(*T1_).config), conf);
5343 asgnRef((void**) (&(*T1_).idgen), idgen);
5344 context = T1_;
5345 preVisit__nilcheck_8796(context, s, body, conf);
5346 T2_ = (NI)0;
5347 T2_ = len__nilcheck_9409((*context).symbolIndices);
5348 map = newNilMap__nilcheck_237(((tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*) NIM_NIL), T2_);
5349 {
5350 NI i;
5351 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
5352 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
5353 NI i_2;
5354 NI L;
5355 NI T4_;
5356 i = (NI)0;
5357 child = NIM_NIL;
5358 colontmp_ = NIM_NIL;
5359 colontmp_ = (*(*(*s).typ).n)._kind_6.sons;
5360 i_2 = ((NI) 0);
5361 T4_ = (colontmp_ ? colontmp_->Sup.len : 0);
5362 L = T4_;
5363 {
5364 while (1) {
5365 if (!(i_2 < L)) goto LA6;
5366 i = i_2;
5367 child = colontmp_->data[i_2];
5368 {
5369 {
5370 NI16 T16_;
5371 tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA T17_;
5372 if (!(((NI) 0) < i)) goto LA10_;
5373 {
5374 if (!!(((*child).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA14_;
5375 goto LA7;
5376 }
5377 LA14_: ;
5378 T16_ = (NI16)0;
5379 T16_ = index__nilcheck_1932(context, child);
5380 T17_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
5381 T17_ = typeNilability__nilcheck_4049((*child).typ);
5382 store__nilcheck_2666(map, context, T16_, T17_, ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 0), (*child).info, child);
5383 }
5384 LA10_: ;
5385 } LA7: ;
5386 i_2 += ((NI) 1);
5387 } LA6: ;
5388 }
5389 }
5390 T18_ = (tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA)0;
5391 {
5392 NIM_BOOL T21_;
5393 T21_ = (NIM_BOOL)0;
5394 T21_ = !(((*(*s).typ).sons->data[((NI) 0)] == 0));
5395 if (!(T21_)) goto LA22_;
5396 T21_ = ((*(*(*s).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
5397 LA22_: ;
5398 if (!T21_) goto LA23_;
5399 T18_ = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 3);
5400 }
5401 goto LA19_;
5402 LA23_: ;
5403 {
5404 T18_ = ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1);
5405 }
5406 LA19_: ;
5407 store__nilcheck_2666(map, context, ((NI16) 0), T18_, ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 5), (*(*s).ast).info, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
5408 nimZeroMem((void*)(&res), sizeof(tyObject_Check__uKZb3vBzej9aQLORQ5CAgWQ));
5409 check__nilcheck_227(body, context, map, (&res));
5410 T26_ = (NI16)0;
5411 T26_ = low__nilcheck_9436((*res.map).history);
5412 T27_ = (NI16)0;
5413 T27_ = high__nilcheck_9444((*res.map).history);
5414 T28_ = dotdot___nilcheck_9461(T26_, T27_);
5415 canCheck = contains__nilcheck_9533(T28_, ((NI16) 0));
5416 {
5417 NIM_BOOL T31_;
5418 NIM_BOOL T32_;
5419 tySequence__RJ9cCbHDTKFvcxBv5qqeJbg** T35_;
5420 NI T36_;
5421 T31_ = (NIM_BOOL)0;
5422 T32_ = (NIM_BOOL)0;
5423 T32_ = (res.nilability == ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1));
5424 if (!(T32_)) goto LA33_;
5425 T32_ = canCheck;
5426 LA33_: ;
5427 T31_ = T32_;
5428 if (!(T31_)) goto LA34_;
5429 T35_ = (tySequence__RJ9cCbHDTKFvcxBv5qqeJbg**)0;
5430 T35_ = X5BX5D___nilcheck_1191((&(*res.map).history), ((NI16) 0));
5431 T36_ = ((*T35_) ? (*T35_)->Sup.len : 0);
5432 T31_ = (T36_ <= ((NI) 1));
5433 LA34_: ;
5434 if (!T31_) goto LA37_;
5435 store__nilcheck_2666(res.map, context, ((NI16) 0), ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1), ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 1), (*(*s).ast).info, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
5436 }
5437 goto LA29_;
5438 LA37_: ;
5439 {
5440 {
5441 if (!(res.nilability == ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1))) goto LA42_;
5442 store__nilcheck_2666(res.map, context, ((NI16) 0), ((tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA) 1), ((tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA) 1), (*(*s).ast).info, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
5443 }
5444 LA42_: ;
5445 }
5446 LA29_: ;
5447 {
5448 NIM_BOOL T46_;
5449 NIM_BOOL T47_;
5450 T46_ = (NIM_BOOL)0;
5451 T47_ = (NIM_BOOL)0;
5452 T47_ = !(((*(*s).typ).sons->data[((NI) 0)] == 0));
5453 if (!(T47_)) goto LA48_;
5454 T47_ = ((*(*(*s).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
5455 LA48_: ;
5456 T46_ = T47_;
5457 if (!(T46_)) goto LA49_;
5458 T46_ = (((*(*(*s).typ).sons->data[((NI) 0)]).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
5459 LA49_: ;
5460 if (!T46_) goto LA50_;
5461 checkResult__nilcheck_6927((*s).ast, context, res.map);
5462 }
5463 LA50_: ;
5464 }
N_NIMCALL(void,compiler_nilcheckDatInit000)5465 N_LIB_PRIVATE N_NIMCALL(void, compiler_nilcheckDatInit000)(void) {
5466 static TNimNode* TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_2_6[6];
5467 static TNimNode* TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_3_2[2];
5468 static TNimNode* TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_4_3[3];
5469 static TNimNode* TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_5_2[2];
5470 static TNimNode* TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_6_2[2];
5471 static TNimNode* TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_10_5[5];
5472 static TNimNode* TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_11_5[5];
5473 NI TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13;
5474 static char* NIM_CONST TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_12[5] = {
5475 "Parent",
5476 "Safe",
5477 "MaybeNil",
5478 "Nil",
5479 "Unreachable"};
5480 static TNimNode* TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_14_4[4];
5481 static TNimNode* TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_15_9[9];
5482 NI TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17;
5483 static char* NIM_CONST TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_16[9] = {
5484 "TArg",
5485 "TAssign",
5486 "TType",
5487 "TNil",
5488 "TVarArg",
5489 "TResult",
5490 "TSafe",
5491 "TPotentialAlias",
5492 "TDependant"};
5493 static TNimNode* TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_20_2[2];
5494 static TNimNode TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[50];
5495 NTInilcheckercontext58objecttype__FEwkSv10ehW9bMzwnvRrMwA_.size = sizeof(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA);
5496 NTInilcheckercontext58objecttype__FEwkSv10ehW9bMzwnvRrMwA_.align = NIM_ALIGNOF(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA);
5497 NTInilcheckercontext58objecttype__FEwkSv10ehW9bMzwnvRrMwA_.kind = 18;
5498 NTInilcheckercontext58objecttype__FEwkSv10ehW9bMzwnvRrMwA_.base = 0;
5499 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_2_6[0] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[1];
5500 NTItable__mx89bZoYrm9bEaZ0GUM1pBOw_.size = sizeof(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw);
5501 NTItable__mx89bZoYrm9bEaZ0GUM1pBOw_.align = NIM_ALIGNOF(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw);
5502 NTItable__mx89bZoYrm9bEaZ0GUM1pBOw_.kind = 18;
5503 NTItable__mx89bZoYrm9bEaZ0GUM1pBOw_.base = 0;
5504 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_3_2[0] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[3];
5505 NTIkeyvaluepair__X9bWVAqRSgByRpQwn6owzEA_.size = sizeof(tyTuple__X9bWVAqRSgByRpQwn6owzEA);
5506 NTIkeyvaluepair__X9bWVAqRSgByRpQwn6owzEA_.align = NIM_ALIGNOF(tyTuple__X9bWVAqRSgByRpQwn6owzEA);
5507 NTIkeyvaluepair__X9bWVAqRSgByRpQwn6owzEA_.kind = 18;
5508 NTIkeyvaluepair__X9bWVAqRSgByRpQwn6owzEA_.base = 0;
5509 NTIkeyvaluepair__X9bWVAqRSgByRpQwn6owzEA_.flags = 1;
5510 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_4_3[0] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[5];
5511 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[5].kind = 1;
5512 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[5].offset = offsetof(tyTuple__X9bWVAqRSgByRpQwn6owzEA, Field0);
5513 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[5].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5514 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[5].name = "Field0";
5515 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_4_3[1] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[6];
5516 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[6].kind = 1;
5517 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[6].offset = offsetof(tyTuple__X9bWVAqRSgByRpQwn6owzEA, Field1);
5518 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[6].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5519 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[6].name = "Field1";
5520 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_4_3[2] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[7];
5521 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[7].kind = 1;
5522 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[7].offset = offsetof(tyTuple__X9bWVAqRSgByRpQwn6owzEA, Field2);
5523 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[7].typ = (&NTIint4954__kDPg4wXyR8DDyA0MeEjIsw_);
5524 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[7].name = "Field2";
5525 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[4].len = 3; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[4].kind = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[4].sons = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_4_3[0];
5526 NTIkeyvaluepair__X9bWVAqRSgByRpQwn6owzEA_.node = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[4];
5527 NTIkeyvaluepairseq__dAjyAaabi52TN36Jp0fAXQ_.size = sizeof(tySequence__dAjyAaabi52TN36Jp0fAXQ*);
5528 NTIkeyvaluepairseq__dAjyAaabi52TN36Jp0fAXQ_.align = NIM_ALIGNOF(tySequence__dAjyAaabi52TN36Jp0fAXQ*);
5529 NTIkeyvaluepairseq__dAjyAaabi52TN36Jp0fAXQ_.kind = 24;
5530 NTIkeyvaluepairseq__dAjyAaabi52TN36Jp0fAXQ_.base = (&NTIkeyvaluepair__X9bWVAqRSgByRpQwn6owzEA_);
5531 NTIkeyvaluepairseq__dAjyAaabi52TN36Jp0fAXQ_.marker = Marker_tySequence__dAjyAaabi52TN36Jp0fAXQ;
5532 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[3].kind = 1;
5533 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[3].offset = offsetof(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw, data);
5534 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[3].typ = (&NTIkeyvaluepairseq__dAjyAaabi52TN36Jp0fAXQ_);
5535 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[3].name = "data";
5536 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_3_2[1] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[8];
5537 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[8].kind = 1;
5538 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[8].offset = offsetof(tyObject_Table__mx89bZoYrm9bEaZ0GUM1pBOw, counter);
5539 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[8].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5540 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[8].name = "counter";
5541 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[2].len = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[2].kind = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[2].sons = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_3_2[0];
5542 NTItable__mx89bZoYrm9bEaZ0GUM1pBOw_.node = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[2];
5543 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[1].kind = 1;
5544 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[1].offset = offsetof(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA, symbolIndices);
5545 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[1].typ = (&NTItable__mx89bZoYrm9bEaZ0GUM1pBOw_);
5546 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[1].name = "symbolIndices";
5547 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_2_6[1] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[9];
5548 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[9].kind = 1;
5549 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[9].offset = offsetof(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA, expressions);
5550 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[9].typ = (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_);
5551 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[9].name = "expressions";
5552 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_2_6[2] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[10];
5553 NTIseqLintsetT__0a6ZbC0zPSfUDYzqPnO68A_.size = sizeof(tySequence__0a6ZbC0zPSfUDYzqPnO68A*);
5554 NTIseqLintsetT__0a6ZbC0zPSfUDYzqPnO68A_.align = NIM_ALIGNOF(tySequence__0a6ZbC0zPSfUDYzqPnO68A*);
5555 NTIseqLintsetT__0a6ZbC0zPSfUDYzqPnO68A_.kind = 24;
5556 NTIseqLintsetT__0a6ZbC0zPSfUDYzqPnO68A_.base = (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_);
5557 NTIseqLintsetT__0a6ZbC0zPSfUDYzqPnO68A_.marker = Marker_tySequence__0a6ZbC0zPSfUDYzqPnO68A;
5558 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[10].kind = 1;
5559 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[10].offset = offsetof(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA, dependants);
5560 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[10].typ = (&NTIseqLintsetT__0a6ZbC0zPSfUDYzqPnO68A_);
5561 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[10].name = "dependants";
5562 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_2_6[3] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[11];
5563 NTIhashset__ylUTTG3LIabQ9bY9bfQ5vOwA_.size = sizeof(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA);
5564 NTIhashset__ylUTTG3LIabQ9bY9bfQ5vOwA_.align = NIM_ALIGNOF(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA);
5565 NTIhashset__ylUTTG3LIabQ9bY9bfQ5vOwA_.kind = 18;
5566 NTIhashset__ylUTTG3LIabQ9bY9bfQ5vOwA_.base = 0;
5567 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_5_2[0] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[13];
5568 NTIkeyvaluepair__n5CipyK3lOxrIaiLdb9bDLw_.size = sizeof(tyTuple__n5CipyK3lOxrIaiLdb9bDLw);
5569 NTIkeyvaluepair__n5CipyK3lOxrIaiLdb9bDLw_.align = NIM_ALIGNOF(tyTuple__n5CipyK3lOxrIaiLdb9bDLw);
5570 NTIkeyvaluepair__n5CipyK3lOxrIaiLdb9bDLw_.kind = 18;
5571 NTIkeyvaluepair__n5CipyK3lOxrIaiLdb9bDLw_.base = 0;
5572 NTIkeyvaluepair__n5CipyK3lOxrIaiLdb9bDLw_.flags = 1;
5573 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_6_2[0] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[15];
5574 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[15].kind = 1;
5575 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[15].offset = offsetof(tyTuple__n5CipyK3lOxrIaiLdb9bDLw, Field0);
5576 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[15].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5577 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[15].name = "Field0";
5578 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_6_2[1] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[16];
5579 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[16].kind = 1;
5580 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[16].offset = offsetof(tyTuple__n5CipyK3lOxrIaiLdb9bDLw, Field1);
5581 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[16].typ = (&NTItlineinfo__WGx4rAexNXnczy1Avn646Q_);
5582 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[16].name = "Field1";
5583 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[14].len = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[14].kind = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[14].sons = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_6_2[0];
5584 NTIkeyvaluepair__n5CipyK3lOxrIaiLdb9bDLw_.node = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[14];
5585 NTIkeyvaluepairseq__F43jf4nUkSAG8E9cfLj9aQoQ_.size = sizeof(tySequence__F43jf4nUkSAG8E9cfLj9aQoQ*);
5586 NTIkeyvaluepairseq__F43jf4nUkSAG8E9cfLj9aQoQ_.align = NIM_ALIGNOF(tySequence__F43jf4nUkSAG8E9cfLj9aQoQ*);
5587 NTIkeyvaluepairseq__F43jf4nUkSAG8E9cfLj9aQoQ_.kind = 24;
5588 NTIkeyvaluepairseq__F43jf4nUkSAG8E9cfLj9aQoQ_.base = (&NTIkeyvaluepair__n5CipyK3lOxrIaiLdb9bDLw_);
5589 NTIkeyvaluepairseq__F43jf4nUkSAG8E9cfLj9aQoQ_.marker = Marker_tySequence__F43jf4nUkSAG8E9cfLj9aQoQ;
5590 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[13].kind = 1;
5591 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[13].offset = offsetof(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA, data);
5592 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[13].typ = (&NTIkeyvaluepairseq__F43jf4nUkSAG8E9cfLj9aQoQ_);
5593 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[13].name = "data";
5594 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_5_2[1] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[17];
5595 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[17].kind = 1;
5596 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[17].offset = offsetof(tyObject_HashSet__ylUTTG3LIabQ9bY9bfQ5vOwA, counter);
5597 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[17].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
5598 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[17].name = "counter";
5599 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[12].len = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[12].kind = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[12].sons = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_5_2[0];
5600 NTIhashset__ylUTTG3LIabQ9bY9bfQ5vOwA_.node = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[12];
5601 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[11].kind = 1;
5602 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[11].offset = offsetof(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA, warningLocations);
5603 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[11].typ = (&NTIhashset__ylUTTG3LIabQ9bY9bfQ5vOwA_);
5604 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[11].name = "warningLocations";
5605 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_2_6[4] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[18];
5606 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[18].kind = 1;
5607 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[18].offset = offsetof(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA, idgen);
5608 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[18].typ = (&NTIidgenerator__9c0n61DB7aLyPcUMi5meUHQ_);
5609 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[18].name = "idgen";
5610 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_2_6[5] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[19];
5611 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[19].kind = 1;
5612 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[19].offset = offsetof(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA, config);
5613 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[19].typ = (&NTIconfigref__a8lycfSA25OQltN3OMeBsA_);
5614 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[19].name = "config";
5615 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[0].len = 6; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[0].kind = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[0].sons = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_2_6[0];
5616 NTInilcheckercontext58objecttype__FEwkSv10ehW9bMzwnvRrMwA_.node = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[0];
5617 NTInilcheckercontext__SHCn57BjQ6LjeAGfBicCFg_.size = sizeof(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA*);
5618 NTInilcheckercontext__SHCn57BjQ6LjeAGfBicCFg_.align = NIM_ALIGNOF(tyObject_NilCheckerContextcolonObjectType___FEwkSv10ehW9bMzwnvRrMwA*);
5619 NTInilcheckercontext__SHCn57BjQ6LjeAGfBicCFg_.kind = 22;
5620 NTInilcheckercontext__SHCn57BjQ6LjeAGfBicCFg_.base = (&NTInilcheckercontext58objecttype__FEwkSv10ehW9bMzwnvRrMwA_);
5621 NTInilcheckercontext__SHCn57BjQ6LjeAGfBicCFg_.marker = Marker_tyRef__SHCn57BjQ6LjeAGfBicCFg;
5622 NTInilmap58objecttype__7KTTiYJtXT6nWGm9adO9cEkw_.size = sizeof(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw);
5623 NTInilmap58objecttype__7KTTiYJtXT6nWGm9adO9cEkw_.align = NIM_ALIGNOF(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw);
5624 NTInilmap58objecttype__7KTTiYJtXT6nWGm9adO9cEkw_.kind = 18;
5625 NTInilmap58objecttype__7KTTiYJtXT6nWGm9adO9cEkw_.base = 0;
5626 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_10_5[0] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[21];
5627 NTInilability__9cN6FUkaUivSYPpqgb9cMQ9cA_.size = sizeof(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA);
5628 NTInilability__9cN6FUkaUivSYPpqgb9cMQ9cA_.align = NIM_ALIGNOF(tyEnum_Nilability__9cN6FUkaUivSYPpqgb9cMQ9cA);
5629 NTInilability__9cN6FUkaUivSYPpqgb9cMQ9cA_.kind = 14;
5630 NTInilability__9cN6FUkaUivSYPpqgb9cMQ9cA_.base = 0;
5631 NTInilability__9cN6FUkaUivSYPpqgb9cMQ9cA_.flags = 3;
5632 for (TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13 = 0; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13 < 5; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13++) {
5633 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13+22].kind = 1;
5634 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13+22].offset = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13;
5635 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13+22].name = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_12[TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13];
5636 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_11_5[TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_13+22];
5637 }
5638 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[27].len = 5; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[27].kind = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[27].sons = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_11_5[0];
5639 NTInilability__9cN6FUkaUivSYPpqgb9cMQ9cA_.node = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[27];
5640 NTIseqLnilabilityT__j9aEZ11m8pCmK2eRUFSgiOA_.size = sizeof(tySequence__j9aEZ11m8pCmK2eRUFSgiOA*);
5641 NTIseqLnilabilityT__j9aEZ11m8pCmK2eRUFSgiOA_.align = NIM_ALIGNOF(tySequence__j9aEZ11m8pCmK2eRUFSgiOA*);
5642 NTIseqLnilabilityT__j9aEZ11m8pCmK2eRUFSgiOA_.kind = 24;
5643 NTIseqLnilabilityT__j9aEZ11m8pCmK2eRUFSgiOA_.base = (&NTInilability__9cN6FUkaUivSYPpqgb9cMQ9cA_);
5644 NTIseqLnilabilityT__j9aEZ11m8pCmK2eRUFSgiOA_.marker = Marker_tySequence__j9aEZ11m8pCmK2eRUFSgiOA;
5645 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[21].kind = 1;
5646 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[21].offset = offsetof(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw, expressions);
5647 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[21].typ = (&NTIseqLnilabilityT__j9aEZ11m8pCmK2eRUFSgiOA_);
5648 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[21].name = "expressions";
5649 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_10_5[1] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[28];
5650 NTIhistory__HvSmlqGq2vKUejgLWJ9cFPA_.size = sizeof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA);
5651 NTIhistory__HvSmlqGq2vKUejgLWJ9cFPA_.align = NIM_ALIGNOF(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA);
5652 NTIhistory__HvSmlqGq2vKUejgLWJ9cFPA_.kind = 18;
5653 NTIhistory__HvSmlqGq2vKUejgLWJ9cFPA_.base = 0;
5654 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_14_4[0] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[30];
5655 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[30].kind = 1;
5656 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[30].offset = offsetof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA, info);
5657 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[30].typ = (&NTItlineinfo__WGx4rAexNXnczy1Avn646Q_);
5658 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[30].name = "info";
5659 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_14_4[1] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[31];
5660 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[31].kind = 1;
5661 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[31].offset = offsetof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA, nilability);
5662 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[31].typ = (&NTInilability__9cN6FUkaUivSYPpqgb9cMQ9cA_);
5663 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[31].name = "nilability";
5664 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_14_4[2] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[32];
5665 NTItransitionkind__1GzHwTVQ9aW4oTXg2LMytYA_.size = sizeof(tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA);
5666 NTItransitionkind__1GzHwTVQ9aW4oTXg2LMytYA_.align = NIM_ALIGNOF(tyEnum_TransitionKind__1GzHwTVQ9aW4oTXg2LMytYA);
5667 NTItransitionkind__1GzHwTVQ9aW4oTXg2LMytYA_.kind = 14;
5668 NTItransitionkind__1GzHwTVQ9aW4oTXg2LMytYA_.base = 0;
5669 NTItransitionkind__1GzHwTVQ9aW4oTXg2LMytYA_.flags = 3;
5670 for (TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17 = 0; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17 < 9; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17++) {
5671 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17+33].kind = 1;
5672 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17+33].offset = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17;
5673 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17+33].name = TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_16[TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17];
5674 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_15_9[TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_17+33];
5675 }
5676 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[42].len = 9; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[42].kind = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[42].sons = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_15_9[0];
5677 NTItransitionkind__1GzHwTVQ9aW4oTXg2LMytYA_.node = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[42];
5678 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[32].kind = 1;
5679 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[32].offset = offsetof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA, kind);
5680 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[32].typ = (&NTItransitionkind__1GzHwTVQ9aW4oTXg2LMytYA_);
5681 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[32].name = "kind";
5682 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_14_4[3] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[43];
5683 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[43].kind = 1;
5684 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[43].offset = offsetof(tyObject_History__HvSmlqGq2vKUejgLWJ9cFPA, node);
5685 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[43].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
5686 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[43].name = "node";
5687 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[29].len = 4; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[29].kind = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[29].sons = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_14_4[0];
5688 NTIhistory__HvSmlqGq2vKUejgLWJ9cFPA_.node = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[29];
5689 NTIseqLhistoryT__RJ9cCbHDTKFvcxBv5qqeJbg_.size = sizeof(tySequence__RJ9cCbHDTKFvcxBv5qqeJbg*);
5690 NTIseqLhistoryT__RJ9cCbHDTKFvcxBv5qqeJbg_.align = NIM_ALIGNOF(tySequence__RJ9cCbHDTKFvcxBv5qqeJbg*);
5691 NTIseqLhistoryT__RJ9cCbHDTKFvcxBv5qqeJbg_.kind = 24;
5692 NTIseqLhistoryT__RJ9cCbHDTKFvcxBv5qqeJbg_.base = (&NTIhistory__HvSmlqGq2vKUejgLWJ9cFPA_);
5693 NTIseqLhistoryT__RJ9cCbHDTKFvcxBv5qqeJbg_.marker = Marker_tySequence__RJ9cCbHDTKFvcxBv5qqeJbg;
5694 NTIseqLseqLhistoryTT__tFZSZSomBEZ9bmg1CrY7ojA_.size = sizeof(tySequence__tFZSZSomBEZ9bmg1CrY7ojA*);
5695 NTIseqLseqLhistoryTT__tFZSZSomBEZ9bmg1CrY7ojA_.align = NIM_ALIGNOF(tySequence__tFZSZSomBEZ9bmg1CrY7ojA*);
5696 NTIseqLseqLhistoryTT__tFZSZSomBEZ9bmg1CrY7ojA_.kind = 24;
5697 NTIseqLseqLhistoryTT__tFZSZSomBEZ9bmg1CrY7ojA_.base = (&NTIseqLhistoryT__RJ9cCbHDTKFvcxBv5qqeJbg_);
5698 NTIseqLseqLhistoryTT__tFZSZSomBEZ9bmg1CrY7ojA_.marker = Marker_tySequence__tFZSZSomBEZ9bmg1CrY7ojA;
5699 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[28].kind = 1;
5700 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[28].offset = offsetof(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw, history);
5701 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[28].typ = (&NTIseqLseqLhistoryTT__tFZSZSomBEZ9bmg1CrY7ojA_);
5702 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[28].name = "history";
5703 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_10_5[2] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[44];
5704 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[44].kind = 1;
5705 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[44].offset = offsetof(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw, setIndices);
5706 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[44].typ = (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_);
5707 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[44].name = "setIndices";
5708 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_10_5[3] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[45];
5709 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[45].kind = 1;
5710 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[45].offset = offsetof(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw, sets);
5711 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[45].typ = (&NTIseqLintsetT__0a6ZbC0zPSfUDYzqPnO68A_);
5712 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[45].name = "sets";
5713 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_10_5[4] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[46];
5714 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[46].kind = 1;
5715 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[46].offset = offsetof(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw, parent);
5716 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[46].typ = (&NTInilmap__jS25SPRyK4NElao6fMJSpg_);
5717 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[46].name = "parent";
5718 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[20].len = 5; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[20].kind = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[20].sons = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_10_5[0];
5719 NTInilmap58objecttype__7KTTiYJtXT6nWGm9adO9cEkw_.node = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[20];
5720 NTInilmap__jS25SPRyK4NElao6fMJSpg_.size = sizeof(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*);
5721 NTInilmap__jS25SPRyK4NElao6fMJSpg_.align = NIM_ALIGNOF(tyObject_NilMapcolonObjectType___7KTTiYJtXT6nWGm9adO9cEkw*);
5722 NTInilmap__jS25SPRyK4NElao6fMJSpg_.kind = 22;
5723 NTInilmap__jS25SPRyK4NElao6fMJSpg_.base = (&NTInilmap58objecttype__7KTTiYJtXT6nWGm9adO9cEkw_);
5724 NTInilmap__jS25SPRyK4NElao6fMJSpg_.marker = Marker_tyRef__jS25SPRyK4NElao6fMJSpg;
5725 NTILpnode_nilabilityT__KYzEow2par19cjmb9bTX4xkg_.size = sizeof(tyTuple__KYzEow2par19cjmb9bTX4xkg);
5726 NTILpnode_nilabilityT__KYzEow2par19cjmb9bTX4xkg_.align = NIM_ALIGNOF(tyTuple__KYzEow2par19cjmb9bTX4xkg);
5727 NTILpnode_nilabilityT__KYzEow2par19cjmb9bTX4xkg_.kind = 18;
5728 NTILpnode_nilabilityT__KYzEow2par19cjmb9bTX4xkg_.base = 0;
5729 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_20_2[0] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[48];
5730 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[48].kind = 1;
5731 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[48].offset = offsetof(tyTuple__KYzEow2par19cjmb9bTX4xkg, Field0);
5732 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[48].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
5733 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[48].name = "Field0";
5734 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_20_2[1] = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[49];
5735 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[49].kind = 1;
5736 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[49].offset = offsetof(tyTuple__KYzEow2par19cjmb9bTX4xkg, Field1);
5737 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[49].typ = (&NTInilability__9cN6FUkaUivSYPpqgb9cMQ9cA_);
5738 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[49].name = "Field1";
5739 TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[47].len = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[47].kind = 2; TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[47].sons = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_20_2[0];
5740 NTILpnode_nilabilityT__KYzEow2par19cjmb9bTX4xkg_.node = &TM__GuNhuT9bb9aEQwZE9af6i1N9bQ_0[47];
5741 NTIseqLLpnode_nilabilityTT__sHfymmN9aVTQTLnu1B0wi3w_.size = sizeof(tySequence__sHfymmN9aVTQTLnu1B0wi3w*);
5742 NTIseqLLpnode_nilabilityTT__sHfymmN9aVTQTLnu1B0wi3w_.align = NIM_ALIGNOF(tySequence__sHfymmN9aVTQTLnu1B0wi3w*);
5743 NTIseqLLpnode_nilabilityTT__sHfymmN9aVTQTLnu1B0wi3w_.kind = 24;
5744 NTIseqLLpnode_nilabilityTT__sHfymmN9aVTQTLnu1B0wi3w_.base = (&NTILpnode_nilabilityT__KYzEow2par19cjmb9bTX4xkg_);
5745 NTIseqLLpnode_nilabilityTT__sHfymmN9aVTQTLnu1B0wi3w_.marker = Marker_tySequence__sHfymmN9aVTQTLnu1B0wi3w;
5746 }
5747
5748