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 #include <setjmp.h>
8 #undef LANGUAGE_C
9 #undef MIPSEB
10 #undef MIPSEL
11 #undef PPC
12 #undef R3000
13 #undef R4000
14 #undef i386
15 #undef linux
16 #undef mips
17 #undef near
18 #undef far
19 #undef powerpc
20 #undef unix
21 #define nimfr_(x, y)
22 #define nimln_(x, y)
23 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
24 typedef struct tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg;
25 typedef struct tySequence__8Np6tlClE5az1CyqZdN19bQ tySequence__8Np6tlClE5az1CyqZdN19bQ;
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 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
32 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
33 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
34 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
35 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
36 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
37 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
38 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
39 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
40 typedef struct TGenericSeq TGenericSeq;
41 typedef struct NimStringDesc NimStringDesc;
42 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
43 typedef struct tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw;
44 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
45 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
46 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
47 typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
48 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
49 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
50 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
51 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
52 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
53 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
54 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
55 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
56 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
57 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
58 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
59 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
60 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
61 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
62 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
63 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
64 typedef struct tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA;
65 typedef struct Exception Exception;
66 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
67 typedef struct TSafePoint TSafePoint;
68 typedef struct tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw;
69 typedef struct tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA;
70 typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
71 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
72 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
73 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
74 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
75 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
76 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
77 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
78 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
79 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
80 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
81 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
82 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
83 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
84 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
85 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
86 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
87 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
88 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
89 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
90 typedef struct tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA;
91 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
92 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
93 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
94 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
95 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
96 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
97 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
98 typedef NU8 tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg;
99 struct tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg {
100 tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg cmp;
101 NI recCheck;
102 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags;
103 tySequence__8Np6tlClE5az1CyqZdN19bQ* s;
104 };
105 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
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_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
133 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
134 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
135 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
136 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
137 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
138 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
139 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
140 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
141 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
142 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
143 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
144 };
145 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
146 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
147 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
148 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
149 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
150 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
151 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
152 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
153 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
154 NI64 size;
155 NI16 align;
156 NI16 paddingAtEnd;
157 NI16 lockLevel;
158 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
159 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
160 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
161 };
162 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
163 typedef NU8 tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
164 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
165 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
166 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
167 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
168 NU16 line;
169 NI16 col;
170 NI32 fileIndex;
171 };
172 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
173 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
174 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
175 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
176 union{
177 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
178 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
179 } _kind_1;
180 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
181 NI bitsize;
182 NI alignment;
183 } _kind_2;
184 };
185 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
186 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
187 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
188 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
189 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
190 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
191 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
192 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
193 NI position;
194 NI offset;
195 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
196 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
197 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
198 };
199 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
200 NI Field0;
201 NI Field1;
202 };
203 struct TGenericSeq {
204 NI len;
205 NI reserved;
206 };
207 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
208 struct TNimNode {
209 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
210 NI offset;
211 TNimType* typ;
212 NCSTRING name;
213 NI len;
214 TNimNode** sons;
215 };
216 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
217 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
218 struct NimStringDesc {
219 TGenericSeq Sup;
220 NIM_CHAR data[SEQ_DECL_SIZE];
221 };
222 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
223 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
224 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
225 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
226 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
227 union{
228 struct {NI64 intVal;
229 } _kind_1;
230 struct {NF floatVal;
231 } _kind_2;
232 struct {NimStringDesc* strVal;
233 } _kind_3;
234 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
235 } _kind_4;
236 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
237 } _kind_5;
238 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
239 } _kind_6;
240 };
241 };
242 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
243 NI id;
244 NimStringDesc* s;
245 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
246 NI h;
247 };
248 typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
249 struct tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw {
250 RootObj Sup;
251 NI colonstate_;
252 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw preferToplevel1;
253 };
254 typedef struct {
255 N_NIMCALL_PTR(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw, ClP_0) (tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, void* ClE_0);
256 void* ClE_0;
257 } tyProc__3iD0yymxvVOS8ZW9aQRe2MA;
258 typedef N_CLOSURE_PTR(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw, TM__PpBJsMJcrcWrpLTS6mci1g_10) (tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
259 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
260 typedef struct {
261 N_NIMCALL_PTR(NimStringDesc*, ClP_0) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, void* ClE_0);
262 void* ClE_0;
263 } tyProc__QZr2s9cqtiNBm1DLTkzxDcw;
264 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_13) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
265 typedef NimStringDesc* tyArray__bbp1aDajeunm5PPjRzxB3A[65];
266 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_79) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
267 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_80) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
268 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_85) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
269 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_88) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
270 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_90) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
271 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_91) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
272 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_92) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
273 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_95) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
274 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
275 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_98) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
276 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_100) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
277 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_111) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
278 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_113) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
279 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_115) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
280 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_116) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
281 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_118) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
282 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_120) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
283 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_125) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
284 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_126) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
285 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_127) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
286 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_129) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
287 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_130) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
288 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_132) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
289 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_133) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
290 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_134) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
291 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_136) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
292 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_137) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
293 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_139) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
294 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_141) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
295 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_143) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
296 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_144) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
297 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_146) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
298 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_153) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
299 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_154) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
300 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_160) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
301 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_162) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
302 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_164) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
303 typedef N_CLOSURE_PTR(NimStringDesc*, TM__PpBJsMJcrcWrpLTS6mci1g_165) (tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
304 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__X59agDExDRW5s9cLoKvjr83g) (tyObject_TType__facALICuu8zUj0hjvbTLFg* t, RootObj* closure);
305 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
306 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
307 NI elems;
308 NI counter;
309 NI max;
310 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
311 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
312 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
313 };
314 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
315 struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
316 tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
317 };
318 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
319 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
320 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
321 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
322 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
323 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
324 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
325 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
326 NI intSize;
327 NI floatSize;
328 NI ptrSize;
329 NimStringDesc* tnl;
330 };
331 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
332 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
333 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
334 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
335 NI counter;
336 };
337 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
338 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
339 NIM_BOOL trackPosAttached;
340 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
341 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
342 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
343 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
344 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
345 NI32 systemFileIdx;
346 };
347 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
348 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
349 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
350 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
351 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
352 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
353 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
354 NI counter;
355 };
356 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
357 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
358 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
359 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
360 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
361 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
362 NI Field0;
363 NI Field1;
364 NI Field2;
365 };
366 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
367 typedef struct {
368 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
369 void* ClE_0;
370 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
371 typedef struct {
372 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
373 void* ClE_0;
374 } tyProc__k2HFjxisIgDALbEUFojxaQ;
375 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
376 typedef struct {
377 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
378 void* ClE_0;
379 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
380 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
381 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
382 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
383 NI linesCompiled;
384 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
385 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
386 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
387 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
388 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
389 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
390 NimStringDesc* unitSep;
391 NI evalTemplateCounter;
392 NI evalMacroCounter;
393 NI8 exitcode;
394 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
395 NimStringDesc* cmdInput;
396 NIM_BOOL projectIsCmd;
397 NIM_BOOL implicitCmd;
398 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
399 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
400 NIM_BOOL hintProcessingDots;
401 NI verbosity;
402 NI numberOfProcessors;
403 NF lastCmdTime;
404 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
405 NI spellSuggestMax;
406 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
407 NimStringDesc* headerFile;
408 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
409 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
410 NimStringDesc* arguments;
411 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
412 NIM_BOOL oldNewlines;
413 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
414 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
415 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
416 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
417 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
418 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
419 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
420 NI mainPackageId;
421 NI errorCounter;
422 NI hintCounter;
423 NI warnCounter;
424 NI errorMax;
425 NI maxLoopIterationsVM;
426 NIM_BOOL isVmTrace;
427 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
428 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
429 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
430 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
431 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
432 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
433 NimStringDesc* outFile;
434 NimStringDesc* outDir;
435 NimStringDesc* jsonBuildFile;
436 NimStringDesc* prefixDir;
437 NimStringDesc* libpath;
438 NimStringDesc* nimcacheDir;
439 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
440 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
441 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
442 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
443 NimStringDesc* projectName;
444 NimStringDesc* projectPath;
445 NimStringDesc* projectFull;
446 NIM_BOOL projectIsStdin;
447 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
448 NI32 projectMainIdx;
449 NI32 projectMainIdx2;
450 NimStringDesc* command;
451 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
452 NimStringDesc* commandLine;
453 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
454 NIM_BOOL keepComments;
455 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
456 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
457 NimStringDesc* docSeeSrcUrl;
458 NimStringDesc* docRoot;
459 NimStringDesc* docCmd;
460 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
461 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
462 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
463 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
464 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
465 NimStringDesc* linkOptionsCmd;
466 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
467 NimStringDesc* linkOptions;
468 NimStringDesc* compileOptions;
469 NimStringDesc* cCompilerPath;
470 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
471 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
472 NI suggestVersion;
473 NI suggestMaxResults;
474 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
475 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
476 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
477 NimStringDesc* cppCustomNamespace;
478 NimStringDesc* nimMainPrefix;
479 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
480 };
481 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
482 NimStringDesc* Field0;
483 NI Field1;
484 NI Field2;
485 };
486 typedef NU8 tySet_tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA;
487 typedef NU8 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw;
488 struct tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA {
489 tySet_tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA Field0;
490 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw Field1;
491 };
492 typedef NU8 tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA;
493 typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
494 typedef NU8 tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ;
495 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__NbBRo5rVxVVQby3QsoZkZQ) (tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
496 struct Exception {
497 RootObj Sup;
498 Exception* parent;
499 NCSTRING name;
500 NimStringDesc* message;
501 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
502 Exception* up;
503 };
504 struct TSafePoint {
505 TSafePoint* prev;
506 NI status;
507 jmp_buf context;
508 };
509 struct tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw {
510 NI maxAlign;
511 NI offset;
512 };
513 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
514 Exception Sup;
515 };
516 struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
517 tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
518 };
519 struct tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA {
520 tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw Sup;
521 };
522 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
523 NI refcount;
524 TNimType* typ;
525 };
526 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
527 void* bottom;
528 };
529 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
530 NI len;
531 NI cap;
532 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
533 };
534 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
535 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
536 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
537 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
538 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
539 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
540 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
541 };
542 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
543 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
544 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
545 NI key;
546 NI upperBound;
547 NI level;
548 };
549 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
550 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
551 NI Field1;
552 };
553 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
554 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
555 NI len;
556 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
557 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
558 };
559 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
560 NI minLargeObj;
561 NI maxLargeObj;
562 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
563 NU32 flBitmap;
564 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
565 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
566 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
567 NI currMem;
568 NI maxMem;
569 NI freeMem;
570 NI occ;
571 NI lastSize;
572 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
573 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
574 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
575 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
576 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
577 NIM_BOOL locked;
578 NIM_BOOL blockChunkSizeIncrease;
579 NI nextChunkSize;
580 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
581 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
582 };
583 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
584 NI stackScans;
585 NI cycleCollections;
586 NI maxThreshold;
587 NI maxStackSize;
588 NI maxStackCells;
589 NI cycleTableSize;
590 NI64 maxPause;
591 };
592 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
593 NI counter;
594 NI max;
595 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
596 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
597 };
598 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
599 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
600 NI cycleThreshold;
601 NI zctThreshold;
602 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
603 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
604 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
605 NI recGcLock;
606 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
607 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
608 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
609 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
610 NI gcThreadId;
611 };
612 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
613 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
614 typedef NU8 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng;
615 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
616 NI32 module;
617 NI32 symId;
618 NI32 typeId_0;
619 NIM_BOOL sealed;
620 };
621 typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
622 struct tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA {
623 NF a;
624 NF b;
625 };
626 typedef NU8 tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ;
627 typedef NU tyArray__cC4ce9cdvDKtIpar5g9cDejA[16];
628 struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA {
629 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* next;
630 NI key;
631 tyArray__cC4ce9cdvDKtIpar5g9cDejA bits;
632 };
633 typedef NU8 tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw;
634 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
635 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
636 NimStringDesc* Field1;
637 };
638 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
639 NI Field0;
640 NimStringDesc* Field1;
641 NI32 Field2;
642 };
643 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
644 NimStringDesc* fullPath;
645 NimStringDesc* projPath;
646 NimStringDesc* shortName;
647 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
648 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
649 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
650 NimStringDesc* dirtyFile;
651 NimStringDesc* hash;
652 NIM_BOOL dirty;
653 };
654 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
655 NI Field0;
656 NimStringDesc* Field1;
657 };
658 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
659 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
660 NimStringDesc* nimname;
661 NimStringDesc* cname;
662 NimStringDesc* obj;
663 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
664 NimStringDesc* customArgs;
665 };
666 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
667 NCSTRING procname;
668 NI line;
669 NCSTRING filename;
670 };
671 struct tySequence__8Np6tlClE5az1CyqZdN19bQ {
672 TGenericSeq Sup;
673 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ data[SEQ_DECL_SIZE];
674 };
675 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
676 TGenericSeq Sup;
677 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
678 };
679 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
680 TGenericSeq Sup;
681 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
682 };
683 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
684 TGenericSeq Sup;
685 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
686 };
687 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
688 TGenericSeq Sup;
689 tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
690 };
691 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
692 TGenericSeq Sup;
693 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
694 };
695 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
696 TGenericSeq Sup;
697 tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
698 };
699 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
700 TGenericSeq Sup;
701 tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
702 };
703 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
704 TGenericSeq Sup;
705 NimStringDesc* data[SEQ_DECL_SIZE];
706 };
707 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
708 TGenericSeq Sup;
709 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
710 };
711 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
712 TGenericSeq Sup;
713 tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
714 };
715 static N_INLINE(void, nimZeroMem)(void* p, NI size);
716 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
717 N_LIB_PRIVATE N_NIMCALL(void, initSameTypeClosure__types_1690)(tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* Result);
718 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
719 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeAux__types_1794)(tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c);
720 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
721 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
722 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericAlias__types_2210)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
723 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericAlias__types_2196)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
724 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
725 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, base__types_63)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
726 static N_INLINE(NIM_BOOL, sameFlags__types_2216)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
727 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_56)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, NIM_BOOL strictSymEquality);
728 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__types_1692)(tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
729 static N_INLINE(NIM_BOOL, contains__types_1713)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ* a, NI aLen_0, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ item);
730 static N_INLINE(NI, find__types_1718)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ* a, NI aLen_0, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ item);
731 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___types_1737)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y);
732 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
733 static N_NIMCALL(void, Marker_tySequence__8Np6tlClE5az1CyqZdN19bQ)(void* p, NI op);
734 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectStructures__types_2154)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c);
735 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeOrNilAux__types_1798)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c);
736 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectTree__types_2103)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c);
737 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
738 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
739 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
740 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
741 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTuple__types_1956)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c);
742 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameChildrenAux__types_2175)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c);
743 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstraints__types_1889)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
744 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameValue__astalgo_119)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
745 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectTypes__types_2038)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
746 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1815)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
747 static N_NIMCALL(void, Marker_tyRef__ik3gfZ9aJJHPxASsunXJrEA)(void* p, NI op);
748 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
749 N_LIB_PRIVATE N_CLOSURE(NimStringDesc*, typeToString__types_919)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, void* ClE_0);
750 N_LIB_PRIVATE N_CLOSURE(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw, getPrefer__types_902)(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, void* ClE_0);
751 static N_INLINE(NIM_BOOL, isIntLit__types_186)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
752 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
753 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
754 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
755 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_6)(NI64 x);
756 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
757 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
758 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
759 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
760 static N_INLINE(void, addTypeFlags__types_890)(NimStringDesc** name, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
761 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
762 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
763 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rangeToStr__types_862)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
764 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, valueToString__types_856)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
765 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___system_3118)(NF x);
766 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
767 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
768 static N_INLINE(void, addSep__pureZstrutils_1337)(NimStringDesc** dest, NimStringDesc* sep, NI startLen);
769 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___ast_3858)(NI16 x);
770 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
771 N_LIB_PRIVATE N_NIMCALL(NI, inheritanceDiff__types_2676)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
772 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
773 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, iterOverType__types_81)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyProc__X59agDExDRW5s9cLoKvjr83g iter, RootObj* closure);
774 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
775 N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
776 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, iterOverTypeAux__types_323)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyProc__X59agDExDRW5s9cLoKvjr83g iter, RootObj* closure);
777 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
778 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, iterOverNode__types_328)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyProc__X59agDExDRW5s9cLoKvjr83g iter, RootObj* closure);
779 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericTypeIter__types_3331)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, RootObj* closure);
780 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, enumHasHoles__types_287)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
781 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_299)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowEnumWithHoles);
782 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
783 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getOrdValue__types_161)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Int128__9a9axPfb75jdWY25AamJewkA onError);
784 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toInt128__int495056_556)(NU64 arg);
785 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toInt128__int495056_725)(NI64 arg);
786 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toInt128__types_1378)(NI arg);
787 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
788 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toInt128__types_1469)(NU arg);
789 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lastOrd__types_1465)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
790 N_LIB_PRIVATE N_NIMCALL(NF, getFloatValue__types_182)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
791 N_LIB_PRIVATE N_NIMCALL(NF, firstFloat__types_1440)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
792 N_LIB_PRIVATE N_NIMCALL(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*, newPartialConfigRef__options_2497)(void);
793 N_LIB_PRIVATE N_NIMCALL(NF, lastFloat__types_1579)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
794 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1652)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
795 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, plus___int495056_448)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
796 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, minus___int495056_474)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
797 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compatibleEffectsAux__types_3395)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* se, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* re);
798 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
799 N_LIB_PRIVATE N_NIMCALL(NI, safeInheritanceDiff__types_3383)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
800 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyContainer__types_3617)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
801 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
802 N_LIB_PRIVATE N_NIMCALL(void, addDeclaredLoc__astmsgs_17)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
803 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canFormAcycleAux__types_661)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, NI startId);
804 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canFormAcycleNode__types_665)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI startId);
805 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isPureObject__types_132)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
806 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeForAux__types_393)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyProc__NbBRo5rVxVVQby3QsoZkZQ predicate, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker);
807 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeNodeForAux__types_397)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyProc__NbBRo5rVxVVQby3QsoZkZQ p, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker);
808 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
809 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeFor__types_470)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyProc__NbBRo5rVxVVQby3QsoZkZQ predicate);
810 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGCRef__types_589)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
811 N_LIB_PRIVATE N_NIMCALL(void, computeSizeAlign__types_2915)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
812 static N_INLINE(void, pushSafePoint)(TSafePoint* s);
813 static N_INLINE(void, popSafePoint)(void);
814 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___int495056_721)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
815 N_LIB_PRIVATE N_NIMCALL(NI64, toInt64Checked__int495056_103)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg, NI64 onError);
816 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, star___int495056_514)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI32 b);
817 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___int495056_305)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
818 N_LIB_PRIVATE N_NIMCALL(NI64, toInt64__int495056_88)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
819 N_LIB_PRIVATE N_NIMCALL(NI16, floatInt64Align__options_4700)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
820 N_LIB_PRIVATE N_NIMCALL(NI64, align__types_2855)(NI64 address, NI64 alignment);
821 N_LIB_PRIVATE N_NIMCALL(void, align__types_2902)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg, NI value);
822 N_LIB_PRIVATE N_NIMCALL(void, raiseIllegalTypeRecursion__types_2868)(void);
823 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
824 static N_NIMCALL(void, Marker_tyRef__SFgbIvdx8bC9cxnXgi8Zn1A)(void* p, NI op);
825 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
826 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
827 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
828 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
829 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
830 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
831 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5285)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
832 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr);
833 static N_INLINE(void, asgnRef)(void** dest, void* src);
834 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
835 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
836 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
837 N_LIB_PRIVATE N_NIMCALL(NI, align__types_2859)(NI address, NI alignment);
838 N_LIB_PRIVATE N_NIMCALL(void, inc__types_2891)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg, NI value);
839 N_LIB_PRIVATE N_NIMCALL(NI, finish__types_2908)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg);
840 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
841 static N_INLINE(Exception*, nimBorrowCurrentException)(void);
842 static N_INLINE(void, popCurrentException)(void);
843 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
844 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObjectWithTypeFieldPredicate__types_485)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
845 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);
846 N_LIB_PRIVATE N_NIMCALL(void, computeUnionObjectOffsetsFoldFunction__types_3058)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL packed_0, tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* accum);
847 N_LIB_PRIVATE N_NIMCALL(void, mergeBranch__types_2905)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg, tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw value);
848 N_LIB_PRIVATE N_NIMCALL(void, computeObjectOffsetsFoldFunction__types_2985)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL packed_0, tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* accum);
849 N_LIB_PRIVATE N_NIMCALL(NI64, computeSubObjectAlign__types_2918)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
850 N_LIB_PRIVATE N_NIMCALL(NI, alignmentMax__types_2898)(NI a, NI b);
851 N_LIB_PRIVATE N_NIMCALL(void, setOffsetsToUnknown__types_2969)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
852 N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
853 N_LIB_PRIVATE N_NIMCALL(tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng, classify__types_3572)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
854 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, copyType__ast_4046)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
855 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
856 N_LIB_PRIVATE N_NIMCALL(void, copyTypeProps__modulegraphs_8872)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module, tyObject_TType__facALICuu8zUj0hjvbTLFg* dest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src);
857 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_2279)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* symbol);
858 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
859 N_LIB_PRIVATE N_NIMCALL(void, addDeclaredLoc__astmsgs_33)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
860 N_LIB_PRIVATE N_NIMCALL(void, addPragmaAndCallConvMismatch__types_3786)(NimStringDesc** message, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
861 N_LIB_PRIVATE N_NIMCALL(tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA, getProcConvMismatch__types_3686)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw rel);
862 N_LIB_PRIVATE N_NIMCALL(tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ, compatibleEffects__types_3416)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
863 static N_INLINE(NIM_BOOL, contains__types_1638)(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA s, NF value);
864 static N_INLINE(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA, dotdot___types_1608)(NF a, NF b);
865 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, floatRangeCheck__types_1604)(NF x, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
866 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, takeType__types_3633)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* arg, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
867 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
868 N_LIB_PRIVATE N_NIMCALL(tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ, equalParam__types_1856)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b);
869 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeOrNil__types_1839)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
870 N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
871 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3496)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
872 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTyRef__types_633)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
873 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_759)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
874 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
875 static N_INLINE(NI, nextTry__stdZpackedsets_41)(NI h, NI maxHash, NI* perturb);
876 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3588)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
877 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTupleRecursive__types_3893)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* cycleDetector);
878 N_LIB_PRIVATE N_NIMCALL(void, assign__types_3920)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* src);
879 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupInRecord__astalgo_84)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* field);
880 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw, analyseObjectWithTypeFieldAux__types_520)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker);
881 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isHiddenPointer__types_651)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
882 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__PpBJsMJcrcWrpLTS6mci1g_2 = {
883 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
884 0x00}
885 ;
886 N_LIB_PRIVATE TNimType NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_;
887 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
888 N_LIB_PRIVATE TNimType NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_;
889 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__PpBJsMJcrcWrpLTS6mci1g_4 = {
890 0x10, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
891 0x00}
892 ;
893 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__PpBJsMJcrcWrpLTS6mci1g_5 = {
894 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
895 0x00}
896 ;
897 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
898 N_LIB_PRIVATE TNimType NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_;
899 extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
900 N_LIB_PRIVATE TNimType NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_;
901 N_LIB_PRIVATE TNimType NTIrefobject__ik3gfZ9aJJHPxASsunXJrEA_;
902 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_11, " literal(", 9);
903 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_12, ")", 1);
904 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_14, "None", 4);
905 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_15, "bool", 4);
906 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_16, "char", 4);
907 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_17, "empty", 5);
908 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_18, "Alias", 5);
909 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_19, "typeof(nil)", 11);
910 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_20, "untyped", 7);
911 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_21, "typed", 5);
912 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_22, "typeDesc", 8);
913 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_23, "GenericInvocation", 17);
914 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_24, "GenericBody", 11);
915 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_25, "GenericInst", 11);
916 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_26, "GenericParam", 12);
917 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_27, "distinct $1", 11);
918 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_28, "enum", 4);
919 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_29, "ordinal[$1]", 11);
920 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_30, "array[$1, $2]", 13);
921 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_31, "object", 6);
922 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_32, "tuple", 5);
923 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_33, "set[$1]", 7);
924 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_34, "range[$1]", 9);
925 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_35, "ptr ", 4);
926 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_36, "ref ", 4);
927 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_37, "var ", 4);
928 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_38, "seq[$1]", 7);
929 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_39, "proc", 4);
930 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_40, "pointer", 7);
931 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_41, "OpenArray[$1]", 13);
932 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_42, "string", 6);
933 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_43, "cstring", 7);
934 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_44, "Forward", 7);
935 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_45, "int", 3);
936 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_46, "int8", 4);
937 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_47, "int16", 5);
938 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_48, "int32", 5);
939 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_49, "int64", 5);
940 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_50, "float", 5);
941 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_51, "float32", 7);
942 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_52, "float64", 7);
943 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_53, "float128", 8);
944 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_54, "uint", 4);
945 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_55, "uint8", 5);
946 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_56, "uint16", 6);
947 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_57, "uint32", 6);
948 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_58, "uint64", 6);
949 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_59, "owned", 5);
950 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_60, "sink", 4);
951 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_61, "lent ", 5);
952 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_62, "varargs[$1]", 11);
953 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_63, "UncheckedArray[$1]", 18);
954 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_64, "Error Type", 10);
955 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_65, "BuiltInTypeClass", 16);
956 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_66, "UserTypeClass", 13);
957 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_67, "UserTypeClassInst", 17);
958 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_68, "CompositeTypeClass", 18);
959 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_69, "inferred", 8);
960 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_70, "and", 3);
961 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_71, "or", 2);
962 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_72, "not", 3);
963 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_73, "any", 3);
964 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_74, "static", 6);
965 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_75, "TypeFromExpr", 12);
966 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_76, "concept", 7);
967 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_77, "void", 4);
968 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_78, "iterable", 8);
969 N_LIB_PRIVATE NIM_CONST tyArray__bbp1aDajeunm5PPjRzxB3A typeToStr__types_874 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_14),
970 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_15),
971 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_16),
972 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_17),
973 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_18),
974 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_19),
975 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_20),
976 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_21),
977 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_22),
978 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_23),
979 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_24),
980 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_25),
981 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_26),
982 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_27),
983 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_28),
984 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_29),
985 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_30),
986 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_31),
987 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_32),
988 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_33),
989 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_34),
990 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_35),
991 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_36),
992 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_37),
993 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_38),
994 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_39),
995 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_40),
996 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_41),
997 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_42),
998 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_43),
999 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_44),
1000 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_45),
1001 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_46),
1002 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_47),
1003 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_48),
1004 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_49),
1005 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_50),
1006 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_51),
1007 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_52),
1008 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_53),
1009 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_54),
1010 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_55),
1011 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_56),
1012 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_57),
1013 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_58),
1014 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_59),
1015 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_60),
1016 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_61),
1017 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_62),
1018 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_63),
1019 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_64),
1020 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_65),
1021 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_66),
1022 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_67),
1023 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_68),
1024 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_69),
1025 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_70),
1026 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_71),
1027 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_72),
1028 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_73),
1029 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_74),
1030 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_75),
1031 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_76),
1032 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_77),
1033 ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_78)}
1034 ;
1035 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_81, "{", 1);
1036 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_82, "}", 1);
1037 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_83, ": ", 2);
1038 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_84, " or ", 4);
1039 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_86, " not nil", 8);
1040 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_87, "int literal(", 12);
1041 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_89, ", ", 2);
1042 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_93, "typedesc", 8);
1043 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_94, "typedesc[", 9);
1044 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_96, "]", 1);
1045 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_97, "static[", 7);
1046 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_99, "(", 1);
1047 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_101, "<invalid tyUserTypeClass>", 25);
1048 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_102, "var", 3);
1049 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_103, "ref", 3);
1050 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_104, "ptr", 3);
1051 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_105, "seq", 3);
1052 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_106, "array", 5);
1053 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_107, "set", 3);
1054 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_108, "range", 5);
1055 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_109, "distinct", 8);
1056 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_110, "openArray", 9);
1057 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_112, "inferred[", 9);
1058 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_114, "[", 1);
1059 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_117, " and ", 5);
1060 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_119, "not ", 4);
1061 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_121, "unknown", 7);
1062 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_122, "typeof(", 7);
1063 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_123, "<invalid value>", 15);
1064 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_124, "..", 2);
1065 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_128, "UncheckedArray", 14);
1066 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_131, "ordinal", 7);
1067 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_135, "distinct ", 9);
1068 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_138, "tuple[", 6);
1069 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_140, "tuple[]", 7);
1070 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_142, ",", 1);
1071 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_145, "range ", 6);
1072 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_147, "iterator ", 9);
1073 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_148, "template ", 9);
1074 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_149, "macro ", 6);
1075 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_150, "converter ", 10);
1076 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_151, "proc ", 5);
1077 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_152, "[*missing parameters*]", 22);
1078 extern TNimType NTItcallingconvention__yjAJ8w0h1PBaSwSGJ3P7IA_;
1079 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_155, "noSideEffect", 12);
1080 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_156, "gcsafe", 6);
1081 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_157, "locks: ", 7);
1082 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_158, "{.", 2);
1083 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_159, ".}", 2);
1084 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_161, "sink ", 5);
1085 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_163, "owned ", 6);
1086 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__PpBJsMJcrcWrpLTS6mci1g_166 = {
1087 0x10, 0x08, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00,
1088 0x00}
1089 ;
1090 extern NIM_CONST tyObject_Int128__9a9axPfb75jdWY25AamJewkA Zero__int495056_7;
1091 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__PpBJsMJcrcWrpLTS6mci1g_167 = {
1092 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1093 0x00}
1094 ;
1095 extern NIM_CONST tyObject_Int128__9a9axPfb75jdWY25AamJewkA Max__int495056_27;
1096 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
1097 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_168, "invalid kind for firstOrd(", 26);
1098 extern TNimType NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_;
1099 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_170, "/home/runner/work/nightlies/nightlies/nim/compiler/types.nim", 60);
1100 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PpBJsMJcrcWrpLTS6mci1g_169 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_170),
1101 ((NI) 776),
1102 ((NI) 23)}
1103 ;
1104 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PpBJsMJcrcWrpLTS6mci1g_171 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_170),
1105 ((NI) 780),
1106 ((NI) 17)}
1107 ;
1108 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_172, "invalid kind for lastOrd(", 25);
1109 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PpBJsMJcrcWrpLTS6mci1g_173 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_170),
1110 ((NI) 835),
1111 ((NI) 23)}
1112 ;
1113 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PpBJsMJcrcWrpLTS6mci1g_174 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_170),
1114 ((NI) 839),
1115 ((NI) 17)}
1116 ;
1117 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_175, "invalid kind for firstFloat(", 28);
1118 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PpBJsMJcrcWrpLTS6mci1g_176 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_170),
1119 ((NI) 795),
1120 ((NI) 17)}
1121 ;
1122 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_177, "invalid kind for lastFloat(", 27);
1123 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PpBJsMJcrcWrpLTS6mci1g_178 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_170),
1124 ((NI) 854),
1125 ((NI) 17)}
1126 ;
1127 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__PpBJsMJcrcWrpLTS6mci1g_179 = {
1128 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00,
1129 0x00}
1130 ;
1131 extern NIM_CONST tyObject_Int128__9a9axPfb75jdWY25AamJewkA One__int495056_8;
1132 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__PpBJsMJcrcWrpLTS6mci1g_180 = {
1133 0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
1134 0x00}
1135 ;
1136 extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
1137 N_LIB_PRIVATE TNimType NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_;
1138 N_LIB_PRIVATE TNimType NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_;
1139 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_183, "illegal type recursion", 22);
1140 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_185, "union type may not have an object header", 40);
1141 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_187, "/home/runner/work/nightlies/nightlies/nim/compiler/sizealignoffsetimpl.nim", 74);
1142 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PpBJsMJcrcWrpLTS6mci1g_186 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_187),
1143 ((NI) 381),
1144 ((NI) 20)}
1145 ;
1146 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_188, "Illegal use of ``case`` in union type.", 38);
1147 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PpBJsMJcrcWrpLTS6mci1g_189 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_187),
1148 ((NI) 174),
1149 ((NI) 14)}
1150 ;
1151 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_190, "computeSubObjectAlign", 21);
1152 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PpBJsMJcrcWrpLTS6mci1g_191 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_187),
1153 ((NI) 93),
1154 ((NI) 21)}
1155 ;
1156 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_192, "computeObjectOffsetsFoldFunction(record case branch)", 52);
1157 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PpBJsMJcrcWrpLTS6mci1g_193 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_187),
1158 ((NI) 135),
1159 ((NI) 23)}
1160 ;
1161 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__PpBJsMJcrcWrpLTS6mci1g_194 = {
1162 0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
1163 0x00}
1164 ;
1165 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_195, " = ", 3);
1166 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_196, "type mismatch:", 14);
1167 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_197, "\012", 1);
1168 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_198, "nimLegacyTypeMismatch", 21);
1169 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_199, " got <$1>", 9);
1170 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_200, " got \'$1\' for \'$2\'", 18);
1171 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_201, " but expected \'$1\'", 18);
1172 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_202, "\012 Calling convention mismatch: got \'{.$1.}\', but expected \'{.$2.}\'.", 68);
1173 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_203, "noSideEffect, ", 14);
1174 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_204, "gcsafe, ", 8);
1175 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_205, "\012 Pragma mismatch: got \'{.$1.}\', but expected \'{.$2.}\'.", 56);
1176 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_206, "\012.raise effects differ", 22);
1177 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_207, "\012.raise effect is \'can raise any\'", 33);
1178 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_208, "\012.tag effects differ", 20);
1179 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_209, "\012.tag effect is \'any tag allowed\'", 33);
1180 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_210, "\012lock levels differ", 19);
1181 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_211, "\012.effectsOf annotations differ", 30);
1182 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PpBJsMJcrcWrpLTS6mci1g_212 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_170),
1183 ((NI) 1622),
1184 ((NI) 14)}
1185 ;
1186 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_213, "invalid kind for floatRangeCheck:", 33);
1187 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__PpBJsMJcrcWrpLTS6mci1g_214 = {((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_170),
1188 ((NI) 871),
1189 ((NI) 17)}
1190 ;
1191 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__PpBJsMJcrcWrpLTS6mci1g_215 = {
1192 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
1193 0x00}
1194 ;
1195 STRING_LITERAL(TM__PpBJsMJcrcWrpLTS6mci1g_216, "Defect", 6);
1196 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__PpBJsMJcrcWrpLTS6mci1g_217 = {
1197 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
1198 0x00}
1199 ;
1200 extern TNimType NTItrunkseq__Bre9bNyuQOg1EJKitjSzn8w_;
1201 extern TNimType NTItrunk__jMZvnc6V09aC24Isyj9alOEA_;
1202 N_LIB_PRIVATE NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag abstractRange__types_101 = {
1203 0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
1204 0x00}
1205 ;
1206 extern tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw eqTypeFlags__ast_479;
1207 extern TSafePoint* excHandler__system_2565;
1208 extern TSafePoint* excHandler__system_2565;
1209 extern TSafePoint* excHandler__system_2565;
1210 extern TSafePoint* excHandler__system_2565;
1211 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5238;
1212 extern Exception* currException__system_2566;
1213 extern Exception* currException__system_2566;
1214 extern Exception* currException__system_2566;
N_INLINE(void,nimSetMem__systemZmemory_7)1215 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
1216 void* T1_;
1217 T1_ = (void*)0;
1218 T1_ = memset(a, v, ((size_t) (size)));
1219 }
N_INLINE(void,nimZeroMem)1220 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
1221 nimSetMem__systemZmemory_7(p, ((int) 0), size);
1222 }
N_NIMCALL(void,initSameTypeClosure__types_1690)1223 N_LIB_PRIVATE N_NIMCALL(void, initSameTypeClosure__types_1690)(tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* Result) {
1224 (*Result).cmp = 0;
1225 (*Result).recCheck = 0;
1226 unsureAsgnRef((void**)&(*Result).s, NIM_NIL);
1227 }
N_INLINE(NI,len__ast_4002)1228 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
1229 NI result;
1230 NI T1_;
1231 result = (NI)0;
1232 T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
1233 result = T1_;
1234 return result;
1235 }
N_NIMCALL(NIM_BOOL,isGenericAlias__types_2196)1236 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericAlias__types_2196)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1237 NIM_BOOL result;
1238 NIM_BOOL T1_;
1239 tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
1240 { result = (NIM_BOOL)0;
1241 T1_ = (NIM_BOOL)0;
1242 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
1243 if (!(T1_)) goto LA2_;
1244 T3_ = NIM_NIL;
1245 T3_ = lastSon__ast_3743(t);
1246 T1_ = ((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
1247 LA2_: ;
1248 result = T1_;
1249 goto BeforeRet_;
1250 }BeforeRet_: ;
1251 return result;
1252 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipGenericAlias__types_2210)1253 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericAlias__types_2210)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1254 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1255 { result = NIM_NIL;
1256 {
1257 NIM_BOOL T3_;
1258 T3_ = (NIM_BOOL)0;
1259 T3_ = isGenericAlias__types_2196(t);
1260 if (!T3_) goto LA4_;
1261 result = lastSon__ast_3743(t);
1262 }
1263 goto LA1_;
1264 LA4_: ;
1265 {
1266 result = t;
1267 }
1268 LA1_: ;
1269 goto BeforeRet_;
1270 }BeforeRet_: ;
1271 return result;
1272 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,base__types_63)1273 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, base__types_63)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1274 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1275 result = NIM_NIL;
1276 result = (*t).sons->data[((NI) 0)];
1277 return result;
1278 }
N_INLINE(NIM_BOOL,sameFlags__types_2216)1279 static N_INLINE(NIM_BOOL, sameFlags__types_2216)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
1280 NIM_BOOL result;
1281 result = (NIM_BOOL)0;
1282 result = ((eqTypeFlags__ast_479 & (*a).flags) == (eqTypeFlags__ast_479 & (*b).flags));
1283 return result;
1284 }
N_NIMCALL(NIM_BOOL,eqeq___types_1737)1285 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___types_1737)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ y) {
1286 NIM_BOOL result;
1287 { result = (NIM_BOOL)0;
1288 {
1289 if (!!((x.Field0 == y.Field0))) goto LA3_;
1290 result = NIM_FALSE;
1291 goto BeforeRet_;
1292 }
1293 LA3_: ;
1294 {
1295 if (!!((x.Field1 == y.Field1))) goto LA7_;
1296 result = NIM_FALSE;
1297 goto BeforeRet_;
1298 }
1299 LA7_: ;
1300 result = NIM_TRUE;
1301 goto BeforeRet_;
1302 }BeforeRet_: ;
1303 return result;
1304 }
N_INLINE(NI,find__types_1718)1305 static N_INLINE(NI, find__types_1718)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ* a, NI aLen_0, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ item) {
1306 NI result;
1307 { result = (NI)0;
1308 result = ((NI) 0);
1309 {
1310 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ* i;
1311 NI i_2;
1312 i = (tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ*)0;
1313 i_2 = ((NI) 0);
1314 {
1315 while (1) {
1316 if (!(i_2 < aLen_0)) goto LA3;
1317 i = (&a[i_2]);
1318 {
1319 NIM_BOOL T6_;
1320 T6_ = (NIM_BOOL)0;
1321 T6_ = eqeq___types_1737((*i), item);
1322 if (!T6_) goto LA7_;
1323 goto BeforeRet_;
1324 }
1325 LA7_: ;
1326 result += ((NI) 1);
1327 i_2 += ((NI) 1);
1328 } LA3: ;
1329 }
1330 }
1331 result = ((NI) -1);
1332 }BeforeRet_: ;
1333 return result;
1334 }
N_INLINE(NIM_BOOL,contains__types_1713)1335 static N_INLINE(NIM_BOOL, contains__types_1713)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ* a, NI aLen_0, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ item) {
1336 NIM_BOOL result;
1337 NI T1_;
1338 { result = (NIM_BOOL)0;
1339 T1_ = (NI)0;
1340 T1_ = find__types_1718(a, aLen_0, item);
1341 result = (((NI) 0) <= T1_);
1342 goto BeforeRet_;
1343 }BeforeRet_: ;
1344 return result;
1345 }
N_NIMCALL(void,Marker_tySequence__8Np6tlClE5az1CyqZdN19bQ)1346 static N_NIMCALL(void, Marker_tySequence__8Np6tlClE5az1CyqZdN19bQ)(void* p, NI op) {
1347 tySequence__8Np6tlClE5az1CyqZdN19bQ* a;
1348 NI T1_;
1349 a = (tySequence__8Np6tlClE5az1CyqZdN19bQ*)p;
1350 T1_ = (NI)0;
1351 }
N_NIMCALL(NIM_BOOL,containsOrIncl__types_1692)1352 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__types_1692)(tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
1353 NIM_BOOL result;
1354 NIM_BOOL T1_;
1355 NI T2_;
1356 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T4_;
1357 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym261_;
1358 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym262_;
1359 result = (NIM_BOOL)0;
1360 T1_ = (NIM_BOOL)0;
1361 T2_ = ((*c).s ? (*c).s->Sup.len : 0);
1362 T1_ = (((NI) 0) < T2_);
1363 if (!(T1_)) goto LA3_;
1364 xX60gensym261_ = a;
1365 T4_.Field0 = (NI)((NI)((NU32)(((NI) ((*xX60gensym261_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym261_).Sup.itemId.item)));
1366 xX60gensym262_ = b;
1367 T4_.Field1 = (NI)((NI)((NU32)(((NI) ((*xX60gensym262_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym262_).Sup.itemId.item)));
1368 T1_ = contains__types_1713((*c).s->data, ((*c).s ? (*c).s->Sup.len : 0), T4_);
1369 LA3_: ;
1370 result = T1_;
1371 {
1372 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ T9_;
1373 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym263_;
1374 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym264_;
1375 NI T10_;
1376 if (!!(result)) goto LA7_;
1377 xX60gensym263_ = a;
1378 T9_.Field0 = (NI)((NI)((NU32)(((NI) ((*xX60gensym263_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym263_).Sup.itemId.item)));
1379 xX60gensym264_ = b;
1380 T9_.Field1 = (NI)((NI)((NU32)(((NI) ((*xX60gensym264_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym264_).Sup.itemId.item)));
1381 unsureAsgnRef((void**) (&(*c).s), (tySequence__8Np6tlClE5az1CyqZdN19bQ*) incrSeqV3((TGenericSeq*)((*c).s), (&NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_)));
1382 T10_ = (*c).s->Sup.len++;
1383 (*c).s->data[T10_] = T9_;
1384 }
1385 LA7_: ;
1386 return result;
1387 }
N_NIMCALL(NIM_BOOL,sameTypeOrNilAux__types_1798)1388 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeOrNilAux__types_1798)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c) {
1389 NIM_BOOL result;
1390 result = (NIM_BOOL)0;
1391 {
1392 if (!(a == b)) goto LA3_;
1393 result = NIM_TRUE;
1394 }
1395 goto LA1_;
1396 LA3_: ;
1397 {
1398 {
1399 NIM_BOOL T8_;
1400 T8_ = (NIM_BOOL)0;
1401 T8_ = (a == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
1402 if (T8_) goto LA9_;
1403 T8_ = (b == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
1404 LA9_: ;
1405 if (!T8_) goto LA10_;
1406 result = NIM_FALSE;
1407 }
1408 goto LA6_;
1409 LA10_: ;
1410 {
1411 result = sameTypeAux__types_1794(a, b, c);
1412 }
1413 LA6_: ;
1414 }
1415 LA1_: ;
1416 return result;
1417 }
N_INLINE(int,nimCmpMem)1418 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
1419 int result;
1420 result = (int)0;
1421 result = memcmp(a, b, ((size_t) (size)));
1422 return result;
1423 }
N_INLINE(NIM_BOOL,equalMem__system_1735)1424 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
1425 NIM_BOOL result;
1426 int T1_;
1427 result = (NIM_BOOL)0;
1428 T1_ = (int)0;
1429 T1_ = nimCmpMem(a, b, size);
1430 result = (T1_ == ((NI32) 0));
1431 return result;
1432 }
N_INLINE(NIM_BOOL,eqStrings)1433 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
1434 NIM_BOOL result;
1435 NI alen;
1436 NI blen;
1437 { result = (NIM_BOOL)0;
1438 alen = (a ? a->Sup.len : 0);
1439 blen = (b ? b->Sup.len : 0);
1440 {
1441 if (!(alen == blen)) goto LA3_;
1442 {
1443 if (!(alen == ((NI) 0))) goto LA7_;
1444 result = NIM_TRUE;
1445 goto BeforeRet_;
1446 }
1447 LA7_: ;
1448 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
1449 goto BeforeRet_;
1450 }
1451 LA3_: ;
1452 }BeforeRet_: ;
1453 return result;
1454 }
N_INLINE(NI,len__ast_3198)1455 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1456 NI result;
1457 NI T1_;
1458 result = (NI)0;
1459 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
1460 result = T1_;
1461 return result;
1462 }
N_NIMCALL(NIM_BOOL,sameObjectTree__types_2103)1463 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectTree__types_2103)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c) {
1464 NIM_BOOL result;
1465 { result = (NIM_BOOL)0;
1466 {
1467 if (!(a == b)) goto LA3_;
1468 result = NIM_TRUE;
1469 }
1470 goto LA1_;
1471 LA3_: ;
1472 {
1473 NIM_BOOL T6_;
1474 NIM_BOOL T7_;
1475 tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
1476 tyObject_TType__facALICuu8zUj0hjvbTLFg* y;
1477 T6_ = (NIM_BOOL)0;
1478 T7_ = (NIM_BOOL)0;
1479 T7_ = !((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
1480 if (!(T7_)) goto LA8_;
1481 T7_ = !((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
1482 LA8_: ;
1483 T6_ = T7_;
1484 if (!(T6_)) goto LA9_;
1485 T6_ = ((*a).kind == (*b).kind);
1486 LA9_: ;
1487 if (!T6_) goto LA10_;
1488 x = (*a).typ;
1489 y = (*b).typ;
1490 {
1491 if (!(((*c).flags &((NU8)1<<((NU)(((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 0))&7U)))!=0)) goto LA14_;
1492 {
1493 if (!!((x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA18_;
1494 x = skipTypes__ast_3735(x, TM__PpBJsMJcrcWrpLTS6mci1g_4);
1495 }
1496 LA18_: ;
1497 {
1498 if (!!((y == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA22_;
1499 y = skipTypes__ast_3735(y, TM__PpBJsMJcrcWrpLTS6mci1g_4);
1500 }
1501 LA22_: ;
1502 }
1503 LA14_: ;
1504 {
1505 NIM_BOOL T26_;
1506 T26_ = (NIM_BOOL)0;
1507 T26_ = sameTypeOrNilAux__types_1798(x, y, c);
1508 if (!T26_) goto LA27_;
1509 switch ((*a).kind) {
1510 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1511 {
1512 result = ((*(*(*a)._kind_4.sym).name).id == (*(*(*b)._kind_4.sym).name).id);
1513 }
1514 break;
1515 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
1516 {
1517 result = ((*(*a)._kind_5.ident).id == (*(*b)._kind_5.ident).id);
1518 }
1519 break;
1520 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
1521 {
1522 result = ((*a)._kind_1.intVal == (*b)._kind_1.intVal);
1523 }
1524 break;
1525 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
1526 {
1527 result = ((*a)._kind_2.floatVal == (*b)._kind_2.floatVal);
1528 }
1529 break;
1530 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
1531 {
1532 result = eqStrings((*a)._kind_3.strVal, (*b)._kind_3.strVal);
1533 }
1534 break;
1535 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
1536 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
1537 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
1538 {
1539 result = NIM_TRUE;
1540 }
1541 break;
1542 default:
1543 {
1544 {
1545 NI T38_;
1546 NI T39_;
1547 T38_ = (NI)0;
1548 T38_ = len__ast_3198(a);
1549 T39_ = (NI)0;
1550 T39_ = len__ast_3198(b);
1551 if (!(T38_ == T39_)) goto LA40_;
1552 {
1553 NI i;
1554 NI colontmp_;
1555 NI i_2;
1556 i = (NI)0;
1557 colontmp_ = (NI)0;
1558 colontmp_ = len__ast_3198(a);
1559 i_2 = ((NI) 0);
1560 {
1561 while (1) {
1562 if (!(i_2 < colontmp_)) goto LA44;
1563 i = i_2;
1564 {
1565 NIM_BOOL T47_;
1566 T47_ = (NIM_BOOL)0;
1567 T47_ = sameObjectTree__types_2103((*a)._kind_6.sons->data[i], (*b)._kind_6.sons->data[i], c);
1568 if (!!(T47_)) goto LA48_;
1569 goto BeforeRet_;
1570 }
1571 LA48_: ;
1572 i_2 += ((NI) 1);
1573 } LA44: ;
1574 }
1575 }
1576 result = NIM_TRUE;
1577 }
1578 LA40_: ;
1579 }
1580 break;
1581 }
1582 }
1583 LA27_: ;
1584 }
1585 goto LA1_;
1586 LA10_: ;
1587 LA1_: ;
1588 }BeforeRet_: ;
1589 return result;
1590 }
N_NIMCALL(NIM_BOOL,sameObjectStructures__types_2154)1591 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectStructures__types_2154)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c) {
1592 NIM_BOOL result;
1593 { result = (NIM_BOOL)0;
1594 {
1595 NI T3_;
1596 NI T4_;
1597 T3_ = (NI)0;
1598 T3_ = len__ast_4002(a);
1599 T4_ = (NI)0;
1600 T4_ = len__ast_4002(b);
1601 if (!!((T3_ == T4_))) goto LA5_;
1602 goto BeforeRet_;
1603 }
1604 LA5_: ;
1605 {
1606 NI i;
1607 NI colontmp_;
1608 NI i_2;
1609 i = (NI)0;
1610 colontmp_ = (NI)0;
1611 colontmp_ = len__ast_4002(a);
1612 i_2 = ((NI) 0);
1613 {
1614 while (1) {
1615 if (!(i_2 < colontmp_)) goto LA9;
1616 i = i_2;
1617 {
1618 NIM_BOOL T12_;
1619 T12_ = (NIM_BOOL)0;
1620 T12_ = sameTypeOrNilAux__types_1798((*a).sons->data[i], (*b).sons->data[i], c);
1621 if (!!(T12_)) goto LA13_;
1622 goto BeforeRet_;
1623 }
1624 LA13_: ;
1625 i_2 += ((NI) 1);
1626 } LA9: ;
1627 }
1628 }
1629 {
1630 NIM_BOOL T17_;
1631 T17_ = (NIM_BOOL)0;
1632 T17_ = sameObjectTree__types_2103((*a).n, (*b).n, c);
1633 if (!!(T17_)) goto LA18_;
1634 goto BeforeRet_;
1635 }
1636 LA18_: ;
1637 result = NIM_TRUE;
1638 }BeforeRet_: ;
1639 return result;
1640 }
N_NIMCALL(NIM_BOOL,sameTuple__types_1956)1641 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTuple__types_1956)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c) {
1642 NIM_BOOL result;
1643 { result = (NIM_BOOL)0;
1644 {
1645 NI T3_;
1646 NI T4_;
1647 T3_ = (NI)0;
1648 T3_ = len__ast_4002(a);
1649 T4_ = (NI)0;
1650 T4_ = len__ast_4002(b);
1651 if (!(T3_ == T4_)) goto LA5_;
1652 result = NIM_TRUE;
1653 {
1654 NI i;
1655 NI colontmp_;
1656 NI i_2;
1657 i = (NI)0;
1658 colontmp_ = (NI)0;
1659 colontmp_ = len__ast_4002(a);
1660 i_2 = ((NI) 0);
1661 {
1662 while (1) {
1663 tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
1664 tyObject_TType__facALICuu8zUj0hjvbTLFg* y;
1665 if (!(i_2 < colontmp_)) goto LA9;
1666 i = i_2;
1667 x = (*a).sons->data[i];
1668 y = (*b).sons->data[i];
1669 {
1670 if (!(((*c).flags &((NU8)1<<((NU)(((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 0))&7U)))!=0)) goto LA12_;
1671 x = skipTypes__ast_3735(x, TM__PpBJsMJcrcWrpLTS6mci1g_4);
1672 y = skipTypes__ast_3735(y, TM__PpBJsMJcrcWrpLTS6mci1g_4);
1673 }
1674 LA12_: ;
1675 result = sameTypeAux__types_1794(x, y, c);
1676 {
1677 if (!!(result)) goto LA16_;
1678 goto BeforeRet_;
1679 }
1680 LA16_: ;
1681 i_2 += ((NI) 1);
1682 } LA9: ;
1683 }
1684 }
1685 {
1686 NIM_BOOL T20_;
1687 NIM_BOOL T21_;
1688 T20_ = (NIM_BOOL)0;
1689 T21_ = (NIM_BOOL)0;
1690 T21_ = !(((*a).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
1691 if (!(T21_)) goto LA22_;
1692 T21_ = !(((*b).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
1693 LA22_: ;
1694 T20_ = T21_;
1695 if (!(T20_)) goto LA23_;
1696 T20_ = !((((*c).flags &((NU8)1<<((NU)(((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 0))&7U)))!=0));
1697 LA23_: ;
1698 if (!T20_) goto LA24_;
1699 {
1700 NI i_3;
1701 NI colontmp__2;
1702 NI i_4;
1703 i_3 = (NI)0;
1704 colontmp__2 = (NI)0;
1705 colontmp__2 = len__ast_3198((*a).n);
1706 i_4 = ((NI) 0);
1707 {
1708 while (1) {
1709 if (!(i_4 < colontmp__2)) goto LA28;
1710 i_3 = i_4;
1711 {
1712 NIM_BOOL T31_;
1713 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x_2;
1714 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* y_2;
1715 T31_ = (NIM_BOOL)0;
1716 T31_ = ((*(*(*a).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
1717 if (!(T31_)) goto LA32_;
1718 T31_ = ((*(*(*b).n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
1719 LA32_: ;
1720 if (!T31_) goto LA33_;
1721 x_2 = (*(*(*a).n)._kind_6.sons->data[i_3])._kind_4.sym;
1722 y_2 = (*(*(*b).n)._kind_6.sons->data[i_3])._kind_4.sym;
1723 result = ((*(*x_2).name).id == (*(*y_2).name).id);
1724 {
1725 if (!!(result)) goto LA37_;
1726 goto LA26;
1727 }
1728 LA37_: ;
1729 }
1730 goto LA29_;
1731 LA33_: ;
1732 {
1733 result = NIM_FALSE;
1734 goto BeforeRet_;
1735 }
1736 LA29_: ;
1737 i_4 += ((NI) 1);
1738 } LA28: ;
1739 }
1740 } LA26: ;
1741 }
1742 goto LA18_;
1743 LA24_: ;
1744 {
1745 NIM_BOOL T41_;
1746 NIM_BOOL T42_;
1747 NIM_BOOL T44_;
1748 T41_ = (NIM_BOOL)0;
1749 T42_ = (NIM_BOOL)0;
1750 T42_ = !(((*a).n == (*b).n));
1751 if (!(T42_)) goto LA43_;
1752 T44_ = (NIM_BOOL)0;
1753 T44_ = ((*a).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
1754 if (T44_) goto LA45_;
1755 T44_ = ((*b).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
1756 LA45_: ;
1757 T42_ = T44_;
1758 LA43_: ;
1759 T41_ = T42_;
1760 if (!(T41_)) goto LA46_;
1761 T41_ = !((((*c).flags &((NU8)1<<((NU)(((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 0))&7U)))!=0));
1762 LA46_: ;
1763 if (!T41_) goto LA47_;
1764 result = NIM_FALSE;
1765 }
1766 goto LA18_;
1767 LA47_: ;
1768 LA18_: ;
1769 }
1770 LA5_: ;
1771 }BeforeRet_: ;
1772 return result;
1773 }
N_NIMCALL(NIM_BOOL,sameChildrenAux__types_2175)1774 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameChildrenAux__types_2175)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c) {
1775 NIM_BOOL result;
1776 { result = (NIM_BOOL)0;
1777 {
1778 NI T3_;
1779 NI T4_;
1780 T3_ = (NI)0;
1781 T3_ = len__ast_4002(a);
1782 T4_ = (NI)0;
1783 T4_ = len__ast_4002(b);
1784 if (!!((T3_ == T4_))) goto LA5_;
1785 result = NIM_FALSE;
1786 goto BeforeRet_;
1787 }
1788 LA5_: ;
1789 result = NIM_TRUE;
1790 {
1791 NI i;
1792 NI colontmp_;
1793 NI i_2;
1794 i = (NI)0;
1795 colontmp_ = (NI)0;
1796 colontmp_ = len__ast_4002(a);
1797 i_2 = ((NI) 0);
1798 {
1799 while (1) {
1800 if (!(i_2 < colontmp_)) goto LA9;
1801 i = i_2;
1802 result = sameTypeOrNilAux__types_1798((*a).sons->data[i], (*b).sons->data[i], c);
1803 {
1804 if (!!(result)) goto LA12_;
1805 goto BeforeRet_;
1806 }
1807 LA12_: ;
1808 i_2 += ((NI) 1);
1809 } LA9: ;
1810 }
1811 }
1812 }BeforeRet_: ;
1813 return result;
1814 }
N_NIMCALL(NIM_BOOL,sameConstraints__types_1889)1815 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstraints__types_1889)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
1816 NIM_BOOL result;
1817 { result = (NIM_BOOL)0;
1818 {
1819 NIM_BOOL T3_;
1820 T3_ = (NIM_BOOL)0;
1821 T3_ = (a == 0);
1822 if (!(T3_)) goto LA4_;
1823 T3_ = (b == 0);
1824 LA4_: ;
1825 if (!T3_) goto LA5_;
1826 result = NIM_TRUE;
1827 goto BeforeRet_;
1828 }
1829 LA5_: ;
1830 {
1831 NI T9_;
1832 NI T10_;
1833 T9_ = (NI)0;
1834 T9_ = len__ast_3198(a);
1835 T10_ = (NI)0;
1836 T10_ = len__ast_3198(b);
1837 if (!!((T9_ == T10_))) goto LA11_;
1838 result = NIM_FALSE;
1839 goto BeforeRet_;
1840 }
1841 LA11_: ;
1842 {
1843 NI i;
1844 NI colontmp_;
1845 NI i_2;
1846 i = (NI)0;
1847 colontmp_ = (NI)0;
1848 colontmp_ = len__ast_3198(a);
1849 i_2 = ((NI) 1);
1850 {
1851 while (1) {
1852 if (!(i_2 < colontmp_)) goto LA15;
1853 i = i_2;
1854 {
1855 NIM_BOOL T18_;
1856 T18_ = (NIM_BOOL)0;
1857 T18_ = exprStructuralEquivalent__trees_56((*(*(*a)._kind_6.sons->data[i])._kind_4.sym).constraint, (*(*(*b)._kind_6.sons->data[i])._kind_4.sym).constraint, NIM_FALSE);
1858 if (!!(T18_)) goto LA19_;
1859 result = NIM_FALSE;
1860 goto BeforeRet_;
1861 }
1862 LA19_: ;
1863 i_2 += ((NI) 1);
1864 } LA15: ;
1865 }
1866 }
1867 result = NIM_TRUE;
1868 goto BeforeRet_;
1869 }BeforeRet_: ;
1870 return result;
1871 }
N_NIMCALL(NIM_BOOL,sameTypeAux__types_1794)1872 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeAux__types_1794)(tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c) {
1873 NIM_BOOL result;
1874 tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
1875 tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
1876 { result = (NIM_BOOL)0;
1877 {
1878 if (!(x == y)) goto LA3_;
1879 result = NIM_TRUE;
1880 goto BeforeRet_;
1881 }
1882 LA3_: ;
1883 a = skipTypes__ast_3735(x, TM__PpBJsMJcrcWrpLTS6mci1g_2);
1884 {
1885 while (1) {
1886 NIM_BOOL T7_;
1887 NI T9_;
1888 T7_ = (NIM_BOOL)0;
1889 T7_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52));
1890 if (!(T7_)) goto LA8_;
1891 T7_ = (((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
1892 LA8_: ;
1893 if (!T7_) goto LA6;
1894 T9_ = (NI)0;
1895 T9_ = len__ast_4002(a);
1896 a = skipTypes__ast_3735((*a).sons->data[(NI)(T9_ - ((NI) 1))], TM__PpBJsMJcrcWrpLTS6mci1g_2);
1897 } LA6: ;
1898 }
1899 b = skipTypes__ast_3735(y, TM__PpBJsMJcrcWrpLTS6mci1g_2);
1900 {
1901 while (1) {
1902 NIM_BOOL T12_;
1903 NI T14_;
1904 T12_ = (NIM_BOOL)0;
1905 T12_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52));
1906 if (!(T12_)) goto LA13_;
1907 T12_ = (((*b).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
1908 LA13_: ;
1909 if (!T12_) goto LA11;
1910 T14_ = (NI)0;
1911 T14_ = len__ast_4002(b);
1912 b = skipTypes__ast_3735((*b).sons->data[(NI)(T14_ - ((NI) 1))], TM__PpBJsMJcrcWrpLTS6mci1g_2);
1913 } LA11: ;
1914 }
1915 {
1916 if (!!(((*a).kind == (*b).kind))) goto LA17_;
1917 switch ((*c).cmp) {
1918 case ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 0):
1919 {
1920 result = NIM_FALSE;
1921 goto BeforeRet_;
1922 }
1923 break;
1924 case ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 1):
1925 {
1926 {
1927 while (1) {
1928 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA22;
1929 a = (*a).sons->data[((NI) 0)];
1930 } LA22: ;
1931 }
1932 {
1933 while (1) {
1934 if (!((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA24;
1935 b = (*b).sons->data[((NI) 0)];
1936 } LA24: ;
1937 }
1938 {
1939 if (!!(((*a).kind == (*b).kind))) goto LA27_;
1940 result = NIM_FALSE;
1941 goto BeforeRet_;
1942 }
1943 LA27_: ;
1944 }
1945 break;
1946 case ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 2):
1947 {
1948 {
1949 while (1) {
1950 if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA31;
1951 a = (*a).sons->data[((NI) 0)];
1952 } LA31: ;
1953 }
1954 {
1955 if (!!(((*a).kind == (*b).kind))) goto LA34_;
1956 result = NIM_FALSE;
1957 goto BeforeRet_;
1958 }
1959 LA34_: ;
1960 }
1961 break;
1962 }
1963 }
1964 LA17_: ;
1965 {
1966 NIM_BOOL T38_;
1967 tyObject_TType__facALICuu8zUj0hjvbTLFg* lhs;
1968 tyObject_TType__facALICuu8zUj0hjvbTLFg* rhs;
1969 T38_ = (NIM_BOOL)0;
1970 T38_ = ((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
1971 if (!(T38_)) goto LA39_;
1972 T38_ = !((((*c).flags &((NU8)1<<((NU)(((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 0))&7U)))!=0));
1973 LA39_: ;
1974 if (!T38_) goto LA40_;
1975 lhs = skipGenericAlias__types_2210(x);
1976 rhs = skipGenericAlias__types_2210(y);
1977 {
1978 NIM_BOOL T44_;
1979 tyObject_TType__facALICuu8zUj0hjvbTLFg* T46_;
1980 tyObject_TType__facALICuu8zUj0hjvbTLFg* T47_;
1981 T44_ = (NIM_BOOL)0;
1982 T44_ = !(((*rhs).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)));
1983 if (T44_) goto LA45_;
1984 T46_ = NIM_NIL;
1985 T46_ = base__types_63(lhs);
1986 T47_ = NIM_NIL;
1987 T47_ = base__types_63(rhs);
1988 T44_ = !((T46_ == T47_));
1989 LA45_: ;
1990 if (!T44_) goto LA48_;
1991 result = NIM_FALSE;
1992 goto BeforeRet_;
1993 }
1994 LA48_: ;
1995 {
1996 NI i;
1997 NI colontmp_;
1998 NI T51_;
1999 NI i_2;
2000 i = (NI)0;
2001 colontmp_ = (NI)0;
2002 T51_ = (NI)0;
2003 T51_ = len__ast_4002(lhs);
2004 colontmp_ = (NI)(T51_ - ((NI) 1));
2005 i_2 = ((NI) 1);
2006 {
2007 while (1) {
2008 tyObject_TType__facALICuu8zUj0hjvbTLFg* ff;
2009 tyObject_TType__facALICuu8zUj0hjvbTLFg* aa;
2010 if (!(i_2 < colontmp_)) goto LA53;
2011 i = i_2;
2012 ff = (*rhs).sons->data[i];
2013 aa = (*lhs).sons->data[i];
2014 {
2015 NIM_BOOL T56_;
2016 T56_ = (NIM_BOOL)0;
2017 T56_ = sameTypeAux__types_1794(ff, aa, c);
2018 if (!!(T56_)) goto LA57_;
2019 result = NIM_FALSE;
2020 goto BeforeRet_;
2021 }
2022 LA57_: ;
2023 i_2 += ((NI) 1);
2024 } LA53: ;
2025 }
2026 }
2027 result = NIM_TRUE;
2028 goto BeforeRet_;
2029 }
2030 LA40_: ;
2031 switch ((*a).kind) {
2032 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3):
2033 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2034 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
2035 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
2036 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
2037 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
2038 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
2039 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2040 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
2041 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
2042 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63):
2043 {
2044 result = sameFlags__types_2216(a, b);
2045 {
2046 NIM_BOOL T62_;
2047 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw symFlagsA;
2048 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw symFlagsB;
2049 T62_ = (NIM_BOOL)0;
2050 T62_ = result;
2051 if (!(T62_)) goto LA63_;
2052 T62_ = (((*c).flags &((NU8)1<<((NU)(((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 7))&7U)))!=0);
2053 LA63_: ;
2054 if (!T62_) goto LA64_;
2055 {
2056 if (!!(((*a).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA68_;
2057 symFlagsA = (*(*a).sym).flags;
2058 }
2059 goto LA66_;
2060 LA68_: ;
2061 {
2062 symFlagsA = 0;
2063 }
2064 LA66_: ;
2065 {
2066 if (!!(((*b).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA73_;
2067 symFlagsB = (*(*b).sym).flags;
2068 }
2069 goto LA71_;
2070 LA73_: ;
2071 {
2072 symFlagsB = 0;
2073 }
2074 LA71_: ;
2075 {
2076 if (!!((((symFlagsA | symFlagsB) & 192) == 0))) goto LA78_;
2077 result = (symFlagsA == symFlagsB);
2078 }
2079 LA78_: ;
2080 }
2081 LA64_: ;
2082 }
2083 break;
2084 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
2085 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
2086 {
2087 NIM_BOOL T81_;
2088 T81_ = (NIM_BOOL)0;
2089 T81_ = exprStructuralEquivalent__trees_56((*a).n, (*b).n, NIM_FALSE);
2090 if (!(T81_)) goto LA82_;
2091 T81_ = sameFlags__types_2216(a, b);
2092 LA82_: ;
2093 result = T81_;
2094 {
2095 NIM_BOOL T85_;
2096 NIM_BOOL T86_;
2097 NI T88_;
2098 NI T89_;
2099 NI T91_;
2100 T85_ = (NIM_BOOL)0;
2101 T86_ = (NIM_BOOL)0;
2102 T86_ = result;
2103 if (!(T86_)) goto LA87_;
2104 T88_ = (NI)0;
2105 T88_ = len__ast_4002(a);
2106 T89_ = (NI)0;
2107 T89_ = len__ast_4002(b);
2108 T86_ = (T88_ == T89_);
2109 LA87_: ;
2110 T85_ = T86_;
2111 if (!(T85_)) goto LA90_;
2112 T91_ = (NI)0;
2113 T91_ = len__ast_4002(a);
2114 T85_ = (T91_ == ((NI) 1));
2115 LA90_: ;
2116 if (!T85_) goto LA92_;
2117 {
2118 if (!((*c).recCheck < ((NI) 3))) goto LA96_;
2119 (*c).recCheck += ((NI) 1);
2120 }
2121 goto LA94_;
2122 LA96_: ;
2123 {
2124 {
2125 NIM_BOOL T101_;
2126 T101_ = (NIM_BOOL)0;
2127 T101_ = containsOrIncl__types_1692(c, a, b);
2128 if (!T101_) goto LA102_;
2129 result = NIM_TRUE;
2130 goto BeforeRet_;
2131 }
2132 LA102_: ;
2133 }
2134 LA94_: ;
2135 result = sameTypeAux__types_1794((*a).sons->data[((NI) 0)], (*b).sons->data[((NI) 0)], c);
2136 }
2137 LA92_: ;
2138 }
2139 break;
2140 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
2141 {
2142 {
2143 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym346_;
2144 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym347_;
2145 if (!!(((((*a).flags | (*b).flags) &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8))&63U)))!=0))) goto LA107_;
2146 xX60gensym346_ = a;
2147 xX60gensym347_ = b;
2148 result = ((NI)((NI)((NU32)(((NI) ((*xX60gensym346_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym346_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym347_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym347_).Sup.itemId.item))));
2149 }
2150 goto LA105_;
2151 LA107_: ;
2152 {
2153 {
2154 NIM_BOOL T112_;
2155 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym349_;
2156 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym350_;
2157 NIM_BOOL T126_;
2158 T112_ = (NIM_BOOL)0;
2159 T112_ = ((((*a).flags & (*b).flags) &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8))&63U)))!=0);
2160 if (!(T112_)) goto LA113_;
2161 xX60gensym349_ = (*a).sym;
2162 xX60gensym350_ = (*b).sym;
2163 T112_ = ((NI)((NI)((NU32)(((NI) ((*xX60gensym349_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym349_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym350_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym350_).Sup.itemId.item))));
2164 LA113_: ;
2165 if (!T112_) goto LA114_;
2166 {
2167 if (!((*c).recCheck < ((NI) 3))) goto LA118_;
2168 (*c).recCheck += ((NI) 1);
2169 }
2170 goto LA116_;
2171 LA118_: ;
2172 {
2173 {
2174 NIM_BOOL T123_;
2175 T123_ = (NIM_BOOL)0;
2176 T123_ = containsOrIncl__types_1692(c, a, b);
2177 if (!T123_) goto LA124_;
2178 result = NIM_TRUE;
2179 goto BeforeRet_;
2180 }
2181 LA124_: ;
2182 }
2183 LA116_: ;
2184 T126_ = (NIM_BOOL)0;
2185 T126_ = sameObjectStructures__types_2154(a, b, c);
2186 if (!(T126_)) goto LA127_;
2187 T126_ = sameFlags__types_2216(a, b);
2188 LA127_: ;
2189 result = T126_;
2190 }
2191 LA114_: ;
2192 }
2193 LA105_: ;
2194 }
2195 break;
2196 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
2197 {
2198 {
2199 if (!((*c).recCheck < ((NI) 3))) goto LA131_;
2200 (*c).recCheck += ((NI) 1);
2201 }
2202 goto LA129_;
2203 LA131_: ;
2204 {
2205 {
2206 NIM_BOOL T136_;
2207 T136_ = (NIM_BOOL)0;
2208 T136_ = containsOrIncl__types_1692(c, a, b);
2209 if (!T136_) goto LA137_;
2210 result = NIM_TRUE;
2211 goto BeforeRet_;
2212 }
2213 LA137_: ;
2214 }
2215 LA129_: ;
2216 {
2217 if (!((*c).cmp == ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 0))) goto LA141_;
2218 {
2219 NIM_BOOL T145_;
2220 T145_ = (NIM_BOOL)0;
2221 T145_ = sameFlags__types_2216(a, b);
2222 if (!T145_) goto LA146_;
2223 {
2224 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym355_;
2225 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym356_;
2226 if (!!(((((*a).flags | (*b).flags) &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8))&63U)))!=0))) goto LA150_;
2227 xX60gensym355_ = a;
2228 xX60gensym356_ = b;
2229 result = ((NI)((NI)((NU32)(((NI) ((*xX60gensym355_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym355_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym356_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym356_).Sup.itemId.item))));
2230 }
2231 goto LA148_;
2232 LA150_: ;
2233 {
2234 {
2235 NIM_BOOL T155_;
2236 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym358_;
2237 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym359_;
2238 T155_ = (NIM_BOOL)0;
2239 T155_ = ((((*a).flags & (*b).flags) &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8))&63U)))!=0);
2240 if (!(T155_)) goto LA156_;
2241 xX60gensym358_ = (*a).sym;
2242 xX60gensym359_ = (*b).sym;
2243 T155_ = ((NI)((NI)((NU32)(((NI) ((*xX60gensym358_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym358_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym359_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym359_).Sup.itemId.item))));
2244 LA156_: ;
2245 if (!T155_) goto LA157_;
2246 result = sameTypeAux__types_1794((*a).sons->data[((NI) 0)], (*b).sons->data[((NI) 0)], c);
2247 }
2248 LA157_: ;
2249 }
2250 LA148_: ;
2251 }
2252 LA146_: ;
2253 }
2254 goto LA139_;
2255 LA141_: ;
2256 {
2257 NIM_BOOL T160_;
2258 T160_ = (NIM_BOOL)0;
2259 T160_ = sameTypeAux__types_1794((*a).sons->data[((NI) 0)], (*b).sons->data[((NI) 0)], c);
2260 if (!(T160_)) goto LA161_;
2261 T160_ = sameFlags__types_2216(a, b);
2262 LA161_: ;
2263 result = T160_;
2264 }
2265 LA139_: ;
2266 }
2267 break;
2268 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2269 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
2270 {
2271 NIM_BOOL T163_;
2272 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym364_;
2273 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym365_;
2274 T163_ = (NIM_BOOL)0;
2275 xX60gensym364_ = a;
2276 xX60gensym365_ = b;
2277 T163_ = ((NI)((NI)((NU32)(((NI) ((*xX60gensym364_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym364_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym365_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym365_).Sup.itemId.item))));
2278 if (!(T163_)) goto LA164_;
2279 T163_ = sameFlags__types_2216(a, b);
2280 LA164_: ;
2281 result = T163_;
2282 }
2283 break;
2284 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
2285 {
2286 result = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
2287 }
2288 break;
2289 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
2290 {
2291 NIM_BOOL T177_;
2292 {
2293 if (!((*c).recCheck < ((NI) 3))) goto LA169_;
2294 (*c).recCheck += ((NI) 1);
2295 }
2296 goto LA167_;
2297 LA169_: ;
2298 {
2299 {
2300 NIM_BOOL T174_;
2301 T174_ = (NIM_BOOL)0;
2302 T174_ = containsOrIncl__types_1692(c, a, b);
2303 if (!T174_) goto LA175_;
2304 result = NIM_TRUE;
2305 goto BeforeRet_;
2306 }
2307 LA175_: ;
2308 }
2309 LA167_: ;
2310 T177_ = (NIM_BOOL)0;
2311 T177_ = sameTuple__types_1956(a, b, c);
2312 if (!(T177_)) goto LA178_;
2313 T177_ = sameFlags__types_2216(a, b);
2314 LA178_: ;
2315 result = T177_;
2316 }
2317 break;
2318 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
2319 {
2320 {
2321 if (!((*c).cmp == ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 1))) goto LA182_;
2322 result = NIM_FALSE;
2323 }
2324 goto LA180_;
2325 LA182_: ;
2326 {
2327 NIM_BOOL T197_;
2328 if (!(((*c).flags &((NU8)1<<((NU)(((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 2))&7U)))!=0)) goto LA185_;
2329 {
2330 if (!((*c).recCheck < ((NI) 3))) goto LA189_;
2331 (*c).recCheck += ((NI) 1);
2332 }
2333 goto LA187_;
2334 LA189_: ;
2335 {
2336 {
2337 NIM_BOOL T194_;
2338 T194_ = (NIM_BOOL)0;
2339 T194_ = containsOrIncl__types_1692(c, a, b);
2340 if (!T194_) goto LA195_;
2341 result = NIM_TRUE;
2342 goto BeforeRet_;
2343 }
2344 LA195_: ;
2345 }
2346 LA187_: ;
2347 T197_ = (NIM_BOOL)0;
2348 T197_ = sameChildrenAux__types_2175(x, y, c);
2349 if (!(T197_)) goto LA198_;
2350 T197_ = sameFlags__types_2216(a, b);
2351 LA198_: ;
2352 result = T197_;
2353 }
2354 goto LA180_;
2355 LA185_: ;
2356 {
2357 result = sameFlags__types_2216(a, b);
2358 }
2359 LA180_: ;
2360 }
2361 break;
2362 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
2363 {
2364 NIM_BOOL T201_;
2365 T201_ = (NIM_BOOL)0;
2366 T201_ = sameChildrenAux__types_2175(a, b, c);
2367 if (!(T201_)) goto LA202_;
2368 T201_ = sameFlags__types_2216(a, b);
2369 LA202_: ;
2370 result = T201_;
2371 {
2372 NIM_BOOL T205_;
2373 T205_ = (NIM_BOOL)0;
2374 T205_ = result;
2375 if (!(T205_)) goto LA206_;
2376 T205_ = !(((12 & (*c).flags) == 0));
2377 LA206_: ;
2378 if (!T205_) goto LA207_;
2379 result = ((*(*a).sym).position == (*(*b).sym).position);
2380 }
2381 LA207_: ;
2382 }
2383 break;
2384 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
2385 {
2386 result = ((*(*a).sons->data[((NI) 0)]).kind == (*(*b).sons->data[((NI) 0)]).kind);
2387 }
2388 break;
2389 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
2390 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
2391 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
2392 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
2393 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
2394 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
2395 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
2396 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
2397 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
2398 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
2399 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
2400 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
2401 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
2402 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
2403 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
2404 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
2405 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
2406 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
2407 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
2408 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
2409 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
2410 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
2411 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
2412 {
2413 {
2414 if (!((*c).recCheck < ((NI) 3))) goto LA213_;
2415 (*c).recCheck += ((NI) 1);
2416 }
2417 goto LA211_;
2418 LA213_: ;
2419 {
2420 {
2421 NIM_BOOL T218_;
2422 T218_ = (NIM_BOOL)0;
2423 T218_ = containsOrIncl__types_1692(c, a, b);
2424 if (!T218_) goto LA219_;
2425 result = NIM_TRUE;
2426 goto BeforeRet_;
2427 }
2428 LA219_: ;
2429 }
2430 LA211_: ;
2431 {
2432 NIM_BOOL T223_;
2433 T223_ = (NIM_BOOL)0;
2434 T223_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52));
2435 if (!(T223_)) goto LA224_;
2436 T223_ = !(((*a).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2437 LA224_: ;
2438 if (!T223_) goto LA225_;
2439 result = ((*a).n == (*b).n);
2440 goto BeforeRet_;
2441 }
2442 LA225_: ;
2443 result = sameChildrenAux__types_2175(a, b, c);
2444 {
2445 if (!result) goto LA229_;
2446 {
2447 if (!(((*c).flags &((NU8)1<<((NU)(((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 0))&7U)))!=0)) goto LA233_;
2448 result = (((*a).flags & 1048576) == ((*b).flags & 1048576));
2449 }
2450 goto LA231_;
2451 LA233_: ;
2452 {
2453 result = sameFlags__types_2216(a, b);
2454 }
2455 LA231_: ;
2456 }
2457 LA229_: ;
2458 {
2459 NIM_BOOL T238_;
2460 T238_ = (NIM_BOOL)0;
2461 T238_ = result;
2462 if (!(T238_)) goto LA239_;
2463 T238_ = (((*c).flags &((NU8)1<<((NU)(((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 5))&7U)))!=0);
2464 LA239_: ;
2465 if (!T238_) goto LA240_;
2466 result = (((*a).flags & 128) == ((*b).flags & 128));
2467 }
2468 LA240_: ;
2469 {
2470 NIM_BOOL T244_;
2471 NIM_BOOL T248_;
2472 NIM_BOOL T249_;
2473 NIM_BOOL T252_;
2474 T244_ = (NIM_BOOL)0;
2475 T244_ = result;
2476 if (!(T244_)) goto LA245_;
2477 T244_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
2478 LA245_: ;
2479 if (!T244_) goto LA246_;
2480 T248_ = (NIM_BOOL)0;
2481 T249_ = (NIM_BOOL)0;
2482 T249_ = (((*c).flags &((NU8)1<<((NU)(((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 1))&7U)))!=0);
2483 if (T249_) goto LA250_;
2484 T249_ = ((*a).callConv == (*b).callConv);
2485 LA250_: ;
2486 T248_ = T249_;
2487 if (!(T248_)) goto LA251_;
2488 T252_ = (NIM_BOOL)0;
2489 T252_ = !((((*c).flags &((NU8)1<<((NU)(((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 4))&7U)))!=0));
2490 if (T252_) goto LA253_;
2491 T252_ = sameConstraints__types_1889((*a).n, (*b).n);
2492 LA253_: ;
2493 T248_ = T252_;
2494 LA251_: ;
2495 result = T248_;
2496 }
2497 LA246_: ;
2498 }
2499 break;
2500 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
2501 {
2502 NIM_BOOL T265_;
2503 NIM_BOOL T266_;
2504 {
2505 if (!((*c).recCheck < ((NI) 3))) goto LA257_;
2506 (*c).recCheck += ((NI) 1);
2507 }
2508 goto LA255_;
2509 LA257_: ;
2510 {
2511 {
2512 NIM_BOOL T262_;
2513 T262_ = (NIM_BOOL)0;
2514 T262_ = containsOrIncl__types_1692(c, a, b);
2515 if (!T262_) goto LA263_;
2516 result = NIM_TRUE;
2517 goto BeforeRet_;
2518 }
2519 LA263_: ;
2520 }
2521 LA255_: ;
2522 T265_ = (NIM_BOOL)0;
2523 T266_ = (NIM_BOOL)0;
2524 T266_ = sameTypeOrNilAux__types_1798((*a).sons->data[((NI) 0)], (*b).sons->data[((NI) 0)], c);
2525 if (!(T266_)) goto LA267_;
2526 T266_ = sameValue__astalgo_119((*(*a).n)._kind_6.sons->data[((NI) 0)], (*(*b).n)._kind_6.sons->data[((NI) 0)]);
2527 LA267_: ;
2528 T265_ = T266_;
2529 if (!(T265_)) goto LA268_;
2530 T265_ = sameValue__astalgo_119((*(*a).n)._kind_6.sons->data[((NI) 1)], (*(*b).n)._kind_6.sons->data[((NI) 1)]);
2531 LA268_: ;
2532 result = T265_;
2533 }
2534 break;
2535 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
2536 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
2537 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
2538 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64):
2539 {
2540 tyObject_TType__facALICuu8zUj0hjvbTLFg* T280_;
2541 tyObject_TType__facALICuu8zUj0hjvbTLFg* T281_;
2542 {
2543 if (!((*c).recCheck < ((NI) 3))) goto LA272_;
2544 (*c).recCheck += ((NI) 1);
2545 }
2546 goto LA270_;
2547 LA272_: ;
2548 {
2549 {
2550 NIM_BOOL T277_;
2551 T277_ = (NIM_BOOL)0;
2552 T277_ = containsOrIncl__types_1692(c, a, b);
2553 if (!T277_) goto LA278_;
2554 result = NIM_TRUE;
2555 goto BeforeRet_;
2556 }
2557 LA278_: ;
2558 }
2559 LA270_: ;
2560 T280_ = NIM_NIL;
2561 T280_ = lastSon__ast_3743(a);
2562 T281_ = NIM_NIL;
2563 T281_ = lastSon__ast_3743(b);
2564 result = sameTypeAux__types_1794(T280_, T281_, c);
2565 }
2566 break;
2567 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0):
2568 {
2569 result = NIM_FALSE;
2570 }
2571 break;
2572 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
2573 {
2574 result = exprStructuralEquivalent__trees_56((*a).n, (*b).n, NIM_FALSE);
2575 }
2576 break;
2577 }
2578 }BeforeRet_: ;
2579 return result;
2580 }
N_NIMCALL(NIM_BOOL,sameType__types_1815)2581 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1815)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags) {
2582 NIM_BOOL result;
2583 tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg c;
2584 result = (NIM_BOOL)0;
2585 nimZeroMem((void*)(&c), sizeof(tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg));
2586 initSameTypeClosure__types_1690((&c));
2587 c.flags = flags;
2588 result = sameTypeAux__types_1794(a, b, (&c));
2589 return result;
2590 }
N_NIMCALL(NIM_BOOL,sameObjectTypes__types_2038)2591 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectTypes__types_2038)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
2592 NIM_BOOL result;
2593 result = (NIM_BOOL)0;
2594 {
2595 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym292_;
2596 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym293_;
2597 if (!!(((((*a).flags | (*b).flags) &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8))&63U)))!=0))) goto LA3_;
2598 xX60gensym292_ = a;
2599 xX60gensym293_ = b;
2600 result = ((NI)((NI)((NU32)(((NI) ((*xX60gensym292_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym292_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym293_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym293_).Sup.itemId.item))));
2601 }
2602 goto LA1_;
2603 LA3_: ;
2604 {
2605 {
2606 NIM_BOOL T8_;
2607 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym295_;
2608 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym296_;
2609 tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg c;
2610 T8_ = (NIM_BOOL)0;
2611 T8_ = ((((*a).flags & (*b).flags) &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8))&63U)))!=0);
2612 if (!(T8_)) goto LA9_;
2613 xX60gensym295_ = (*a).sym;
2614 xX60gensym296_ = (*b).sym;
2615 T8_ = ((NI)((NI)((NU32)(((NI) ((*xX60gensym295_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym295_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym296_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym296_).Sup.itemId.item))));
2616 LA9_: ;
2617 if (!T8_) goto LA10_;
2618 nimZeroMem((void*)(&c), sizeof(tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg));
2619 initSameTypeClosure__types_1690((&c));
2620 result = sameTypeAux__types_1794(a, b, (&c));
2621 }
2622 LA10_: ;
2623 }
2624 LA1_: ;
2625 return result;
2626 }
N_NIMCALL(NI,inheritanceDiff__types_2676)2627 N_LIB_PRIVATE N_NIMCALL(NI, inheritanceDiff__types_2676)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
2628 NI result;
2629 tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
2630 tyObject_TType__facALICuu8zUj0hjvbTLFg* y;
2631 { result = (NI)0;
2632 {
2633 NIM_BOOL T3_;
2634 NIM_BOOL T4_;
2635 T3_ = (NIM_BOOL)0;
2636 T4_ = (NIM_BOOL)0;
2637 T4_ = (a == b);
2638 if (T4_) goto LA5_;
2639 T4_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
2640 LA5_: ;
2641 T3_ = T4_;
2642 if (T3_) goto LA6_;
2643 T3_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
2644 LA6_: ;
2645 if (!T3_) goto LA7_;
2646 result = ((NI) 0);
2647 goto BeforeRet_;
2648 }
2649 LA7_: ;
2650 x = a;
2651 result = ((NI) 0);
2652 {
2653 while (1) {
2654 if (!!((x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA10;
2655 x = skipTypes__ast_3735(x, TM__PpBJsMJcrcWrpLTS6mci1g_5);
2656 {
2657 NIM_BOOL T13_;
2658 T13_ = (NIM_BOOL)0;
2659 T13_ = sameObjectTypes__types_2038(x, b);
2660 if (!T13_) goto LA14_;
2661 goto BeforeRet_;
2662 }
2663 LA14_: ;
2664 x = (*x).sons->data[((NI) 0)];
2665 result -= ((NI) 1);
2666 } LA10: ;
2667 }
2668 y = b;
2669 result = ((NI) 0);
2670 {
2671 while (1) {
2672 if (!!((y == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA17;
2673 y = skipTypes__ast_3735(y, TM__PpBJsMJcrcWrpLTS6mci1g_5);
2674 {
2675 NIM_BOOL T20_;
2676 T20_ = (NIM_BOOL)0;
2677 T20_ = sameObjectTypes__types_2038(y, a);
2678 if (!T20_) goto LA21_;
2679 goto BeforeRet_;
2680 }
2681 LA21_: ;
2682 y = (*y).sons->data[((NI) 0)];
2683 result += ((NI) 1);
2684 } LA17: ;
2685 }
2686 result = ((NI) 2147483647);
2687 }BeforeRet_: ;
2688 return result;
2689 }
N_NIMCALL(NIM_BOOL,sameTypeOrNil__types_1839)2690 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeOrNil__types_1839)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags) {
2691 NIM_BOOL result;
2692 result = (NIM_BOOL)0;
2693 {
2694 if (!(a == b)) goto LA3_;
2695 result = NIM_TRUE;
2696 }
2697 goto LA1_;
2698 LA3_: ;
2699 {
2700 {
2701 NIM_BOOL T8_;
2702 T8_ = (NIM_BOOL)0;
2703 T8_ = (a == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
2704 if (T8_) goto LA9_;
2705 T8_ = (b == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
2706 LA9_: ;
2707 if (!T8_) goto LA10_;
2708 result = NIM_FALSE;
2709 }
2710 goto LA6_;
2711 LA10_: ;
2712 {
2713 result = sameType__types_1815(a, b, flags);
2714 }
2715 LA6_: ;
2716 }
2717 LA1_: ;
2718 return result;
2719 }
N_NIMCALL(void,Marker_tyRef__ik3gfZ9aJJHPxASsunXJrEA)2720 static N_NIMCALL(void, Marker_tyRef__ik3gfZ9aJJHPxASsunXJrEA)(void* p, NI op) {
2721 tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw* a;
2722 a = (tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw*)p;
2723 }
N_CLOSURE(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw,getPrefer__types_902)2724 N_LIB_PRIVATE N_CLOSURE(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw, getPrefer__types_902)(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, void* ClE_0) {
2725 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw result;
2726 tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw* colonenvP_;
2727 result = (tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw)0;
2728 colonenvP_ = (tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw*) ClE_0;
2729 {
2730 if (!((192 &((NU8)1<<((NU)((*colonenvP_).preferToplevel1)&7U)))!=0)) goto LA3_;
2731 result = (*colonenvP_).preferToplevel1;
2732 }
2733 goto LA1_;
2734 LA3_: ;
2735 {
2736 result = prefer;
2737 }
2738 LA1_: ;
2739 return result;
2740 }
N_INLINE(NIM_BOOL,isIntLit__types_186)2741 static N_INLINE(NIM_BOOL, isIntLit__types_186)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
2742 NIM_BOOL result;
2743 NIM_BOOL T1_;
2744 NIM_BOOL T2_;
2745 result = (NIM_BOOL)0;
2746 T1_ = (NIM_BOOL)0;
2747 T2_ = (NIM_BOOL)0;
2748 T2_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
2749 if (!(T2_)) goto LA3_;
2750 T2_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
2751 LA3_: ;
2752 T1_ = T2_;
2753 if (!(T1_)) goto LA4_;
2754 T1_ = ((*(*t).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
2755 LA4_: ;
2756 result = T1_;
2757 return result;
2758 }
N_INLINE(void,nimCopyMem)2759 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
2760 void* T1_;
2761 T1_ = (void*)0;
2762 T1_ = memcpy(dest, source, ((size_t) (size)));
2763 }
N_INLINE(void,copyMem__system_1727)2764 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
2765 nimCopyMem(dest, source, size);
2766 }
N_INLINE(void,appendString)2767 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
2768 {
2769 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
2770 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
2771 (*dest).Sup.len += (*src).Sup.len;
2772 }
2773 LA3_: ;
2774 }
N_INLINE(void,appendChar)2775 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
2776 (*dest).data[(*dest).Sup.len] = c;
2777 (*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
2778 (*dest).Sup.len += ((NI) 1);
2779 }
N_INLINE(void,addTypeFlags__types_890)2780 static N_INLINE(void, addTypeFlags__types_890)(NimStringDesc** name, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
2781 {
2782 if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0)) goto LA3_;
2783 unsureAsgnRef((void**) (&(*name)), resizeString((*name), 8));
2784 appendString((*name), ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_86));
2785 }
2786 LA3_: ;
2787 }
N_NIMCALL(NimStringDesc *,valueToString__types_856)2788 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, valueToString__types_856)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a) {
2789 NimStringDesc* result;
2790 result = NIM_NIL;
2791 switch ((*a).kind) {
2792 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
2793 {
2794 result = dollar___systemZdollars_6((*a)._kind_1.intVal);
2795 }
2796 break;
2797 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
2798 {
2799 result = dollar___system_3118((*a)._kind_2.floatVal);
2800 }
2801 break;
2802 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
2803 {
2804 result = copyString((*a)._kind_3.strVal);
2805 }
2806 break;
2807 default:
2808 {
2809 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_123));
2810 }
2811 break;
2812 }
2813 return result;
2814 }
N_NIMCALL(NimStringDesc *,rangeToStr__types_862)2815 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rangeToStr__types_862)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2816 NimStringDesc* result;
2817 NimStringDesc* T1_;
2818 NimStringDesc* T2_;
2819 NimStringDesc* T3_;
2820 result = NIM_NIL;
2821 T1_ = NIM_NIL;
2822 T2_ = NIM_NIL;
2823 T2_ = valueToString__types_856((*n)._kind_6.sons->data[((NI) 0)]);
2824 T3_ = NIM_NIL;
2825 T3_ = valueToString__types_856((*n)._kind_6.sons->data[((NI) 1)]);
2826 T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + (T3_ ? T3_->Sup.len : 0) + 2);
2827 appendString(T1_, T2_);
2828 appendString(T1_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_124));
2829 appendString(T1_, T3_);
2830 result = T1_;
2831 return result;
2832 }
N_INLINE(void,addSep__pureZstrutils_1337)2833 static N_INLINE(void, addSep__pureZstrutils_1337)(NimStringDesc** dest, NimStringDesc* sep, NI startLen) {
2834 {
2835 if (!(((NI) (startLen)) < ((*dest) ? (*dest)->Sup.len : 0))) goto LA3_;
2836 unsureAsgnRef((void**) (&(*dest)), resizeString((*dest), (sep ? sep->Sup.len : 0) + 0));
2837 appendString((*dest), sep);
2838 }
2839 LA3_: ;
2840 }
N_CLOSURE(NimStringDesc *,typeToString__types_919)2841 N_LIB_PRIVATE N_CLOSURE(NimStringDesc*, typeToString__types_919)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, void* ClE_0) {
2842 NimStringDesc* result;
2843 tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw* colonenvP_;
2844 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer_2;
2845 tyProc__3iD0yymxvVOS8ZW9aQRe2MA T1_;
2846 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
2847 { result = NIM_NIL;
2848 colonenvP_ = (tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw*) ClE_0;
2849 result = ((NimStringDesc*) NIM_NIL);
2850 nimZeroMem((void*)(&T1_), sizeof(tyProc__3iD0yymxvVOS8ZW9aQRe2MA));
2851 T1_.ClP_0 = getPrefer__types_902; T1_.ClE_0 = colonenvP_;
2852 prefer_2 = T1_.ClE_0? T1_.ClP_0(prefer, T1_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_10)(T1_.ClP_0))(prefer);
2853 t = typ;
2854 {
2855 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA4_;
2856 goto BeforeRet_;
2857 }
2858 LA4_: ;
2859 {
2860 NIM_BOOL T8_;
2861 NIM_BOOL T9_;
2862 NIM_BOOL T10_;
2863 T8_ = (NIM_BOOL)0;
2864 T9_ = (NIM_BOOL)0;
2865 T10_ = (NIM_BOOL)0;
2866 T10_ = ((249 &((NU8)1<<((NU)(prefer_2)&7U)))!=0);
2867 if (!(T10_)) goto LA11_;
2868 T10_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2869 LA11_: ;
2870 T9_ = T10_;
2871 if (!(T9_)) goto LA12_;
2872 T9_ = !((((*(*t).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34))&63U)))!=0));
2873 LA12_: ;
2874 T8_ = T9_;
2875 if (!(T8_)) goto LA13_;
2876 T8_ = !(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24)));
2877 LA13_: ;
2878 if (!T8_) goto LA14_;
2879 {
2880 NIM_BOOL T18_;
2881 NimStringDesc* T22_;
2882 NimStringDesc* T23_;
2883 T18_ = (NIM_BOOL)0;
2884 T18_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
2885 if (!(T18_)) goto LA19_;
2886 T18_ = isIntLit__types_186(t);
2887 LA19_: ;
2888 if (!T18_) goto LA20_;
2889 T22_ = NIM_NIL;
2890 T23_ = NIM_NIL;
2891 T23_ = dollar___systemZdollars_6((*(*t).n)._kind_1.intVal);
2892 T22_ = rawNewString(((*(*(*t).sym).name).s ? (*(*(*t).sym).name).s->Sup.len : 0) + (T23_ ? T23_->Sup.len : 0) + 10);
2893 appendString(T22_, (*(*(*t).sym).name).s);
2894 appendString(T22_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_11));
2895 appendString(T22_, T23_);
2896 appendString(T22_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_12));
2897 result = T22_;
2898 }
2899 goto LA16_;
2900 LA20_: ;
2901 {
2902 NIM_BOOL T25_;
2903 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T29_;
2904 T25_ = (NIM_BOOL)0;
2905 T25_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4));
2906 if (!(T25_)) goto LA26_;
2907 T25_ = !(((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4)));
2908 LA26_: ;
2909 if (!T25_) goto LA27_;
2910 nimZeroMem((void*)(&T29_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
2911 T29_.ClP_0 = typeToString__types_919; T29_.ClE_0 = colonenvP_;
2912 result = T29_.ClE_0? T29_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T29_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_13)(T29_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
2913 }
2914 goto LA16_;
2915 LA27_: ;
2916 {
2917 if (!((192 &((NU8)1<<((NU)(prefer_2)&7U)))!=0)) goto LA31_;
2918 switch ((*t).kind) {
2919 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
2920 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
2921 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
2922 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
2923 {
2924 result = copyString(typeToStr__types_874[((*t).kind)- 0]);
2925 }
2926 break;
2927 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
2928 {
2929 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T35_;
2930 tyObject_TType__facALICuu8zUj0hjvbTLFg* T36_;
2931 nimZeroMem((void*)(&T35_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
2932 T35_.ClP_0 = typeToString__types_919; T35_.ClE_0 = colonenvP_;
2933 T36_ = NIM_NIL;
2934 T36_ = lastSon__ast_3743(t);
2935 result = T35_.ClE_0? T35_.ClP_0(T36_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T35_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_79)(T35_.ClP_0))(T36_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
2936 }
2937 break;
2938 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
2939 {
2940 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T38_;
2941 tyObject_TType__facALICuu8zUj0hjvbTLFg* T39_;
2942 tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
2943 nimZeroMem((void*)(&T38_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
2944 T38_.ClP_0 = typeToString__types_919; T38_.ClE_0 = colonenvP_;
2945 T39_ = NIM_NIL;
2946 T39_ = lastSon__ast_3743(t);
2947 T40_ = NIM_NIL;
2948 T40_ = lastSon__ast_3743(T39_);
2949 result = T38_.ClE_0? T38_.ClP_0(T40_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T38_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_80)(T38_.ClP_0))(T40_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
2950 }
2951 break;
2952 default:
2953 {
2954 result = copyString((*(*(*t).sym).name).s);
2955 }
2956 break;
2957 }
2958 {
2959 NIM_BOOL T44_;
2960 NimStringDesc* T48_;
2961 T44_ = (NIM_BOOL)0;
2962 T44_ = (prefer_2 == ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 7));
2963 if (!(T44_)) goto LA45_;
2964 T44_ = !(eqStrings(result, (*(*(*t).sym).name).s));
2965 LA45_: ;
2966 if (!T44_) goto LA46_;
2967 T48_ = NIM_NIL;
2968 T48_ = rawNewString(((*(*(*t).sym).name).s ? (*(*(*t).sym).name).s->Sup.len : 0) + (result ? result->Sup.len : 0) + 2);
2969 appendString(T48_, (*(*(*t).sym).name).s);
2970 appendString(T48_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_81));
2971 appendString(T48_, result);
2972 appendString(T48_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_82));
2973 result = T48_;
2974 }
2975 LA46_: ;
2976 }
2977 goto LA16_;
2978 LA31_: ;
2979 {
2980 NIM_BOOL T50_;
2981 T50_ = (NIM_BOOL)0;
2982 T50_ = ((33 &((NU8)1<<((NU)(prefer_2)&7U)))!=0);
2983 if (T50_) goto LA51_;
2984 T50_ = ((*(*t).sym).owner == 0);
2985 LA51_: ;
2986 if (!T50_) goto LA52_;
2987 result = copyString((*(*(*t).sym).name).s);
2988 {
2989 NIM_BOOL T56_;
2990 NI T58_;
2991 NIM_BOOL first;
2992 T56_ = (NIM_BOOL)0;
2993 T56_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
2994 if (!(T56_)) goto LA57_;
2995 T58_ = (NI)0;
2996 T58_ = len__ast_4002(t);
2997 T56_ = (((NI) 0) < T58_);
2998 LA57_: ;
2999 if (!T56_) goto LA59_;
3000 result = resizeString(result, 2);
3001 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_83));
3002 first = NIM_TRUE;
3003 {
3004 tyObject_TType__facALICuu8zUj0hjvbTLFg** son;
3005 NI i;
3006 NI L;
3007 NI T62_;
3008 son = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
3009 i = ((NI) 0);
3010 T62_ = ((*t).sons ? (*t).sons->Sup.len : 0);
3011 L = T62_;
3012 {
3013 while (1) {
3014 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T69_;
3015 NimStringDesc* T70_;
3016 if (!(i < L)) goto LA64;
3017 son = &(*t).sons->data[i];
3018 {
3019 if (!!(first)) goto LA67_;
3020 result = resizeString(result, 4);
3021 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_84));
3022 }
3023 LA67_: ;
3024 nimZeroMem((void*)(&T69_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3025 T69_.ClP_0 = typeToString__types_919; T69_.ClE_0 = colonenvP_;
3026 T70_ = NIM_NIL;
3027 T70_ = T69_.ClE_0? T69_.ClP_0((*son), ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T69_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_85)(T69_.ClP_0))((*son), ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3028 result = resizeString(result, (T70_ ? T70_->Sup.len : 0) + 0);
3029 appendString(result, T70_);
3030 first = NIM_FALSE;
3031 i += ((NI) 1);
3032 } LA64: ;
3033 }
3034 }
3035 }
3036 LA59_: ;
3037 }
3038 goto LA16_;
3039 LA52_: ;
3040 {
3041 NimStringDesc* T72_;
3042 T72_ = NIM_NIL;
3043 T72_ = rawNewString(((*(*(*(*t).sym).owner).name).s ? (*(*(*(*t).sym).owner).name).s->Sup.len : 0) + ((*(*(*t).sym).name).s ? (*(*(*t).sym).name).s->Sup.len : 0) + 1);
3044 appendString(T72_, (*(*(*(*t).sym).owner).name).s);
3045 appendChar(T72_, 46);
3046 appendString(T72_, (*(*(*t).sym).name).s);
3047 result = T72_;
3048 }
3049 LA16_: ;
3050 addTypeFlags__types_890((&result), t);
3051 goto BeforeRet_;
3052 }
3053 LA14_: ;
3054 switch ((*t).kind) {
3055 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
3056 {
3057 {
3058 NIM_BOOL T76_;
3059 NIM_BOOL T77_;
3060 T76_ = (NIM_BOOL)0;
3061 T77_ = (NIM_BOOL)0;
3062 T77_ = isIntLit__types_186(t);
3063 T76_ = !(T77_);
3064 if (T76_) goto LA78_;
3065 T76_ = (prefer_2 == ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 2));
3066 LA78_: ;
3067 if (!T76_) goto LA79_;
3068 result = copyString(typeToStr__types_874[((*t).kind)- 0]);
3069 }
3070 goto LA74_;
3071 LA79_: ;
3072 {
3073 {
3074 if (!(prefer_2 == ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 4))) goto LA84_;
3075 result = dollar___systemZdollars_6((*(*t).n)._kind_1.intVal);
3076 }
3077 goto LA82_;
3078 LA84_: ;
3079 {
3080 NimStringDesc* T87_;
3081 NimStringDesc* T88_;
3082 T87_ = NIM_NIL;
3083 T88_ = NIM_NIL;
3084 T88_ = dollar___systemZdollars_6((*(*t).n)._kind_1.intVal);
3085 T87_ = rawNewString((T88_ ? T88_->Sup.len : 0) + 13);
3086 appendString(T87_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_87));
3087 appendString(T87_, T88_);
3088 appendString(T87_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_12));
3089 result = T87_;
3090 }
3091 LA82_: ;
3092 }
3093 LA74_: ;
3094 }
3095 break;
3096 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
3097 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
3098 {
3099 NimStringDesc* T90_;
3100 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T91_;
3101 NimStringDesc* T92_;
3102 T90_ = NIM_NIL;
3103 nimZeroMem((void*)(&T91_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3104 T91_.ClP_0 = typeToString__types_919; T91_.ClE_0 = colonenvP_;
3105 T92_ = NIM_NIL;
3106 T92_ = T91_.ClE_0? T91_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T91_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_88)(T91_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3107 T90_ = rawNewString((T92_ ? T92_->Sup.len : 0) + 1);
3108 appendString(T90_, T92_);
3109 appendChar(T90_, 91);
3110 result = T90_;
3111 {
3112 NI i_2;
3113 NI colontmp_;
3114 NI T94_;
3115 NI i_3;
3116 i_2 = (NI)0;
3117 colontmp_ = (NI)0;
3118 T94_ = (NI)0;
3119 T94_ = len__ast_4002(t);
3120 colontmp_ = (NI)(T94_ - !(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))));
3121 i_3 = ((NI) 1);
3122 {
3123 while (1) {
3124 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T101_;
3125 NimStringDesc* T102_;
3126 if (!(i_3 < colontmp_)) goto LA96;
3127 i_2 = i_3;
3128 {
3129 if (!(((NI) 1) < i_2)) goto LA99_;
3130 result = resizeString(result, 2);
3131 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
3132 }
3133 LA99_: ;
3134 nimZeroMem((void*)(&T101_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3135 T101_.ClP_0 = typeToString__types_919; T101_.ClE_0 = colonenvP_;
3136 T102_ = NIM_NIL;
3137 T102_ = T101_.ClE_0? T101_.ClP_0((*t).sons->data[i_2], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 4), T101_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_90)(T101_.ClP_0))((*t).sons->data[i_2], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 4));
3138 result = resizeString(result, (T102_ ? T102_->Sup.len : 0) + 0);
3139 appendString(result, T102_);
3140 i_3 += ((NI) 1);
3141 } LA96: ;
3142 }
3143 }
3144 result = addChar(result, 93);
3145 }
3146 break;
3147 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
3148 {
3149 NimStringDesc* T104_;
3150 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T105_;
3151 tyObject_TType__facALICuu8zUj0hjvbTLFg* T106_;
3152 NimStringDesc* T107_;
3153 T104_ = NIM_NIL;
3154 nimZeroMem((void*)(&T105_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3155 T105_.ClP_0 = typeToString__types_919; T105_.ClE_0 = colonenvP_;
3156 T106_ = NIM_NIL;
3157 T106_ = lastSon__ast_3743(t);
3158 T107_ = NIM_NIL;
3159 T107_ = T105_.ClE_0? T105_.ClP_0(T106_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T105_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_91)(T105_.ClP_0))(T106_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3160 T104_ = rawNewString((T107_ ? T107_->Sup.len : 0) + 1);
3161 appendString(T104_, T107_);
3162 appendChar(T104_, 91);
3163 result = T104_;
3164 {
3165 NI i_4;
3166 NI colontmp__2;
3167 NI T109_;
3168 NI i_5;
3169 i_4 = (NI)0;
3170 colontmp__2 = (NI)0;
3171 T109_ = (NI)0;
3172 T109_ = len__ast_4002(t);
3173 colontmp__2 = (NI)(T109_ - ((NI) 1));
3174 i_5 = ((NI) 0);
3175 {
3176 while (1) {
3177 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T116_;
3178 NimStringDesc* T117_;
3179 if (!(i_5 < colontmp__2)) goto LA111;
3180 i_4 = i_5;
3181 {
3182 if (!(((NI) 0) < i_4)) goto LA114_;
3183 result = resizeString(result, 2);
3184 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
3185 }
3186 LA114_: ;
3187 nimZeroMem((void*)(&T116_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3188 T116_.ClP_0 = typeToString__types_919; T116_.ClE_0 = colonenvP_;
3189 T117_ = NIM_NIL;
3190 T117_ = T116_.ClE_0? T116_.ClP_0((*t).sons->data[i_4], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 5), T116_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_92)(T116_.ClP_0))((*t).sons->data[i_4], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 5));
3191 result = resizeString(result, (T117_ ? T117_->Sup.len : 0) + 0);
3192 appendString(result, T117_);
3193 i_5 += ((NI) 1);
3194 } LA111: ;
3195 }
3196 }
3197 result = addChar(result, 93);
3198 }
3199 break;
3200 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
3201 {
3202 {
3203 if (!((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA121_;
3204 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_93));
3205 }
3206 goto LA119_;
3207 LA121_: ;
3208 {
3209 NimStringDesc* T124_;
3210 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T125_;
3211 NimStringDesc* T126_;
3212 T124_ = NIM_NIL;
3213 nimZeroMem((void*)(&T125_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3214 T125_.ClP_0 = typeToString__types_919; T125_.ClE_0 = colonenvP_;
3215 T126_ = NIM_NIL;
3216 T126_ = T125_.ClE_0? T125_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T125_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_95)(T125_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3217 T124_ = rawNewString((T126_ ? T126_->Sup.len : 0) + 10);
3218 appendString(T124_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_94));
3219 appendString(T124_, T126_);
3220 appendString(T124_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_96));
3221 result = T124_;
3222 }
3223 LA119_: ;
3224 }
3225 break;
3226 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
3227 {
3228 {
3229 NIM_BOOL T130_;
3230 T130_ = (NIM_BOOL)0;
3231 T130_ = (prefer_2 == ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 4));
3232 if (!(T130_)) goto LA131_;
3233 T130_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
3234 LA131_: ;
3235 if (!T130_) goto LA132_;
3236 result = renderTree__renderer_46((*t).n, 0);
3237 }
3238 goto LA128_;
3239 LA132_: ;
3240 {
3241 NimStringDesc* T135_;
3242 NimStringDesc* T136_;
3243 T135_ = NIM_NIL;
3244 T136_ = NIM_NIL;
3245 {
3246 NI T139_;
3247 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T142_;
3248 T139_ = (NI)0;
3249 T139_ = len__ast_4002(t);
3250 if (!(((NI) 0) < T139_)) goto LA140_;
3251 nimZeroMem((void*)(&T142_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3252 T142_.ClP_0 = typeToString__types_919; T142_.ClE_0 = colonenvP_;
3253 T136_ = T142_.ClE_0? T142_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T142_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_98)(T142_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3254 }
3255 goto LA137_;
3256 LA140_: ;
3257 {
3258 T136_ = ((NimStringDesc*) NIM_NIL);
3259 }
3260 LA137_: ;
3261 T135_ = rawNewString((T136_ ? T136_->Sup.len : 0) + 8);
3262 appendString(T135_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_97));
3263 appendString(T135_, T136_);
3264 appendString(T135_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_96));
3265 result = T135_;
3266 {
3267 NimStringDesc* T148_;
3268 NimStringDesc* T149_;
3269 if (!!(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA146_;
3270 T148_ = NIM_NIL;
3271 T149_ = NIM_NIL;
3272 T149_ = renderTree__renderer_46((*t).n, 0);
3273 T148_ = rawNewString((T149_ ? T149_->Sup.len : 0) + 2);
3274 appendString(T148_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_99));
3275 appendString(T148_, T149_);
3276 appendString(T148_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_12));
3277 result = resizeString(result, (T148_ ? T148_->Sup.len : 0) + 0);
3278 appendString(result, T148_);
3279 }
3280 LA146_: ;
3281 }
3282 LA128_: ;
3283 }
3284 break;
3285 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
3286 {
3287 {
3288 NIM_BOOL T153_;
3289 T153_ = (NIM_BOOL)0;
3290 T153_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3291 if (!(T153_)) goto LA154_;
3292 T153_ = !(((*(*t).sym).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3293 LA154_: ;
3294 if (!T153_) goto LA155_;
3295 {
3296 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T161_;
3297 tyObject_TType__facALICuu8zUj0hjvbTLFg* T162_;
3298 if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA159_;
3299 nimZeroMem((void*)(&T161_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3300 T161_.ClP_0 = typeToString__types_919; T161_.ClE_0 = colonenvP_;
3301 T162_ = NIM_NIL;
3302 T162_ = lastSon__ast_3743(t);
3303 result = T161_.ClE_0? T161_.ClP_0(T162_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T161_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_100)(T161_.ClP_0))(T162_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3304 goto BeforeRet_;
3305 }
3306 LA159_: ;
3307 result = copyString((*(*(*(*t).sym).owner).name).s);
3308 goto BeforeRet_;
3309 }
3310 goto LA151_;
3311 LA155_: ;
3312 {
3313 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_101));
3314 }
3315 LA151_: ;
3316 }
3317 break;
3318 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
3319 {
3320 tyObject_TType__facALICuu8zUj0hjvbTLFg* T165_;
3321 T165_ = NIM_NIL;
3322 T165_ = base__types_63(t);
3323 switch ((*T165_).kind) {
3324 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
3325 {
3326 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_102));
3327 }
3328 break;
3329 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
3330 {
3331 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_103));
3332 }
3333 break;
3334 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
3335 {
3336 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_104));
3337 }
3338 break;
3339 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
3340 {
3341 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_105));
3342 }
3343 break;
3344 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
3345 {
3346 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_106));
3347 }
3348 break;
3349 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
3350 {
3351 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_107));
3352 }
3353 break;
3354 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
3355 {
3356 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_108));
3357 }
3358 break;
3359 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
3360 {
3361 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_109));
3362 }
3363 break;
3364 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
3365 {
3366 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_39));
3367 }
3368 break;
3369 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
3370 {
3371 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_31));
3372 }
3373 break;
3374 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
3375 {
3376 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_32));
3377 }
3378 break;
3379 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
3380 {
3381 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_110));
3382 }
3383 break;
3384 default:
3385 {
3386 tyObject_TType__facALICuu8zUj0hjvbTLFg* T179_;
3387 T179_ = NIM_NIL;
3388 T179_ = base__types_63(t);
3389 result = copyString(typeToStr__types_874[((*T179_).kind)- 0]);
3390 }
3391 break;
3392 }
3393 }
3394 break;
3395 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
3396 {
3397 tyObject_TType__facALICuu8zUj0hjvbTLFg* concrete;
3398 {
3399 NI T183_;
3400 T183_ = ((*t).sons ? (*t).sons->Sup.len : 0);
3401 if (!(((NI) 1) < T183_)) goto LA184_;
3402 concrete = lastSon__ast_3743(t);
3403 }
3404 goto LA181_;
3405 LA184_: ;
3406 {
3407 concrete = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
3408 }
3409 LA181_: ;
3410 {
3411 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T191_;
3412 if (!!((concrete == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA189_;
3413 nimZeroMem((void*)(&T191_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3414 T191_.ClP_0 = typeToString__types_919; T191_.ClE_0 = colonenvP_;
3415 result = T191_.ClE_0? T191_.ClP_0(concrete, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T191_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_111)(T191_.ClP_0))(concrete, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3416 }
3417 goto LA187_;
3418 LA189_: ;
3419 {
3420 NimStringDesc* T193_;
3421 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T194_;
3422 tyObject_TType__facALICuu8zUj0hjvbTLFg* T195_;
3423 NimStringDesc* T196_;
3424 T193_ = NIM_NIL;
3425 nimZeroMem((void*)(&T194_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3426 T194_.ClP_0 = typeToString__types_919; T194_.ClE_0 = colonenvP_;
3427 T195_ = NIM_NIL;
3428 T195_ = base__types_63(t);
3429 T196_ = NIM_NIL;
3430 T196_ = T194_.ClE_0? T194_.ClP_0(T195_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T194_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_113)(T194_.ClP_0))(T195_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3431 T193_ = rawNewString((T196_ ? T196_->Sup.len : 0) + 10);
3432 appendString(T193_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_112));
3433 appendString(T193_, T196_);
3434 appendString(T193_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_96));
3435 result = T193_;
3436 }
3437 LA187_: ;
3438 }
3439 break;
3440 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
3441 {
3442 tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
3443 NimStringDesc* T198_;
3444 body = base__types_63(t);
3445 T198_ = NIM_NIL;
3446 T198_ = rawNewString(((*(*(*body).sym).name).s ? (*(*(*body).sym).name).s->Sup.len : 0) + 1);
3447 appendString(T198_, (*(*(*body).sym).name).s);
3448 appendString(T198_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_114));
3449 result = T198_;
3450 {
3451 NI i_6;
3452 NI colontmp__3;
3453 NI T200_;
3454 NI i_7;
3455 i_6 = (NI)0;
3456 colontmp__3 = (NI)0;
3457 T200_ = (NI)0;
3458 T200_ = len__ast_4002(t);
3459 colontmp__3 = (NI)(T200_ - ((NI) 1));
3460 i_7 = ((NI) 1);
3461 {
3462 while (1) {
3463 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T207_;
3464 NimStringDesc* T208_;
3465 if (!(i_7 < colontmp__3)) goto LA202;
3466 i_6 = i_7;
3467 {
3468 if (!(((NI) 1) < i_6)) goto LA205_;
3469 result = resizeString(result, 2);
3470 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
3471 }
3472 LA205_: ;
3473 nimZeroMem((void*)(&T207_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3474 T207_.ClP_0 = typeToString__types_919; T207_.ClE_0 = colonenvP_;
3475 T208_ = NIM_NIL;
3476 T208_ = T207_.ClE_0? T207_.ClP_0((*t).sons->data[i_6], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T207_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_115)(T207_.ClP_0))((*t).sons->data[i_6], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3477 result = resizeString(result, (T208_ ? T208_->Sup.len : 0) + 0);
3478 appendString(result, T208_);
3479 i_7 += ((NI) 1);
3480 } LA202: ;
3481 }
3482 }
3483 result = resizeString(result, 1);
3484 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_96));
3485 }
3486 break;
3487 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
3488 {
3489 {
3490 NI i_8;
3491 tyObject_TType__facALICuu8zUj0hjvbTLFg* son_2;
3492 NI i_9;
3493 NI L_2;
3494 NI T211_;
3495 i_8 = (NI)0;
3496 son_2 = NIM_NIL;
3497 i_9 = ((NI) 0);
3498 T211_ = ((*t).sons ? (*t).sons->Sup.len : 0);
3499 L_2 = T211_;
3500 {
3501 while (1) {
3502 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T214_;
3503 NimStringDesc* T215_;
3504 if (!(i_9 < L_2)) goto LA213;
3505 i_8 = i_9;
3506 son_2 = (*t).sons->data[i_9];
3507 nimZeroMem((void*)(&T214_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3508 T214_.ClP_0 = typeToString__types_919; T214_.ClE_0 = colonenvP_;
3509 T215_ = NIM_NIL;
3510 T215_ = T214_.ClE_0? T214_.ClP_0(son_2, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T214_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_116)(T214_.ClP_0))(son_2, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3511 result = resizeString(result, (T215_ ? T215_->Sup.len : 0) + 0);
3512 appendString(result, T215_);
3513 {
3514 NI T218_;
3515 T218_ = (((*t).sons ? (*t).sons->Sup.len : 0)-1);
3516 if (!(i_8 < T218_)) goto LA219_;
3517 result = resizeString(result, 5);
3518 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_117));
3519 }
3520 LA219_: ;
3521 i_9 += ((NI) 1);
3522 } LA213: ;
3523 }
3524 }
3525 }
3526 break;
3527 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
3528 {
3529 {
3530 NI i_10;
3531 tyObject_TType__facALICuu8zUj0hjvbTLFg* son_3;
3532 NI i_11;
3533 NI L_3;
3534 NI T223_;
3535 i_10 = (NI)0;
3536 son_3 = NIM_NIL;
3537 i_11 = ((NI) 0);
3538 T223_ = ((*t).sons ? (*t).sons->Sup.len : 0);
3539 L_3 = T223_;
3540 {
3541 while (1) {
3542 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T226_;
3543 NimStringDesc* T227_;
3544 if (!(i_11 < L_3)) goto LA225;
3545 i_10 = i_11;
3546 son_3 = (*t).sons->data[i_11];
3547 nimZeroMem((void*)(&T226_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3548 T226_.ClP_0 = typeToString__types_919; T226_.ClE_0 = colonenvP_;
3549 T227_ = NIM_NIL;
3550 T227_ = T226_.ClE_0? T226_.ClP_0(son_3, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T226_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_118)(T226_.ClP_0))(son_3, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3551 result = resizeString(result, (T227_ ? T227_->Sup.len : 0) + 0);
3552 appendString(result, T227_);
3553 {
3554 NI T230_;
3555 T230_ = (((*t).sons ? (*t).sons->Sup.len : 0)-1);
3556 if (!(i_10 < T230_)) goto LA231_;
3557 result = resizeString(result, 4);
3558 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_84));
3559 }
3560 LA231_: ;
3561 i_11 += ((NI) 1);
3562 } LA225: ;
3563 }
3564 }
3565 }
3566 break;
3567 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
3568 {
3569 NimStringDesc* T234_;
3570 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T235_;
3571 NimStringDesc* T236_;
3572 T234_ = NIM_NIL;
3573 nimZeroMem((void*)(&T235_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3574 T235_.ClP_0 = typeToString__types_919; T235_.ClE_0 = colonenvP_;
3575 T236_ = NIM_NIL;
3576 T236_ = T235_.ClE_0? T235_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T235_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_120)(T235_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3577 T234_ = rawNewString((T236_ ? T236_->Sup.len : 0) + 4);
3578 appendString(T234_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_119));
3579 appendString(T234_, T236_);
3580 result = T234_;
3581 }
3582 break;
3583 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
3584 {
3585 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_20));
3586 }
3587 break;
3588 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
3589 {
3590 {
3591 if (!((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA241_;
3592 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_121));
3593 }
3594 goto LA239_;
3595 LA241_: ;
3596 {
3597 NimStringDesc* T244_;
3598 NimStringDesc* T245_;
3599 T244_ = NIM_NIL;
3600 T245_ = NIM_NIL;
3601 T245_ = renderTree__renderer_46((*t).n, 0);
3602 T244_ = rawNewString((T245_ ? T245_->Sup.len : 0) + 8);
3603 appendString(T244_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_122));
3604 appendString(T244_, T245_);
3605 appendString(T244_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_12));
3606 result = T244_;
3607 }
3608 LA239_: ;
3609 }
3610 break;
3611 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
3612 {
3613 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_106));
3614 {
3615 NI T249_;
3616 T249_ = (NI)0;
3617 T249_ = len__ast_4002(t);
3618 if (!(((NI) 0) < T249_)) goto LA250_;
3619 {
3620 NimStringDesc* T256_;
3621 NimStringDesc* T257_;
3622 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T258_;
3623 NimStringDesc* T259_;
3624 if (!((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20))) goto LA254_;
3625 T256_ = NIM_NIL;
3626 T257_ = NIM_NIL;
3627 T257_ = rangeToStr__types_862((*(*t).sons->data[((NI) 0)]).n);
3628 nimZeroMem((void*)(&T258_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3629 T258_.ClP_0 = typeToString__types_919; T258_.ClE_0 = colonenvP_;
3630 T259_ = NIM_NIL;
3631 T259_ = T258_.ClE_0? T258_.ClP_0((*t).sons->data[((NI) 1)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T258_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_125)(T258_.ClP_0))((*t).sons->data[((NI) 1)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3632 T256_ = rawNewString((T257_ ? T257_->Sup.len : 0) + (T259_ ? T259_->Sup.len : 0) + 4);
3633 appendString(T256_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_114));
3634 appendString(T256_, T257_);
3635 appendString(T256_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
3636 appendString(T256_, T259_);
3637 appendChar(T256_, 93);
3638 result = resizeString(result, (T256_ ? T256_->Sup.len : 0) + 0);
3639 appendString(result, T256_);
3640 }
3641 goto LA252_;
3642 LA254_: ;
3643 {
3644 NimStringDesc* T261_;
3645 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T262_;
3646 NimStringDesc* T263_;
3647 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T264_;
3648 NimStringDesc* T265_;
3649 T261_ = NIM_NIL;
3650 nimZeroMem((void*)(&T262_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3651 T262_.ClP_0 = typeToString__types_919; T262_.ClE_0 = colonenvP_;
3652 T263_ = NIM_NIL;
3653 T263_ = T262_.ClE_0? T262_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T262_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_126)(T262_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3654 nimZeroMem((void*)(&T264_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3655 T264_.ClP_0 = typeToString__types_919; T264_.ClE_0 = colonenvP_;
3656 T265_ = NIM_NIL;
3657 T265_ = T264_.ClE_0? T264_.ClP_0((*t).sons->data[((NI) 1)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T264_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_127)(T264_.ClP_0))((*t).sons->data[((NI) 1)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3658 T261_ = rawNewString((T263_ ? T263_->Sup.len : 0) + (T265_ ? T265_->Sup.len : 0) + 4);
3659 appendString(T261_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_114));
3660 appendString(T261_, T263_);
3661 appendString(T261_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
3662 appendString(T261_, T265_);
3663 appendChar(T261_, 93);
3664 result = resizeString(result, (T261_ ? T261_->Sup.len : 0) + 0);
3665 appendString(result, T261_);
3666 }
3667 LA252_: ;
3668 }
3669 LA250_: ;
3670 }
3671 break;
3672 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
3673 {
3674 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_128));
3675 {
3676 NI T269_;
3677 NimStringDesc* T272_;
3678 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T273_;
3679 NimStringDesc* T274_;
3680 T269_ = (NI)0;
3681 T269_ = len__ast_4002(t);
3682 if (!(((NI) 0) < T269_)) goto LA270_;
3683 T272_ = NIM_NIL;
3684 nimZeroMem((void*)(&T273_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3685 T273_.ClP_0 = typeToString__types_919; T273_.ClE_0 = colonenvP_;
3686 T274_ = NIM_NIL;
3687 T274_ = T273_.ClE_0? T273_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T273_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_129)(T273_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3688 T272_ = rawNewString((T274_ ? T274_->Sup.len : 0) + 2);
3689 appendString(T272_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_114));
3690 appendString(T272_, T274_);
3691 appendChar(T272_, 93);
3692 result = resizeString(result, (T272_ ? T272_->Sup.len : 0) + 0);
3693 appendString(result, T272_);
3694 }
3695 LA270_: ;
3696 }
3697 break;
3698 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
3699 {
3700 {
3701 NIM_BOOL T278_;
3702 T278_ = (NIM_BOOL)0;
3703 T278_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3704 if (!(T278_)) goto LA279_;
3705 T278_ = !((prefer_2 == ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 6)));
3706 LA279_: ;
3707 if (!T278_) goto LA280_;
3708 result = copyString((*(*(*t).sym).name).s);
3709 }
3710 goto LA276_;
3711 LA280_: ;
3712 {
3713 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_105));
3714 {
3715 NI T285_;
3716 NimStringDesc* T288_;
3717 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T289_;
3718 NimStringDesc* T290_;
3719 T285_ = (NI)0;
3720 T285_ = len__ast_4002(t);
3721 if (!(((NI) 0) < T285_)) goto LA286_;
3722 T288_ = NIM_NIL;
3723 nimZeroMem((void*)(&T289_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3724 T289_.ClP_0 = typeToString__types_919; T289_.ClE_0 = colonenvP_;
3725 T290_ = NIM_NIL;
3726 T290_ = T289_.ClE_0? T289_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T289_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_130)(T289_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3727 T288_ = rawNewString((T290_ ? T290_->Sup.len : 0) + 2);
3728 appendString(T288_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_114));
3729 appendString(T288_, T290_);
3730 appendChar(T288_, 93);
3731 result = resizeString(result, (T288_ ? T288_->Sup.len : 0) + 0);
3732 appendString(result, T288_);
3733 }
3734 LA286_: ;
3735 }
3736 LA276_: ;
3737 }
3738 break;
3739 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
3740 {
3741 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_131));
3742 {
3743 NI T294_;
3744 NimStringDesc* T297_;
3745 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T298_;
3746 NimStringDesc* T299_;
3747 T294_ = (NI)0;
3748 T294_ = len__ast_4002(t);
3749 if (!(((NI) 0) < T294_)) goto LA295_;
3750 T297_ = NIM_NIL;
3751 nimZeroMem((void*)(&T298_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3752 T298_.ClP_0 = typeToString__types_919; T298_.ClE_0 = colonenvP_;
3753 T299_ = NIM_NIL;
3754 T299_ = T298_.ClE_0? T298_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T298_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_132)(T298_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3755 T297_ = rawNewString((T299_ ? T299_->Sup.len : 0) + 2);
3756 appendString(T297_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_114));
3757 appendString(T297_, T299_);
3758 appendChar(T297_, 93);
3759 result = resizeString(result, (T297_ ? T297_->Sup.len : 0) + 0);
3760 appendString(result, T297_);
3761 }
3762 LA295_: ;
3763 }
3764 break;
3765 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
3766 {
3767 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_107));
3768 {
3769 NI T303_;
3770 NimStringDesc* T306_;
3771 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T307_;
3772 NimStringDesc* T308_;
3773 T303_ = (NI)0;
3774 T303_ = len__ast_4002(t);
3775 if (!(((NI) 0) < T303_)) goto LA304_;
3776 T306_ = NIM_NIL;
3777 nimZeroMem((void*)(&T307_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3778 T307_.ClP_0 = typeToString__types_919; T307_.ClE_0 = colonenvP_;
3779 T308_ = NIM_NIL;
3780 T308_ = T307_.ClE_0? T307_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T307_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_133)(T307_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3781 T306_ = rawNewString((T308_ ? T308_->Sup.len : 0) + 2);
3782 appendString(T306_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_114));
3783 appendString(T306_, T308_);
3784 appendChar(T306_, 93);
3785 result = resizeString(result, (T306_ ? T306_->Sup.len : 0) + 0);
3786 appendString(result, T306_);
3787 }
3788 LA304_: ;
3789 }
3790 break;
3791 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
3792 {
3793 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_110));
3794 {
3795 NI T312_;
3796 NimStringDesc* T315_;
3797 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T316_;
3798 NimStringDesc* T317_;
3799 T312_ = (NI)0;
3800 T312_ = len__ast_4002(t);
3801 if (!(((NI) 0) < T312_)) goto LA313_;
3802 T315_ = NIM_NIL;
3803 nimZeroMem((void*)(&T316_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3804 T316_.ClP_0 = typeToString__types_919; T316_.ClE_0 = colonenvP_;
3805 T317_ = NIM_NIL;
3806 T317_ = T316_.ClE_0? T316_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T316_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_134)(T316_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3807 T315_ = rawNewString((T317_ ? T317_->Sup.len : 0) + 2);
3808 appendString(T315_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_114));
3809 appendString(T315_, T317_);
3810 appendChar(T315_, 93);
3811 result = resizeString(result, (T315_ ? T315_->Sup.len : 0) + 0);
3812 appendString(result, T315_);
3813 }
3814 LA313_: ;
3815 }
3816 break;
3817 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
3818 {
3819 NimStringDesc* T319_;
3820 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T320_;
3821 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw T321_;
3822 NimStringDesc* T327_;
3823 T319_ = NIM_NIL;
3824 nimZeroMem((void*)(&T320_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3825 T320_.ClP_0 = typeToString__types_919; T320_.ClE_0 = colonenvP_;
3826 T321_ = (tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw)0;
3827 {
3828 if (!(prefer_2 == ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 3))) goto LA324_;
3829 T321_ = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 3);
3830 }
3831 goto LA322_;
3832 LA324_: ;
3833 {
3834 T321_ = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 5);
3835 }
3836 LA322_: ;
3837 T327_ = NIM_NIL;
3838 T327_ = T320_.ClE_0? T320_.ClP_0((*t).sons->data[((NI) 0)], T321_, T320_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_136)(T320_.ClP_0))((*t).sons->data[((NI) 0)], T321_);
3839 T319_ = rawNewString((T327_ ? T327_->Sup.len : 0) + 9);
3840 appendString(T319_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_135));
3841 appendString(T319_, T327_);
3842 result = T319_;
3843 }
3844 break;
3845 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64):
3846 {
3847 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_78));
3848 {
3849 NI T331_;
3850 NimStringDesc* T334_;
3851 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T335_;
3852 NimStringDesc* T336_;
3853 T331_ = (NI)0;
3854 T331_ = len__ast_4002(t);
3855 if (!(((NI) 0) < T331_)) goto LA332_;
3856 T334_ = NIM_NIL;
3857 nimZeroMem((void*)(&T335_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3858 T335_.ClP_0 = typeToString__types_919; T335_.ClE_0 = colonenvP_;
3859 T336_ = NIM_NIL;
3860 T336_ = T335_.ClE_0? T335_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T335_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_137)(T335_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3861 T334_ = rawNewString((T336_ ? T336_->Sup.len : 0) + 2);
3862 appendString(T334_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_114));
3863 appendString(T334_, T336_);
3864 appendChar(T334_, 93);
3865 result = resizeString(result, (T334_ ? T334_->Sup.len : 0) + 0);
3866 appendString(result, T334_);
3867 }
3868 LA332_: ;
3869 }
3870 break;
3871 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
3872 {
3873 {
3874 if (!!(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA340_;
3875 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_138));
3876 {
3877 NI i_12;
3878 NI colontmp__4;
3879 NI i_13;
3880 i_12 = (NI)0;
3881 colontmp__4 = (NI)0;
3882 colontmp__4 = len__ast_3198((*t).n);
3883 i_13 = ((NI) 0);
3884 {
3885 while (1) {
3886 NimStringDesc* T345_;
3887 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T346_;
3888 NimStringDesc* T347_;
3889 if (!(i_13 < colontmp__4)) goto LA344;
3890 i_12 = i_13;
3891 T345_ = NIM_NIL;
3892 nimZeroMem((void*)(&T346_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3893 T346_.ClP_0 = typeToString__types_919; T346_.ClE_0 = colonenvP_;
3894 T347_ = NIM_NIL;
3895 T347_ = T346_.ClE_0? T346_.ClP_0((*t).sons->data[i_12], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T346_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_139)(T346_.ClP_0))((*t).sons->data[i_12], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3896 T345_ = rawNewString(((*(*(*(*(*t).n)._kind_6.sons->data[i_12])._kind_4.sym).name).s ? (*(*(*(*(*t).n)._kind_6.sons->data[i_12])._kind_4.sym).name).s->Sup.len : 0) + (T347_ ? T347_->Sup.len : 0) + 2);
3897 appendString(T345_, (*(*(*(*(*t).n)._kind_6.sons->data[i_12])._kind_4.sym).name).s);
3898 appendString(T345_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_83));
3899 appendString(T345_, T347_);
3900 result = resizeString(result, (T345_ ? T345_->Sup.len : 0) + 0);
3901 appendString(result, T345_);
3902 {
3903 NI T350_;
3904 T350_ = (NI)0;
3905 T350_ = len__ast_3198((*t).n);
3906 if (!(i_12 < (NI)(T350_ - ((NI) 1)))) goto LA351_;
3907 result = resizeString(result, 2);
3908 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
3909 }
3910 LA351_: ;
3911 i_13 += ((NI) 1);
3912 } LA344: ;
3913 }
3914 }
3915 result = addChar(result, 93);
3916 }
3917 goto LA338_;
3918 LA340_: ;
3919 {
3920 NI T354_;
3921 T354_ = (NI)0;
3922 T354_ = len__ast_4002(t);
3923 if (!(T354_ == ((NI) 0))) goto LA355_;
3924 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_140));
3925 }
3926 goto LA338_;
3927 LA355_: ;
3928 {
3929 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_99));
3930 {
3931 NI i_14;
3932 NI colontmp__5;
3933 NI i_15;
3934 i_14 = (NI)0;
3935 colontmp__5 = (NI)0;
3936 colontmp__5 = len__ast_4002(t);
3937 i_15 = ((NI) 0);
3938 {
3939 while (1) {
3940 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T361_;
3941 NimStringDesc* T362_;
3942 if (!(i_15 < colontmp__5)) goto LA360;
3943 i_14 = i_15;
3944 nimZeroMem((void*)(&T361_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
3945 T361_.ClP_0 = typeToString__types_919; T361_.ClE_0 = colonenvP_;
3946 T362_ = NIM_NIL;
3947 T362_ = T361_.ClE_0? T361_.ClP_0((*t).sons->data[i_14], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T361_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_141)(T361_.ClP_0))((*t).sons->data[i_14], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
3948 result = resizeString(result, (T362_ ? T362_->Sup.len : 0) + 0);
3949 appendString(result, T362_);
3950 {
3951 NI T365_;
3952 T365_ = (NI)0;
3953 T365_ = len__ast_4002(t);
3954 if (!(i_14 < (NI)(T365_ - ((NI) 1)))) goto LA366_;
3955 result = resizeString(result, 2);
3956 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
3957 }
3958 goto LA363_;
3959 LA366_: ;
3960 {
3961 NI T369_;
3962 T369_ = (NI)0;
3963 T369_ = len__ast_4002(t);
3964 if (!(T369_ == ((NI) 1))) goto LA370_;
3965 result = resizeString(result, 1);
3966 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_142));
3967 }
3968 goto LA363_;
3969 LA370_: ;
3970 LA363_: ;
3971 i_15 += ((NI) 1);
3972 } LA360: ;
3973 }
3974 }
3975 result = addChar(result, 41);
3976 }
3977 LA338_: ;
3978 }
3979 break;
3980 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
3981 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
3982 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
3983 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
3984 {
3985 result = copyString(typeToStr__types_874[((*t).kind)- 0]);
3986 {
3987 NI T375_;
3988 T375_ = (NI)0;
3989 T375_ = len__ast_4002(t);
3990 if (!(((NI) 2) <= T375_)) goto LA376_;
3991 result = setLengthStr(result, ((NI) ((NI)((result ? result->Sup.len : 0) - ((NI) 1)))));
3992 result = addChar(result, 91);
3993 {
3994 NI i_16;
3995 NI colontmp__6;
3996 NI i_17;
3997 i_16 = (NI)0;
3998 colontmp__6 = (NI)0;
3999 colontmp__6 = len__ast_4002(t);
4000 i_17 = ((NI) 0);
4001 {
4002 while (1) {
4003 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T381_;
4004 NimStringDesc* T382_;
4005 if (!(i_17 < colontmp__6)) goto LA380;
4006 i_16 = i_17;
4007 nimZeroMem((void*)(&T381_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
4008 T381_.ClP_0 = typeToString__types_919; T381_.ClE_0 = colonenvP_;
4009 T382_ = NIM_NIL;
4010 T382_ = T381_.ClE_0? T381_.ClP_0((*t).sons->data[i_16], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T381_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_143)(T381_.ClP_0))((*t).sons->data[i_16], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
4011 result = resizeString(result, (T382_ ? T382_->Sup.len : 0) + 0);
4012 appendString(result, T382_);
4013 {
4014 NI T385_;
4015 T385_ = (NI)0;
4016 T385_ = len__ast_4002(t);
4017 if (!(i_16 < (NI)(T385_ - ((NI) 1)))) goto LA386_;
4018 result = resizeString(result, 2);
4019 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
4020 }
4021 LA386_: ;
4022 i_17 += ((NI) 1);
4023 } LA380: ;
4024 }
4025 }
4026 result = addChar(result, 93);
4027 }
4028 goto LA373_;
4029 LA376_: ;
4030 {
4031 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T389_;
4032 NimStringDesc* T390_;
4033 nimZeroMem((void*)(&T389_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
4034 T389_.ClP_0 = typeToString__types_919; T389_.ClE_0 = colonenvP_;
4035 T390_ = NIM_NIL;
4036 T390_ = T389_.ClE_0? T389_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T389_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_144)(T389_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
4037 result = resizeString(result, (T390_ ? T390_->Sup.len : 0) + 0);
4038 appendString(result, T390_);
4039 }
4040 LA373_: ;
4041 }
4042 break;
4043 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
4044 {
4045 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_145));
4046 {
4047 NIM_BOOL T394_;
4048 NimStringDesc* T398_;
4049 T394_ = (NIM_BOOL)0;
4050 T394_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4051 if (!(T394_)) goto LA395_;
4052 T394_ = ((*(*t).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44));
4053 LA395_: ;
4054 if (!T394_) goto LA396_;
4055 T398_ = NIM_NIL;
4056 T398_ = rangeToStr__types_862((*t).n);
4057 result = resizeString(result, (T398_ ? T398_->Sup.len : 0) + 0);
4058 appendString(result, T398_);
4059 }
4060 LA396_: ;
4061 {
4062 NimStringDesc* T403_;
4063 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T404_;
4064 NimStringDesc* T405_;
4065 if (!!((prefer_2 == ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 2)))) goto LA401_;
4066 T403_ = NIM_NIL;
4067 nimZeroMem((void*)(&T404_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
4068 T404_.ClP_0 = typeToString__types_919; T404_.ClE_0 = colonenvP_;
4069 T405_ = NIM_NIL;
4070 T405_ = T404_.ClE_0? T404_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T404_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_146)(T404_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
4071 T403_ = rawNewString((T405_ ? T405_->Sup.len : 0) + 2);
4072 appendString(T403_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_99));
4073 appendString(T403_, T405_);
4074 appendString(T403_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_12));
4075 result = resizeString(result, (T403_ ? T403_->Sup.len : 0) + 0);
4076 appendString(result, T403_);
4077 }
4078 LA401_: ;
4079 }
4080 break;
4081 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
4082 {
4083 NimStringDesc* prag;
4084 {
4085 if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0)) goto LA409_;
4086 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_147));
4087 }
4088 goto LA407_;
4089 LA409_: ;
4090 {
4091 if (!!(((*t).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA412_;
4092 switch ((*(*t).owner).kind) {
4093 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
4094 {
4095 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_148));
4096 }
4097 break;
4098 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
4099 {
4100 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_149));
4101 }
4102 break;
4103 case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
4104 {
4105 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_150));
4106 }
4107 break;
4108 default:
4109 {
4110 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_151));
4111 }
4112 break;
4113 }
4114 }
4115 goto LA407_;
4116 LA412_: ;
4117 {
4118 result = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_151));
4119 }
4120 LA407_: ;
4121 {
4122 if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA421_;
4123 result = resizeString(result, 22);
4124 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_152));
4125 }
4126 LA421_: ;
4127 result = resizeString(result, 1);
4128 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_99));
4129 {
4130 NI i_18;
4131 NI colontmp__7;
4132 NI i_19;
4133 i_18 = (NI)0;
4134 colontmp__7 = (NI)0;
4135 colontmp__7 = len__ast_4002(t);
4136 i_19 = ((NI) 1);
4137 {
4138 while (1) {
4139 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T435_;
4140 NimStringDesc* T436_;
4141 if (!(i_19 < colontmp__7)) goto LA425;
4142 i_18 = i_19;
4143 {
4144 NIM_BOOL T428_;
4145 NIM_BOOL T429_;
4146 NI T431_;
4147 T428_ = (NIM_BOOL)0;
4148 T429_ = (NIM_BOOL)0;
4149 T429_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4150 if (!(T429_)) goto LA430_;
4151 T431_ = (NI)0;
4152 T431_ = len__ast_3198((*t).n);
4153 T429_ = (i_18 < T431_);
4154 LA430_: ;
4155 T428_ = T429_;
4156 if (!(T428_)) goto LA432_;
4157 T428_ = ((*(*(*t).n)._kind_6.sons->data[i_18]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
4158 LA432_: ;
4159 if (!T428_) goto LA433_;
4160 result = resizeString(result, ((*(*(*(*(*t).n)._kind_6.sons->data[i_18])._kind_4.sym).name).s ? (*(*(*(*(*t).n)._kind_6.sons->data[i_18])._kind_4.sym).name).s->Sup.len : 0) + 0);
4161 appendString(result, (*(*(*(*(*t).n)._kind_6.sons->data[i_18])._kind_4.sym).name).s);
4162 result = resizeString(result, 2);
4163 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_83));
4164 }
4165 LA433_: ;
4166 nimZeroMem((void*)(&T435_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
4167 T435_.ClP_0 = typeToString__types_919; T435_.ClE_0 = colonenvP_;
4168 T436_ = NIM_NIL;
4169 T436_ = T435_.ClE_0? T435_.ClP_0((*t).sons->data[i_18], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T435_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_153)(T435_.ClP_0))((*t).sons->data[i_18], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
4170 result = resizeString(result, (T436_ ? T436_->Sup.len : 0) + 0);
4171 appendString(result, T436_);
4172 {
4173 NI T439_;
4174 T439_ = (NI)0;
4175 T439_ = len__ast_4002(t);
4176 if (!(i_18 < (NI)(T439_ - ((NI) 1)))) goto LA440_;
4177 result = resizeString(result, 2);
4178 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
4179 }
4180 LA440_: ;
4181 i_19 += ((NI) 1);
4182 } LA425: ;
4183 }
4184 }
4185 result = addChar(result, 41);
4186 {
4187 NIM_BOOL T444_;
4188 NI T445_;
4189 NimStringDesc* T449_;
4190 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T450_;
4191 NimStringDesc* T451_;
4192 T444_ = (NIM_BOOL)0;
4193 T445_ = (NI)0;
4194 T445_ = len__ast_4002(t);
4195 T444_ = (((NI) 0) < T445_);
4196 if (!(T444_)) goto LA446_;
4197 T444_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4198 LA446_: ;
4199 if (!T444_) goto LA447_;
4200 T449_ = NIM_NIL;
4201 nimZeroMem((void*)(&T450_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
4202 T450_.ClP_0 = typeToString__types_919; T450_.ClE_0 = colonenvP_;
4203 T451_ = NIM_NIL;
4204 T451_ = T450_.ClE_0? T450_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T450_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_154)(T450_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
4205 T449_ = rawNewString((T451_ ? T451_->Sup.len : 0) + 2);
4206 appendString(T449_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_83));
4207 appendString(T449_, T451_);
4208 result = resizeString(result, (T449_ ? T449_->Sup.len : 0) + 0);
4209 appendString(result, T449_);
4210 }
4211 LA447_: ;
4212 {
4213 NIM_BOOL T454_;
4214 T454_ = (NIM_BOOL)0;
4215 T454_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 0));
4216 if (!(T454_)) goto LA455_;
4217 T454_ = !((((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 42))&63U)))!=0));
4218 LA455_: ;
4219 if (!T454_) goto LA456_;
4220 prag = ((NimStringDesc*) NIM_NIL);
4221 }
4222 goto LA452_;
4223 LA456_: ;
4224 {
4225 prag = reprEnum((NI)(*t).callConv, (&NTItcallingconvention__yjAJ8w0h1PBaSwSGJ3P7IA_));
4226 }
4227 LA452_: ;
4228 {
4229 if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0)) goto LA461_;
4230 addSep__pureZstrutils_1337((&prag), ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89), ((NI) 0));
4231 prag = resizeString(prag, 12);
4232 appendString(prag, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_155));
4233 }
4234 LA461_: ;
4235 {
4236 if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 7))&63U)))!=0)) goto LA465_;
4237 addSep__pureZstrutils_1337((&prag), ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89), ((NI) 0));
4238 prag = resizeString(prag, 6);
4239 appendString(prag, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_156));
4240 }
4241 LA465_: ;
4242 {
4243 NimStringDesc* T471_;
4244 NimStringDesc* T472_;
4245 if (!!(((*t).lockLevel == ((NI) -1)))) goto LA469_;
4246 addSep__pureZstrutils_1337((&prag), ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89), ((NI) 0));
4247 T471_ = NIM_NIL;
4248 T472_ = NIM_NIL;
4249 T472_ = dollar___ast_3858((*t).lockLevel);
4250 T471_ = rawNewString((T472_ ? T472_->Sup.len : 0) + 7);
4251 appendString(T471_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_157));
4252 appendString(T471_, T472_);
4253 prag = resizeString(prag, (T471_ ? T471_->Sup.len : 0) + 0);
4254 appendString(prag, T471_);
4255 }
4256 LA469_: ;
4257 {
4258 NimStringDesc* T477_;
4259 if (!!(((prag ? prag->Sup.len : 0) == ((NI) 0)))) goto LA475_;
4260 T477_ = NIM_NIL;
4261 T477_ = rawNewString((prag ? prag->Sup.len : 0) + 4);
4262 appendString(T477_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_158));
4263 appendString(T477_, prag);
4264 appendString(T477_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_159));
4265 result = resizeString(result, (T477_ ? T477_->Sup.len : 0) + 0);
4266 appendString(result, T477_);
4267 }
4268 LA475_: ;
4269 }
4270 break;
4271 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
4272 {
4273 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T479_;
4274 NimStringDesc* T480_;
4275 nimZeroMem((void*)(&T479_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
4276 T479_.ClP_0 = typeToString__types_919; T479_.ClE_0 = colonenvP_;
4277 T480_ = NIM_NIL;
4278 T480_ = T479_.ClE_0? T479_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T479_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_160)(T479_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
4279 result = nsuFormatSingleElem(typeToStr__types_874[((*t).kind)- 0], T480_);
4280 }
4281 break;
4282 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
4283 {
4284 NimStringDesc* T482_;
4285 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T483_;
4286 NimStringDesc* T484_;
4287 T482_ = NIM_NIL;
4288 nimZeroMem((void*)(&T483_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
4289 T483_.ClP_0 = typeToString__types_919; T483_.ClE_0 = colonenvP_;
4290 T484_ = NIM_NIL;
4291 T484_ = T483_.ClE_0? T483_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T483_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_162)(T483_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
4292 T482_ = rawNewString((T484_ ? T484_->Sup.len : 0) + 5);
4293 appendString(T482_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_161));
4294 appendString(T482_, T484_);
4295 result = T482_;
4296 }
4297 break;
4298 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
4299 {
4300 NimStringDesc* T486_;
4301 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T487_;
4302 NimStringDesc* T488_;
4303 T486_ = NIM_NIL;
4304 nimZeroMem((void*)(&T487_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
4305 T487_.ClP_0 = typeToString__types_919; T487_.ClE_0 = colonenvP_;
4306 T488_ = NIM_NIL;
4307 T488_ = T487_.ClE_0? T487_.ClP_0((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), T487_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_164)(T487_.ClP_0))((*t).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
4308 T486_ = rawNewString((T488_ ? T488_->Sup.len : 0) + 6);
4309 appendString(T486_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_163));
4310 appendString(T486_, T488_);
4311 result = T486_;
4312 }
4313 break;
4314 default:
4315 {
4316 result = copyString(typeToStr__types_874[((*t).kind)- 0]);
4317 }
4318 break;
4319 }
4320 addTypeFlags__types_890((&result), t);
4321 }BeforeRet_: ;
4322 return result;
4323 }
N_NIMCALL(NimStringDesc *,typeToString__types_50)4324 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer) {
4325 NimStringDesc* result;
4326 tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw* colonenv_;
4327 tyProc__QZr2s9cqtiNBm1DLTkzxDcw T1_;
4328 result = NIM_NIL;
4329 colonenv_ = NIM_NIL;
4330 colonenv_ = (tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw*) newObj((&NTIrefobject__ik3gfZ9aJJHPxASsunXJrEA_), sizeof(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw));
4331 (*colonenv_).Sup.m_type = (&NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_);
4332 (*colonenv_).preferToplevel1 = prefer;
4333 nimZeroMem((void*)(&T1_), sizeof(tyProc__QZr2s9cqtiNBm1DLTkzxDcw));
4334 T1_.ClP_0 = typeToString__types_919; T1_.ClE_0 = colonenv_;
4335 result = T1_.ClE_0? T1_.ClP_0(typ, prefer, T1_.ClE_0):((TM__PpBJsMJcrcWrpLTS6mci1g_165)(T1_.ClP_0))(typ, prefer);
4336 return result;
4337 }
N_NIMCALL(NI,safeInheritanceDiff__types_3383)4338 N_LIB_PRIVATE N_NIMCALL(NI, safeInheritanceDiff__types_3383)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
4339 NI result;
4340 result = (NI)0;
4341 {
4342 NIM_BOOL T3_;
4343 T3_ = (NIM_BOOL)0;
4344 T3_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
4345 if (T3_) goto LA4_;
4346 T3_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
4347 LA4_: ;
4348 if (!T3_) goto LA5_;
4349 result = ((NI) -1);
4350 }
4351 goto LA1_;
4352 LA5_: ;
4353 {
4354 tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
4355 tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
4356 T8_ = NIM_NIL;
4357 T8_ = skipTypes__ast_3735(a, TM__PpBJsMJcrcWrpLTS6mci1g_5);
4358 T9_ = NIM_NIL;
4359 T9_ = skipTypes__ast_3735(b, TM__PpBJsMJcrcWrpLTS6mci1g_5);
4360 result = inheritanceDiff__types_2676(T8_, T9_);
4361 }
4362 LA1_: ;
4363 return result;
4364 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,elemType__types_263)4365 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4366 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
4367 result = NIM_NIL;
4368 switch ((*t).kind) {
4369 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
4370 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
4371 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
4372 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
4373 {
4374 tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
4375 T2_ = NIM_NIL;
4376 T2_ = lastSon__ast_3743(t);
4377 result = elemType__types_263(T2_);
4378 }
4379 break;
4380 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
4381 {
4382 result = (*t).sons->data[((NI) 1)];
4383 }
4384 break;
4385 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
4386 {
4387 result = t;
4388 }
4389 break;
4390 default:
4391 {
4392 result = lastSon__ast_3743(t);
4393 }
4394 break;
4395 }
4396 return result;
4397 }
N_NIMCALL(NIM_BOOL,compareTypes__types_2659)4398 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compareTypes__types_2659)(tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y, tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg cmp, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags) {
4399 NIM_BOOL result;
4400 tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg c;
4401 result = (NIM_BOOL)0;
4402 nimZeroMem((void*)(&c), sizeof(tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg));
4403 initSameTypeClosure__types_1690((&c));
4404 c.cmp = cmp;
4405 c.flags = flags;
4406 {
4407 if (!(x == y)) goto LA3_;
4408 result = NIM_TRUE;
4409 }
4410 goto LA1_;
4411 LA3_: ;
4412 {
4413 NIM_BOOL T6_;
4414 T6_ = (NIM_BOOL)0;
4415 T6_ = (x == 0);
4416 if (T6_) goto LA7_;
4417 T6_ = (y == 0);
4418 LA7_: ;
4419 if (!T6_) goto LA8_;
4420 result = NIM_FALSE;
4421 }
4422 goto LA1_;
4423 LA8_: ;
4424 {
4425 result = sameTypeAux__types_1794(x, y, (&c));
4426 }
4427 LA1_: ;
4428 return result;
4429 }
N_INLINE(void,initIntSet__pureZcollectionsZintsets_238)4430 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
4431 initPackedSet__pureZcollectionsZintsets_16(Result);
4432 }
N_NIMCALL(NIM_BOOL,iterOverNode__types_328)4433 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, iterOverNode__types_328)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyProc__X59agDExDRW5s9cLoKvjr83g iter, RootObj* closure) {
4434 NIM_BOOL result;
4435 { result = (NIM_BOOL)0;
4436 {
4437 if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
4438 switch ((*n).kind) {
4439 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
4440 {
4441 result = iterOverTypeAux__types_323(marker, (*n).typ, iter, closure);
4442 }
4443 break;
4444 default:
4445 {
4446 {
4447 NI i;
4448 NI colontmp_;
4449 NI i_2;
4450 i = (NI)0;
4451 colontmp_ = (NI)0;
4452 colontmp_ = len__ast_3198(n);
4453 i_2 = ((NI) 0);
4454 {
4455 while (1) {
4456 if (!(i_2 < colontmp_)) goto LA9;
4457 i = i_2;
4458 result = iterOverNode__types_328(marker, (*n)._kind_6.sons->data[i], iter, closure);
4459 {
4460 if (!result) goto LA12_;
4461 goto BeforeRet_;
4462 }
4463 LA12_: ;
4464 i_2 += ((NI) 1);
4465 } LA9: ;
4466 }
4467 }
4468 }
4469 break;
4470 }
4471 }
4472 LA3_: ;
4473 }BeforeRet_: ;
4474 return result;
4475 }
N_NIMCALL(NIM_BOOL,iterOverTypeAux__types_323)4476 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, iterOverTypeAux__types_323)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyProc__X59agDExDRW5s9cLoKvjr83g iter, RootObj* closure) {
4477 NIM_BOOL result;
4478 { result = (NIM_BOOL)0;
4479 result = NIM_FALSE;
4480 {
4481 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
4482 goto BeforeRet_;
4483 }
4484 LA3_: ;
4485 result = iter(t, closure);
4486 {
4487 if (!result) goto LA7_;
4488 goto BeforeRet_;
4489 }
4490 LA7_: ;
4491 {
4492 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym39_;
4493 NIM_BOOL T11_;
4494 xX60gensym39_ = t;
4495 T11_ = (NIM_BOOL)0;
4496 T11_ = containsOrIncl__astalgo_402(marker, (NI)((NI)((NU32)(((NI) ((*xX60gensym39_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym39_).Sup.itemId.item))));
4497 if (!!(T11_)) goto LA12_;
4498 switch ((*t).kind) {
4499 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
4500 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
4501 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
4502 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
4503 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
4504 {
4505 tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
4506 T15_ = NIM_NIL;
4507 T15_ = lastSon__ast_3743(t);
4508 result = iterOverTypeAux__types_323(marker, T15_, iter, closure);
4509 }
4510 break;
4511 default:
4512 {
4513 {
4514 NI i;
4515 NI colontmp_;
4516 NI i_2;
4517 i = (NI)0;
4518 colontmp_ = (NI)0;
4519 colontmp_ = len__ast_4002(t);
4520 i_2 = ((NI) 0);
4521 {
4522 while (1) {
4523 if (!(i_2 < colontmp_)) goto LA19;
4524 i = i_2;
4525 result = iterOverTypeAux__types_323(marker, (*t).sons->data[i], iter, closure);
4526 {
4527 if (!result) goto LA22_;
4528 goto BeforeRet_;
4529 }
4530 LA22_: ;
4531 i_2 += ((NI) 1);
4532 } LA19: ;
4533 }
4534 }
4535 {
4536 NIM_BOOL T26_;
4537 T26_ = (NIM_BOOL)0;
4538 T26_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
4539 if (!(T26_)) goto LA27_;
4540 T26_ = !(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25)));
4541 LA27_: ;
4542 if (!T26_) goto LA28_;
4543 result = iterOverNode__types_328(marker, (*t).n, iter, closure);
4544 }
4545 LA28_: ;
4546 }
4547 break;
4548 }
4549 }
4550 LA12_: ;
4551 }BeforeRet_: ;
4552 return result;
4553 }
N_NIMCALL(NIM_BOOL,iterOverType__types_81)4554 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, iterOverType__types_81)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyProc__X59agDExDRW5s9cLoKvjr83g iter, RootObj* closure) {
4555 NIM_BOOL result;
4556 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
4557 result = (NIM_BOOL)0;
4558 nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
4559 initIntSet__pureZcollectionsZintsets_238((&marker));
4560 result = iterOverTypeAux__types_323((&marker), t, iter, closure);
4561 return result;
4562 }
N_NIMCALL(NIM_BOOL,containsGenericTypeIter__types_3331)4563 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericTypeIter__types_3331)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, RootObj* closure) {
4564 NIM_BOOL result;
4565 { result = (NIM_BOOL)0;
4566 switch ((*t).kind) {
4567 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
4568 {
4569 result = ((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
4570 goto BeforeRet_;
4571 }
4572 break;
4573 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
4574 {
4575 {
4576 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
4577 T5_ = NIM_NIL;
4578 T5_ = base__types_63(t);
4579 if (!((*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA6_;
4580 result = NIM_TRUE;
4581 goto BeforeRet_;
4582 }
4583 LA6_: ;
4584 {
4585 tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
4586 NIM_BOOL T11_;
4587 T10_ = NIM_NIL;
4588 T10_ = base__types_63(t);
4589 T11_ = (NIM_BOOL)0;
4590 T11_ = containsGenericTypeIter__types_3331(T10_, closure);
4591 if (!T11_) goto LA12_;
4592 result = NIM_TRUE;
4593 goto BeforeRet_;
4594 }
4595 LA12_: ;
4596 result = NIM_FALSE;
4597 goto BeforeRet_;
4598 }
4599 break;
4600 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
4601 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
4602 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
4603 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
4604 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
4605 {
4606 result = NIM_TRUE;
4607 goto BeforeRet_;
4608 }
4609 break;
4610 default:
4611 {
4612 result = NIM_FALSE;
4613 goto BeforeRet_;
4614 }
4615 break;
4616 }
4617 }BeforeRet_: ;
4618 return result;
4619 }
N_NIMCALL(NIM_BOOL,containsGenericType__types_3351)4620 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericType__types_3351)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4621 NIM_BOOL result;
4622 result = (NIM_BOOL)0;
4623 result = iterOverType__types_81(t, containsGenericTypeIter__types_3331, ((RootObj*) NIM_NIL));
4624 return result;
4625 }
N_NIMCALL(NIM_BOOL,enumHasHoles__types_287)4626 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, enumHasHoles__types_287)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4627 NIM_BOOL result;
4628 tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
4629 NIM_BOOL T1_;
4630 result = (NIM_BOOL)0;
4631 b = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_166);
4632 T1_ = (NIM_BOOL)0;
4633 T1_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
4634 if (!(T1_)) goto LA2_;
4635 T1_ = (((*b).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 5))&63U)))!=0);
4636 LA2_: ;
4637 result = T1_;
4638 return result;
4639 }
N_NIMCALL(NIM_BOOL,isOrdinalType__types_299)4640 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_299)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowEnumWithHoles) {
4641 NIM_BOOL result;
4642 NIM_BOOL T1_;
4643 NIM_BOOL T2_;
4644 NIM_BOOL T4_;
4645 NIM_BOOL T5_;
4646 NIM_BOOL T8_;
4647 tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
4648 result = (NIM_BOOL)0;
4649 T1_ = (NIM_BOOL)0;
4650 T2_ = (NIM_BOOL)0;
4651 T2_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*t).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*t).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
4652 if (!(T2_)) goto LA3_;
4653 T4_ = (NIM_BOOL)0;
4654 T5_ = (NIM_BOOL)0;
4655 T5_ = enumHasHoles__types_287(t);
4656 T4_ = !(T5_);
4657 if (T4_) goto LA6_;
4658 T4_ = allowEnumWithHoles;
4659 LA6_: ;
4660 T2_ = T4_;
4661 LA3_: ;
4662 T1_ = T2_;
4663 if (T1_) goto LA7_;
4664 T8_ = (NIM_BOOL)0;
4665 T8_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
4666 if (!(T8_)) goto LA9_;
4667 T10_ = NIM_NIL;
4668 T10_ = lastSon__ast_3743(t);
4669 T8_ = isOrdinalType__types_299(T10_, allowEnumWithHoles);
4670 LA9_: ;
4671 T1_ = T8_;
4672 LA7_: ;
4673 result = T1_;
4674 return result;
4675 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,getOrdValue__types_161)4676 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getOrdValue__types_161)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Int128__9a9axPfb75jdWY25AamJewkA onError) {
4677 tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
4678 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw k;
4679 nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
4680 k = (*n).kind;
4681 {
4682 NIM_BOOL T3_;
4683 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
4684 T3_ = (NIM_BOOL)0;
4685 T3_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4686 if (!(T3_)) goto LA4_;
4687 T5_ = NIM_NIL;
4688 T5_ = skipTypes__ast_3735((*n).typ, TM__PpBJsMJcrcWrpLTS6mci1g_167);
4689 T3_ = ((*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*T5_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T5_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
4690 LA4_: ;
4691 if (!T3_) goto LA6_;
4692 k = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11);
4693 }
4694 LA6_: ;
4695 switch (k) {
4696 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5):
4697 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
4698 {
4699 result = toInt128__int495056_556(((NU64) ((*n)._kind_1.intVal)));
4700 }
4701 break;
4702 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
4703 {
4704 result = toInt128__int495056_725((*n)._kind_1.intVal);
4705 }
4706 break;
4707 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
4708 {
4709 result = Zero__int495056_7;
4710 }
4711 break;
4712 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
4713 {
4714 result = getOrdValue__types_161((*n)._kind_6.sons->data[((NI) 1)], onError);
4715 }
4716 break;
4717 default:
4718 {
4719 result = onError;
4720 }
4721 break;
4722 }
4723 return result;
4724 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,toInt128__types_1378)4725 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toInt128__types_1378)(NI arg) {
4726 tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
4727 nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
4728 (*((NI32*) ((&result.udata[(((NI) 0))- 0])))) = ((NI32) (arg));
4729 {
4730 if (!(arg < ((NI) 0))) goto LA3_;
4731 (*((NI32*) ((&result.udata[(((NI) 1))- 0])))) = ((NI32) -1);
4732 (*((NI32*) ((&result.udata[(((NI) 2))- 0])))) = ((NI32) -1);
4733 (*((NI32*) ((&result.udata[(((NI) 3))- 0])))) = ((NI32) -1);
4734 }
4735 LA3_: ;
4736 return result;
4737 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,firstOrd__types_1353)4738 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4739 tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
4740 nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
4741 switch ((*t).kind) {
4742 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
4743 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
4744 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
4745 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
4746 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
4747 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
4748 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
4749 {
4750 result = Zero__int495056_7;
4751 }
4752 break;
4753 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
4754 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
4755 {
4756 result = firstOrd__types_1353(conf, (*t).sons->data[((NI) 0)]);
4757 }
4758 break;
4759 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
4760 {
4761 result = firstOrd__types_1353(conf, (*t).sons->data[((NI) 0)]);
4762 }
4763 break;
4764 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
4765 {
4766 result = getOrdValue__types_161((*(*t).n)._kind_6.sons->data[((NI) 0)], Max__int495056_27);
4767 }
4768 break;
4769 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
4770 {
4771 {
4772 NIM_BOOL T8_;
4773 T8_ = (NIM_BOOL)0;
4774 T8_ = !((conf == ((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL)));
4775 if (!(T8_)) goto LA9_;
4776 T8_ = ((*conf).target.intSize == ((NI) 4));
4777 LA9_: ;
4778 if (!T8_) goto LA10_;
4779 result = toInt128__types_1378(((NI) (-2147483647 -1)));
4780 }
4781 goto LA6_;
4782 LA10_: ;
4783 {
4784 result = toInt128__int495056_725((IL64(-9223372036854775807) - IL64(1)));
4785 }
4786 LA6_: ;
4787 }
4788 break;
4789 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
4790 {
4791 result = toInt128__types_1378(((NI) -128));
4792 }
4793 break;
4794 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
4795 {
4796 result = toInt128__types_1378(((NI) -32768));
4797 }
4798 break;
4799 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
4800 {
4801 result = toInt128__types_1378(((NI) (-2147483647 -1)));
4802 }
4803 break;
4804 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
4805 {
4806 result = toInt128__int495056_725((IL64(-9223372036854775807) - IL64(1)));
4807 }
4808 break;
4809 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
4810 {
4811 result = Zero__int495056_7;
4812 }
4813 break;
4814 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
4815 {
4816 {
4817 NIM_BOOL T21_;
4818 NI T22_;
4819 T21_ = (NIM_BOOL)0;
4820 T22_ = (NI)0;
4821 T22_ = len__ast_4002(t);
4822 T21_ = (((NI) 0) < T22_);
4823 if (!(T21_)) goto LA23_;
4824 T21_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4825 LA23_: ;
4826 if (!T21_) goto LA24_;
4827 result = firstOrd__types_1353(conf, (*t).sons->data[((NI) 0)]);
4828 }
4829 goto LA19_;
4830 LA24_: ;
4831 {
4832 {
4833 NI T29_;
4834 T29_ = (NI)0;
4835 T29_ = len__ast_3198((*t).n);
4836 if (!(((NI) 0) < T29_)) goto LA30_;
4837 result = toInt128__types_1378((*(*(*(*t).n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).position);
4838 }
4839 LA30_: ;
4840 }
4841 LA19_: ;
4842 }
4843 break;
4844 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
4845 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
4846 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
4847 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
4848 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
4849 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
4850 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
4851 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
4852 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
4853 {
4854 tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
4855 T33_ = NIM_NIL;
4856 T33_ = lastSon__ast_3743(t);
4857 result = firstOrd__types_1353(conf, T33_);
4858 }
4859 break;
4860 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
4861 {
4862 {
4863 NI T37_;
4864 tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
4865 T37_ = (NI)0;
4866 T37_ = len__ast_4002(t);
4867 if (!(((NI) 0) < T37_)) goto LA38_;
4868 T40_ = NIM_NIL;
4869 T40_ = lastSon__ast_3743(t);
4870 result = firstOrd__types_1353(conf, T40_);
4871 }
4872 goto LA35_;
4873 LA38_: ;
4874 {
4875 NimStringDesc* T42_;
4876 T42_ = NIM_NIL;
4877 T42_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 27);
4878 appendString(T42_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_168));
4879 appendString(T42_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
4880 appendChar(T42_, 41);
4881 internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, T42_, TM__PpBJsMJcrcWrpLTS6mci1g_169);
4882 }
4883 LA35_: ;
4884 }
4885 break;
4886 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
4887 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
4888 {
4889 result = Zero__int495056_7;
4890 }
4891 break;
4892 default:
4893 {
4894 NimStringDesc* T45_;
4895 T45_ = NIM_NIL;
4896 T45_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 27);
4897 appendString(T45_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_168));
4898 appendString(T45_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
4899 appendChar(T45_, 41);
4900 internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, T45_, TM__PpBJsMJcrcWrpLTS6mci1g_171);
4901 result = Zero__int495056_7;
4902 }
4903 break;
4904 }
4905 return result;
4906 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,toInt128__types_1469)4907 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toInt128__types_1469)(NU arg) {
4908 tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
4909 nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
4910 result.udata[(((NI) 0))- 0] = ((NU32) (arg));
4911 return result;
4912 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,lastOrd__types_1465)4913 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lastOrd__types_1465)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4914 tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
4915 nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
4916 switch ((*t).kind) {
4917 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
4918 {
4919 result = toInt128__types_1469(((NU) 1));
4920 }
4921 break;
4922 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
4923 {
4924 result = toInt128__types_1469(((NU) 255));
4925 }
4926 break;
4927 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
4928 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
4929 {
4930 result = lastOrd__types_1465(conf, (*t).sons->data[((NI) 0)]);
4931 }
4932 break;
4933 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
4934 {
4935 result = lastOrd__types_1465(conf, (*t).sons->data[((NI) 0)]);
4936 }
4937 break;
4938 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
4939 {
4940 result = getOrdValue__types_161((*(*t).n)._kind_6.sons->data[((NI) 1)], Max__int495056_27);
4941 }
4942 break;
4943 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
4944 {
4945 {
4946 NIM_BOOL T9_;
4947 T9_ = (NIM_BOOL)0;
4948 T9_ = !((conf == ((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL)));
4949 if (!(T9_)) goto LA10_;
4950 T9_ = ((*conf).target.intSize == ((NI) 4));
4951 LA10_: ;
4952 if (!T9_) goto LA11_;
4953 result = toInt128__types_1378(((NI) 2147483647));
4954 }
4955 goto LA7_;
4956 LA11_: ;
4957 {
4958 result = toInt128__int495056_556(9223372036854775807ULL);
4959 }
4960 LA7_: ;
4961 }
4962 break;
4963 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
4964 {
4965 result = toInt128__types_1378(((NI) 127));
4966 }
4967 break;
4968 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
4969 {
4970 result = toInt128__types_1378(((NI) 32767));
4971 }
4972 break;
4973 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
4974 {
4975 result = toInt128__types_1378(((NI) 2147483647));
4976 }
4977 break;
4978 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
4979 {
4980 result = toInt128__int495056_556(9223372036854775807ULL);
4981 }
4982 break;
4983 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
4984 {
4985 {
4986 NIM_BOOL T21_;
4987 T21_ = (NIM_BOOL)0;
4988 T21_ = !((conf == ((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL)));
4989 if (!(T21_)) goto LA22_;
4990 T21_ = ((*conf).target.intSize == ((NI) 4));
4991 LA22_: ;
4992 if (!T21_) goto LA23_;
4993 result = toInt128__int495056_725(IL64(4294967295));
4994 }
4995 goto LA19_;
4996 LA23_: ;
4997 {
4998 result = toInt128__int495056_556(18446744073709551615ULL);
4999 }
5000 LA19_: ;
5001 }
5002 break;
5003 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
5004 {
5005 result = toInt128__types_1378(((NI) 255));
5006 }
5007 break;
5008 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
5009 {
5010 result = toInt128__types_1378(((NI) 65535));
5011 }
5012 break;
5013 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
5014 {
5015 result = toInt128__int495056_725(IL64(4294967295));
5016 }
5017 break;
5018 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
5019 {
5020 result = toInt128__int495056_556(18446744073709551615ULL);
5021 }
5022 break;
5023 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
5024 {
5025 {
5026 NI T33_;
5027 NI T36_;
5028 T33_ = (NI)0;
5029 T33_ = len__ast_3198((*t).n);
5030 if (!(((NI) 0) < T33_)) goto LA34_;
5031 T36_ = (NI)0;
5032 T36_ = len__ast_3198((*t).n);
5033 result = toInt128__types_1378((*(*(*(*t).n)._kind_6.sons->data[(NI)(T36_ - ((NI) 1))])._kind_4.sym).position);
5034 }
5035 LA34_: ;
5036 }
5037 break;
5038 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
5039 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
5040 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
5041 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
5042 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5043 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
5044 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
5045 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
5046 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
5047 {
5048 tyObject_TType__facALICuu8zUj0hjvbTLFg* T38_;
5049 T38_ = NIM_NIL;
5050 T38_ = lastSon__ast_3743(t);
5051 result = lastOrd__types_1465(conf, T38_);
5052 }
5053 break;
5054 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
5055 {
5056 result = Zero__int495056_7;
5057 }
5058 break;
5059 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
5060 {
5061 {
5062 NI T43_;
5063 tyObject_TType__facALICuu8zUj0hjvbTLFg* T46_;
5064 T43_ = (NI)0;
5065 T43_ = len__ast_4002(t);
5066 if (!(((NI) 0) < T43_)) goto LA44_;
5067 T46_ = NIM_NIL;
5068 T46_ = lastSon__ast_3743(t);
5069 result = lastOrd__types_1465(conf, T46_);
5070 }
5071 goto LA41_;
5072 LA44_: ;
5073 {
5074 NimStringDesc* T48_;
5075 T48_ = NIM_NIL;
5076 T48_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 26);
5077 appendString(T48_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_172));
5078 appendString(T48_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
5079 appendChar(T48_, 41);
5080 internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, T48_, TM__PpBJsMJcrcWrpLTS6mci1g_173);
5081 }
5082 LA41_: ;
5083 }
5084 break;
5085 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
5086 {
5087 result = Zero__int495056_7;
5088 }
5089 break;
5090 default:
5091 {
5092 NimStringDesc* T51_;
5093 T51_ = NIM_NIL;
5094 T51_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 26);
5095 appendString(T51_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_172));
5096 appendString(T51_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
5097 appendChar(T51_, 41);
5098 internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, T51_, TM__PpBJsMJcrcWrpLTS6mci1g_174);
5099 result = Zero__int495056_7;
5100 }
5101 break;
5102 }
5103 return result;
5104 }
N_NIMCALL(NF,getFloatValue__types_182)5105 N_LIB_PRIVATE N_NIMCALL(NF, getFloatValue__types_182)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5106 NF result;
5107 result = (NF)0;
5108 switch ((*n).kind) {
5109 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
5110 {
5111 result = (*n)._kind_2.floatVal;
5112 }
5113 break;
5114 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
5115 {
5116 result = getFloatValue__types_182((*n)._kind_6.sons->data[((NI) 1)]);
5117 }
5118 break;
5119 default:
5120 {
5121 result = NAN;
5122 }
5123 break;
5124 }
5125 return result;
5126 }
N_NIMCALL(NF,firstFloat__types_1440)5127 N_LIB_PRIVATE N_NIMCALL(NF, firstFloat__types_1440)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
5128 NF result;
5129 result = (NF)0;
5130 switch ((*t).kind) {
5131 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
5132 {
5133 result = -INF;
5134 }
5135 break;
5136 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
5137 {
5138 result = getFloatValue__types_182((*(*t).n)._kind_6.sons->data[((NI) 0)]);
5139 }
5140 break;
5141 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
5142 {
5143 result = firstFloat__types_1440((*t).sons->data[((NI) 0)]);
5144 }
5145 break;
5146 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
5147 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
5148 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
5149 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
5150 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5151 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
5152 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
5153 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
5154 {
5155 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
5156 T5_ = NIM_NIL;
5157 T5_ = lastSon__ast_3743(t);
5158 result = firstFloat__types_1440(T5_);
5159 }
5160 break;
5161 default:
5162 {
5163 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T7_;
5164 NimStringDesc* T8_;
5165 T7_ = NIM_NIL;
5166 T7_ = newPartialConfigRef__options_2497();
5167 T8_ = NIM_NIL;
5168 T8_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 29);
5169 appendString(T8_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_175));
5170 appendString(T8_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
5171 appendChar(T8_, 41);
5172 internalErrorImpl__msgs_1431(T7_, unknownLineInfo__lineinfos_280, T8_, TM__PpBJsMJcrcWrpLTS6mci1g_176);
5173 result = NAN;
5174 }
5175 break;
5176 }
5177 return result;
5178 }
N_NIMCALL(NF,lastFloat__types_1579)5179 N_LIB_PRIVATE N_NIMCALL(NF, lastFloat__types_1579)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
5180 NF result;
5181 result = (NF)0;
5182 switch ((*t).kind) {
5183 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
5184 {
5185 result = INF;
5186 }
5187 break;
5188 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
5189 {
5190 result = lastFloat__types_1579((*t).sons->data[((NI) 0)]);
5191 }
5192 break;
5193 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
5194 {
5195 result = getFloatValue__types_182((*(*t).n)._kind_6.sons->data[((NI) 1)]);
5196 }
5197 break;
5198 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
5199 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
5200 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
5201 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
5202 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5203 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
5204 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
5205 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
5206 {
5207 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
5208 T5_ = NIM_NIL;
5209 T5_ = lastSon__ast_3743(t);
5210 result = lastFloat__types_1579(T5_);
5211 }
5212 break;
5213 default:
5214 {
5215 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T7_;
5216 NimStringDesc* T8_;
5217 T7_ = NIM_NIL;
5218 T7_ = newPartialConfigRef__options_2497();
5219 T8_ = NIM_NIL;
5220 T8_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 28);
5221 appendString(T8_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_177));
5222 appendString(T8_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
5223 appendChar(T8_, 41);
5224 internalErrorImpl__msgs_1431(T7_, unknownLineInfo__lineinfos_280, T8_, TM__PpBJsMJcrcWrpLTS6mci1g_178);
5225 result = NAN;
5226 }
5227 break;
5228 }
5229 return result;
5230 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,lengthOrd__types_1652)5231 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1652)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
5232 tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
5233 nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
5234 {
5235 tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
5236 T3_ = NIM_NIL;
5237 T3_ = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_179);
5238 if (!((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA4_;
5239 result = lengthOrd__types_1652(conf, (*t).sons->data[((NI) 0)]);
5240 }
5241 goto LA1_;
5242 LA4_: ;
5243 {
5244 tyObject_Int128__9a9axPfb75jdWY25AamJewkA last;
5245 tyObject_Int128__9a9axPfb75jdWY25AamJewkA first;
5246 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T7_;
5247 last = lastOrd__types_1465(conf, t);
5248 first = firstOrd__types_1353(conf, t);
5249 T7_ = minus___int495056_474(last, first);
5250 result = plus___int495056_448(T7_, One__int495056_8);
5251 }
5252 LA1_: ;
5253 return result;
5254 }
N_NIMCALL(tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA,getProcConvMismatch__types_3686)5255 N_LIB_PRIVATE N_NIMCALL(tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA, getProcConvMismatch__types_3686)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw rel) {
5256 tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA result;
5257 nimZeroMem((void*)(&result), sizeof(tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA));
5258 result.Field1 = rel;
5259 {
5260 NIM_BOOL T3_;
5261 T3_ = (NIM_BOOL)0;
5262 T3_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0);
5263 if (!(T3_)) goto LA4_;
5264 T3_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0));
5265 LA4_: ;
5266 if (!T3_) goto LA5_;
5267 result.Field0 |= ((NU8)1)<<((((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 0)) & 7);
5268 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5269 }
5270 LA5_: ;
5271 {
5272 NIM_BOOL T9_;
5273 NIM_BOOL T10_;
5274 T9_ = (NIM_BOOL)0;
5275 T10_ = (NIM_BOOL)0;
5276 T10_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 7))&63U)))!=0);
5277 if (!(T10_)) goto LA11_;
5278 T10_ = (((*a).flags & 130) == 0);
5279 LA11_: ;
5280 T9_ = T10_;
5281 if (!(T9_)) goto LA12_;
5282 T9_ = (((*c).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 25))&63U)))!=0);
5283 LA12_: ;
5284 if (!T9_) goto LA13_;
5285 result.Field0 |= ((NU8)1)<<((((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 1)) & 7);
5286 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5287 }
5288 LA13_: ;
5289 {
5290 if (!!((((*f).flags & 32768) == ((*a).flags & 32768)))) goto LA17_;
5291 result.Field0 |= ((NU8)1)<<((((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 3)) & 7);
5292 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5293 }
5294 LA17_: ;
5295 {
5296 if (!!(((*f).callConv == (*a).callConv))) goto LA21_;
5297 {
5298 NIM_BOOL T25_;
5299 T25_ = (NIM_BOOL)0;
5300 T25_ = ((*f).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
5301 if (!(T25_)) goto LA26_;
5302 T25_ = ((*a).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 0));
5303 LA26_: ;
5304 if (!T25_) goto LA27_;
5305 switch (result.Field1) {
5306 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6):
5307 {
5308 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7);
5309 }
5310 break;
5311 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5):
5312 {
5313 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5);
5314 }
5315 break;
5316 default:
5317 {
5318 {
5319 if (!!((result.Field1 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA34_;
5320 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
5321 }
5322 LA34_: ;
5323 }
5324 break;
5325 }
5326 }
5327 goto LA23_;
5328 LA27_: ;
5329 {
5330 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5331 result.Field0 |= ((NU8)1)<<((((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 4)) & 7);
5332 }
5333 LA23_: ;
5334 }
5335 LA21_: ;
5336 {
5337 NIM_BOOL T39_;
5338 T39_ = (NIM_BOOL)0;
5339 T39_ = !(((*f).lockLevel == ((NI) -1)));
5340 if (!(T39_)) goto LA40_;
5341 T39_ = !(((*a).lockLevel == ((NI) -1)));
5342 LA40_: ;
5343 if (!T39_) goto LA41_;
5344 result.Field0 |= ((NU8)1)<<((((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 2)) & 7);
5345 }
5346 LA41_: ;
5347 return result;
5348 }
N_INLINE(NI,safeLen__ast_3191)5349 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5350 NI result;
5351 result = (NI)0;
5352 {
5353 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
5354 result = ((NI) 0);
5355 }
5356 goto LA1_;
5357 LA3_: ;
5358 {
5359 result = len__ast_3198(n);
5360 }
5361 LA1_: ;
5362 return result;
5363 }
N_NIMCALL(NIM_BOOL,compatibleEffectsAux__types_3395)5364 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compatibleEffectsAux__types_3395)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* se, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* re) {
5365 NIM_BOOL result;
5366 { result = (NIM_BOOL)0;
5367 {
5368 if (!(re == 0)) goto LA3_;
5369 result = NIM_FALSE;
5370 goto BeforeRet_;
5371 }
5372 LA3_: ;
5373 {
5374 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
5375 r = NIM_NIL;
5376 {
5377 NI i;
5378 NI colontmp_;
5379 NI i_2;
5380 i = (NI)0;
5381 colontmp_ = (NI)0;
5382 colontmp_ = safeLen__ast_3191(re);
5383 i_2 = ((NI) 0);
5384 {
5385 while (1) {
5386 if (!(i_2 < colontmp_)) goto LA8;
5387 i = i_2;
5388 r = (*re)._kind_6.sons->data[i];
5389 {
5390 {
5391 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
5392 s = NIM_NIL;
5393 {
5394 NI i_3;
5395 NI colontmp__2;
5396 NI i_4;
5397 i_3 = (NI)0;
5398 colontmp__2 = (NI)0;
5399 colontmp__2 = safeLen__ast_3191(se);
5400 i_4 = ((NI) 0);
5401 {
5402 while (1) {
5403 if (!(i_4 < colontmp__2)) goto LA13;
5404 i_3 = i_4;
5405 s = (*se)._kind_6.sons->data[i_3];
5406 {
5407 NI T16_;
5408 T16_ = (NI)0;
5409 T16_ = safeInheritanceDiff__types_3383((*r).typ, (*s).typ);
5410 if (!(T16_ <= ((NI) 0))) goto LA17_;
5411 goto LA9;
5412 }
5413 LA17_: ;
5414 i_4 += ((NI) 1);
5415 } LA13: ;
5416 }
5417 }
5418 }
5419 result = NIM_FALSE;
5420 goto BeforeRet_;
5421 } LA9: ;
5422 i_2 += ((NI) 1);
5423 } LA8: ;
5424 }
5425 }
5426 }
5427 result = NIM_TRUE;
5428 }BeforeRet_: ;
5429 return result;
5430 }
N_NIMCALL(tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ,compatibleEffects__types_3416)5431 N_LIB_PRIVATE N_NIMCALL(tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ, compatibleEffects__types_3416)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual) {
5432 tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ result;
5433 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* spec;
5434 { result = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0;
5435 {
5436 NIM_BOOL T3_;
5437 T3_ = (NIM_BOOL)0;
5438 T3_ = !(((*(*(*formal).n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)));
5439 if (T3_) goto LA4_;
5440 T3_ = !(((*(*(*actual).n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)));
5441 LA4_: ;
5442 if (!T3_) goto LA5_;
5443 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 4);
5444 goto BeforeRet_;
5445 }
5446 LA5_: ;
5447 spec = (*(*formal).n)._kind_6.sons->data[((NI) 0)];
5448 {
5449 NI T9_;
5450 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* real;
5451 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* se;
5452 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st;
5453 T9_ = (NI)0;
5454 T9_ = len__ast_3198(spec);
5455 if (!!((T9_ == ((NI) 0)))) goto LA10_;
5456 real = (*(*actual).n)._kind_6.sons->data[((NI) 0)];
5457 se = (*spec)._kind_6.sons->data[((NI) 0)];
5458 {
5459 NIM_BOOL T14_;
5460 NIM_BOOL res;
5461 T14_ = (NIM_BOOL)0;
5462 T14_ = !((se == 0));
5463 if (!(T14_)) goto LA15_;
5464 T14_ = !(((*se).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)));
5465 LA15_: ;
5466 if (!T14_) goto LA16_;
5467 {
5468 NI T20_;
5469 T20_ = (NI)0;
5470 T20_ = len__ast_3198(real);
5471 if (!(T20_ == ((NI) 0))) goto LA21_;
5472 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 2);
5473 goto BeforeRet_;
5474 }
5475 LA21_: ;
5476 res = compatibleEffectsAux__types_3395(se, (*real)._kind_6.sons->data[((NI) 0)]);
5477 {
5478 if (!!(res)) goto LA25_;
5479 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 1);
5480 goto BeforeRet_;
5481 }
5482 LA25_: ;
5483 }
5484 LA16_: ;
5485 st = (*spec)._kind_6.sons->data[((NI) 3)];
5486 {
5487 NIM_BOOL T29_;
5488 NIM_BOOL res_2;
5489 T29_ = (NIM_BOOL)0;
5490 T29_ = !((st == 0));
5491 if (!(T29_)) goto LA30_;
5492 T29_ = !(((*st).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)));
5493 LA30_: ;
5494 if (!T29_) goto LA31_;
5495 {
5496 NI T35_;
5497 T35_ = (NI)0;
5498 T35_ = len__ast_3198(real);
5499 if (!(T35_ == ((NI) 0))) goto LA36_;
5500 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 4);
5501 goto BeforeRet_;
5502 }
5503 LA36_: ;
5504 res_2 = compatibleEffectsAux__types_3395(st, (*real)._kind_6.sons->data[((NI) 3)]);
5505 {
5506 if (!!(res_2)) goto LA40_;
5507 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 3);
5508 goto BeforeRet_;
5509 }
5510 LA40_: ;
5511 }
5512 LA31_: ;
5513 }
5514 LA10_: ;
5515 {
5516 NIM_BOOL T44_;
5517 T44_ = (NIM_BOOL)0;
5518 T44_ = ((*formal).lockLevel < ((NI) 0));
5519 if (T44_) goto LA45_;
5520 T44_ = ((*actual).lockLevel <= (*formal).lockLevel);
5521 LA45_: ;
5522 if (!T44_) goto LA46_;
5523 {
5524 NI i;
5525 NI colontmp_;
5526 NI T49_;
5527 NI T50_;
5528 NI i_2;
5529 i = (NI)0;
5530 colontmp_ = (NI)0;
5531 T49_ = (NI)0;
5532 T49_ = len__ast_3198((*formal).n);
5533 T50_ = (NI)0;
5534 T50_ = len__ast_3198((*actual).n);
5535 colontmp_ = ((T49_ <= T50_) ? T49_ : T50_);
5536 i_2 = ((NI) 1);
5537 {
5538 while (1) {
5539 if (!(i_2 < colontmp_)) goto LA52;
5540 i = i_2;
5541 {
5542 if (!!((((*(*(*(*formal).n)._kind_6.sons->data[i])._kind_4.sym).flags & IL64(140737488355328)) == ((*(*(*(*actual).n)._kind_6.sons->data[i])._kind_4.sym).flags & IL64(140737488355328))))) goto LA55_;
5543 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 6);
5544 goto LA48;
5545 }
5546 LA55_: ;
5547 i_2 += ((NI) 1);
5548 } LA52: ;
5549 }
5550 } LA48: ;
5551 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0);
5552 }
5553 goto LA42_;
5554 LA46_: ;
5555 {
5556 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 5);
5557 }
5558 LA42_: ;
5559 }BeforeRet_: ;
5560 return result;
5561 }
N_NIMCALL(NIM_BOOL,isEmptyContainer__types_3617)5562 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyContainer__types_3617)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
5563 NIM_BOOL result;
5564 result = (NIM_BOOL)0;
5565 switch ((*t).kind) {
5566 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
5567 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
5568 {
5569 result = NIM_TRUE;
5570 }
5571 break;
5572 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
5573 {
5574 result = ((*(*t).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
5575 }
5576 break;
5577 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
5578 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
5579 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
5580 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
5581 {
5582 result = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
5583 }
5584 break;
5585 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
5586 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
5587 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5588 {
5589 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
5590 T5_ = NIM_NIL;
5591 T5_ = lastSon__ast_3743(t);
5592 result = isEmptyContainer__types_3617(T5_);
5593 }
5594 break;
5595 default:
5596 {
5597 result = NIM_FALSE;
5598 }
5599 break;
5600 }
5601 return result;
5602 }
N_NIMCALL(NimStringDesc *,getProcHeader__types_222)5603 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getProcHeader__types_222)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, NIM_BOOL getDeclarationPath) {
5604 NimStringDesc* result;
5605 NimStringDesc* T1_;
5606 result = NIM_NIL;
5607 T1_ = NIM_NIL;
5608 T1_ = rawNewString(((*(*(*sym).owner).name).s ? (*(*(*sym).owner).name).s->Sup.len : 0) + ((*(*sym).name).s ? (*(*sym).name).s->Sup.len : 0) + 1);
5609 appendString(T1_, (*(*(*sym).owner).name).s);
5610 appendChar(T1_, 46);
5611 appendString(T1_, (*(*sym).name).s);
5612 result = T1_;
5613 {
5614 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
5615 if (!((520192 &((NU32)1<<((NU)((*sym).kind)&31U)))!=0)) goto LA4_;
5616 result = addChar(result, 40);
5617 n = (*(*sym).typ).n;
5618 {
5619 NI i;
5620 NI colontmp_;
5621 NI i_2;
5622 i = (NI)0;
5623 colontmp_ = (NI)0;
5624 colontmp_ = len__ast_3198(n);
5625 i_2 = ((NI) 1);
5626 {
5627 while (1) {
5628 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
5629 if (!(i_2 < colontmp_)) goto LA8;
5630 i = i_2;
5631 p = (*n)._kind_6.sons->data[i];
5632 {
5633 NimStringDesc* T13_;
5634 if (!((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11_;
5635 result = resizeString(result, ((*(*(*p)._kind_4.sym).name).s ? (*(*(*p)._kind_4.sym).name).s->Sup.len : 0) + 0);
5636 appendString(result, (*(*(*p)._kind_4.sym).name).s);
5637 result = resizeString(result, 2);
5638 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_83));
5639 T13_ = NIM_NIL;
5640 T13_ = typeToString__types_50((*(*p)._kind_4.sym).typ, prefer);
5641 result = resizeString(result, (T13_ ? T13_->Sup.len : 0) + 0);
5642 appendString(result, T13_);
5643 {
5644 NI T16_;
5645 T16_ = (NI)0;
5646 T16_ = len__ast_3198(n);
5647 if (!!((i == (NI)(T16_ - ((NI) 1))))) goto LA17_;
5648 result = resizeString(result, 2);
5649 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
5650 }
5651 LA17_: ;
5652 }
5653 goto LA9_;
5654 LA11_: ;
5655 {
5656 NimStringDesc* T20_;
5657 T20_ = NIM_NIL;
5658 T20_ = renderTree__renderer_46(p, 0);
5659 result = resizeString(result, (T20_ ? T20_->Sup.len : 0) + 0);
5660 appendString(result, T20_);
5661 }
5662 LA9_: ;
5663 i_2 += ((NI) 1);
5664 } LA8: ;
5665 }
5666 }
5667 result = addChar(result, 41);
5668 {
5669 NimStringDesc* T25_;
5670 NimStringDesc* T26_;
5671 if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA23_;
5672 T25_ = NIM_NIL;
5673 T26_ = NIM_NIL;
5674 T26_ = typeToString__types_50((*(*n)._kind_6.sons->data[((NI) 0)]).typ, prefer);
5675 T25_ = rawNewString((T26_ ? T26_->Sup.len : 0) + 2);
5676 appendString(T25_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_83));
5677 appendString(T25_, T26_);
5678 result = resizeString(result, (T25_ ? T25_->Sup.len : 0) + 0);
5679 appendString(result, T25_);
5680 }
5681 LA23_: ;
5682 }
5683 LA4_: ;
5684 {
5685 if (!getDeclarationPath) goto LA29_;
5686 addDeclaredLoc__astmsgs_17((&result), conf, sym);
5687 }
5688 LA29_: ;
5689 return result;
5690 }
N_NIMCALL(NIM_BOOL,canFormAcycleNode__types_665)5691 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canFormAcycleNode__types_665)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI startId) {
5692 NIM_BOOL result;
5693 { result = (NIM_BOOL)0;
5694 result = NIM_FALSE;
5695 {
5696 if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
5697 result = canFormAcycleAux__types_661(marker, (*n).typ, startId);
5698 {
5699 if (!!(result)) goto LA7_;
5700 switch ((*n).kind) {
5701 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
5702 {
5703 }
5704 break;
5705 default:
5706 {
5707 {
5708 NI i;
5709 NI colontmp_;
5710 NI i_2;
5711 i = (NI)0;
5712 colontmp_ = (NI)0;
5713 colontmp_ = len__ast_3198(n);
5714 i_2 = ((NI) 0);
5715 {
5716 while (1) {
5717 if (!(i_2 < colontmp_)) goto LA13;
5718 i = i_2;
5719 result = canFormAcycleNode__types_665(marker, (*n)._kind_6.sons->data[i], startId);
5720 {
5721 if (!result) goto LA16_;
5722 goto BeforeRet_;
5723 }
5724 LA16_: ;
5725 i_2 += ((NI) 1);
5726 } LA13: ;
5727 }
5728 }
5729 }
5730 break;
5731 }
5732 }
5733 LA7_: ;
5734 }
5735 LA3_: ;
5736 }BeforeRet_: ;
5737 return result;
5738 }
N_NIMCALL(NIM_BOOL,canFormAcycleAux__types_661)5739 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canFormAcycleAux__types_661)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, NI startId) {
5740 NIM_BOOL result;
5741 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5742 { result = (NIM_BOOL)0;
5743 result = NIM_FALSE;
5744 {
5745 if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
5746 goto BeforeRet_;
5747 }
5748 LA3_: ;
5749 {
5750 if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 39))&63U)))!=0)) goto LA7_;
5751 goto BeforeRet_;
5752 }
5753 LA7_: ;
5754 t = skipTypes__ast_3735(typ, TM__PpBJsMJcrcWrpLTS6mci1g_180);
5755 {
5756 if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 39))&63U)))!=0)) goto LA11_;
5757 goto BeforeRet_;
5758 }
5759 LA11_: ;
5760 switch ((*t).kind) {
5761 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
5762 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
5763 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
5764 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
5765 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
5766 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
5767 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
5768 {
5769 {
5770 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym73_;
5771 xX60gensym73_ = t;
5772 if (!((NI)((NI)((NU32)(((NI) ((*xX60gensym73_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym73_).Sup.itemId.item))) == startId)) goto LA16_;
5773 result = NIM_TRUE;
5774 }
5775 goto LA14_;
5776 LA16_: ;
5777 {
5778 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym74_;
5779 NIM_BOOL T19_;
5780 xX60gensym74_ = t;
5781 T19_ = (NIM_BOOL)0;
5782 T19_ = containsOrIncl__astalgo_402(marker, (NI)((NI)((NU32)(((NI) ((*xX60gensym74_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym74_).Sup.itemId.item))));
5783 if (!!(T19_)) goto LA20_;
5784 {
5785 NI i;
5786 NI colontmp_;
5787 NI i_2;
5788 i = (NI)0;
5789 colontmp_ = (NI)0;
5790 colontmp_ = len__ast_4002(t);
5791 i_2 = ((NI) 0);
5792 {
5793 while (1) {
5794 if (!(i_2 < colontmp_)) goto LA24;
5795 i = i_2;
5796 result = canFormAcycleAux__types_661(marker, (*t).sons->data[i], startId);
5797 {
5798 if (!result) goto LA27_;
5799 goto BeforeRet_;
5800 }
5801 LA27_: ;
5802 i_2 += ((NI) 1);
5803 } LA24: ;
5804 }
5805 }
5806 {
5807 if (!!(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA31_;
5808 result = canFormAcycleNode__types_665(marker, (*t).n, startId);
5809 }
5810 LA31_: ;
5811 }
5812 goto LA14_;
5813 LA20_: ;
5814 LA14_: ;
5815 {
5816 NIM_BOOL T35_;
5817 T35_ = (NIM_BOOL)0;
5818 T35_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
5819 if (!(T35_)) goto LA36_;
5820 T35_ = !((((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0));
5821 LA36_: ;
5822 if (!T35_) goto LA37_;
5823 result = NIM_TRUE;
5824 }
5825 LA37_: ;
5826 }
5827 break;
5828 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
5829 {
5830 result = ((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
5831 }
5832 break;
5833 default:
5834 {
5835 }
5836 break;
5837 }
5838 }BeforeRet_: ;
5839 return result;
5840 }
N_NIMCALL(NIM_BOOL,canFormAcycle__types_762)5841 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canFormAcycle__types_762)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
5842 NIM_BOOL result;
5843 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
5844 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5845 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym80_;
5846 result = (NIM_BOOL)0;
5847 nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
5848 initIntSet__pureZcollectionsZintsets_238((&marker));
5849 t = skipTypes__ast_3735(typ, TM__PpBJsMJcrcWrpLTS6mci1g_180);
5850 xX60gensym80_ = t;
5851 result = canFormAcycleAux__types_661((&marker), t, (NI)((NI)((NU32)(((NI) ((*xX60gensym80_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym80_).Sup.itemId.item))));
5852 return result;
5853 }
N_NIMCALL(NIM_BOOL,isPureObject__types_132)5854 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isPureObject__types_132)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
5855 NIM_BOOL result;
5856 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5857 NIM_BOOL T5_;
5858 result = (NIM_BOOL)0;
5859 t = typ;
5860 {
5861 while (1) {
5862 NIM_BOOL T3_;
5863 T3_ = (NIM_BOOL)0;
5864 T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
5865 if (!(T3_)) goto LA4_;
5866 T3_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5867 LA4_: ;
5868 if (!T3_) goto LA2;
5869 t = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__PpBJsMJcrcWrpLTS6mci1g_5);
5870 } LA2: ;
5871 }
5872 T5_ = (NIM_BOOL)0;
5873 T5_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
5874 if (!(T5_)) goto LA6_;
5875 T5_ = (((*(*t).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0);
5876 LA6_: ;
5877 result = T5_;
5878 return result;
5879 }
N_NIMCALL(NIM_BOOL,isFinal__types_750)5880 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFinal__types_750)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
5881 NIM_BOOL result;
5882 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
5883 NIM_BOOL T1_;
5884 NIM_BOOL T2_;
5885 result = (NIM_BOOL)0;
5886 t_2 = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_167);
5887 T1_ = (NIM_BOOL)0;
5888 T2_ = (NIM_BOOL)0;
5889 T2_ = !(((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)));
5890 if (T2_) goto LA3_;
5891 T2_ = (((*t_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0);
5892 LA3_: ;
5893 T1_ = T2_;
5894 if (T1_) goto LA4_;
5895 T1_ = isPureObject__types_132(t_2);
5896 LA4_: ;
5897 result = T1_;
5898 return result;
5899 }
N_NIMCALL(NIM_BOOL,searchTypeNodeForAux__types_397)5900 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeNodeForAux__types_397)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyProc__NbBRo5rVxVVQby3QsoZkZQ p, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker) {
5901 NIM_BOOL result;
5902 { result = (NIM_BOOL)0;
5903 result = NIM_FALSE;
5904 switch ((*n).kind) {
5905 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
5906 {
5907 {
5908 NI i;
5909 NI colontmp_;
5910 NI i_2;
5911 i = (NI)0;
5912 colontmp_ = (NI)0;
5913 colontmp_ = len__ast_3198(n);
5914 i_2 = ((NI) 0);
5915 {
5916 while (1) {
5917 if (!(i_2 < colontmp_)) goto LA4;
5918 i = i_2;
5919 result = searchTypeNodeForAux__types_397((*n)._kind_6.sons->data[i], p, marker);
5920 {
5921 if (!result) goto LA7_;
5922 goto BeforeRet_;
5923 }
5924 LA7_: ;
5925 i_2 += ((NI) 1);
5926 } LA4: ;
5927 }
5928 }
5929 }
5930 break;
5931 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
5932 {
5933 result = searchTypeNodeForAux__types_397((*n)._kind_6.sons->data[((NI) 0)], p, marker);
5934 {
5935 if (!result) goto LA12_;
5936 goto BeforeRet_;
5937 }
5938 LA12_: ;
5939 {
5940 NI i_3;
5941 NI colontmp__2;
5942 NI i_4;
5943 i_3 = (NI)0;
5944 colontmp__2 = (NI)0;
5945 colontmp__2 = len__ast_3198(n);
5946 i_4 = ((NI) 1);
5947 {
5948 while (1) {
5949 if (!(i_4 < colontmp__2)) goto LA16;
5950 i_3 = i_4;
5951 switch ((*(*n)._kind_6.sons->data[i_3]).kind) {
5952 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
5953 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
5954 {
5955 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
5956 T18_ = NIM_NIL;
5957 T18_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
5958 result = searchTypeNodeForAux__types_397(T18_, p, marker);
5959 {
5960 if (!result) goto LA21_;
5961 goto BeforeRet_;
5962 }
5963 LA21_: ;
5964 }
5965 break;
5966 default:
5967 {
5968 }
5969 break;
5970 }
5971 i_4 += ((NI) 1);
5972 } LA16: ;
5973 }
5974 }
5975 }
5976 break;
5977 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
5978 {
5979 result = searchTypeForAux__types_393((*(*n)._kind_4.sym).typ, p, marker);
5980 }
5981 break;
5982 default:
5983 {
5984 }
5985 break;
5986 }
5987 }BeforeRet_: ;
5988 return result;
5989 }
N_NIMCALL(NIM_BOOL,searchTypeForAux__types_393)5990 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeForAux__types_393)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyProc__NbBRo5rVxVVQby3QsoZkZQ predicate, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker) {
5991 NIM_BOOL result;
5992 { result = (NIM_BOOL)0;
5993 result = NIM_FALSE;
5994 {
5995 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
5996 goto BeforeRet_;
5997 }
5998 LA3_: ;
5999 {
6000 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym50_;
6001 NIM_BOOL T7_;
6002 xX60gensym50_ = t;
6003 T7_ = (NIM_BOOL)0;
6004 T7_ = containsOrIncl__astalgo_402(marker, (NI)((NI)((NU32)(((NI) ((*xX60gensym50_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym50_).Sup.itemId.item))));
6005 if (!T7_) goto LA8_;
6006 goto BeforeRet_;
6007 }
6008 LA8_: ;
6009 result = predicate(t);
6010 {
6011 if (!result) goto LA12_;
6012 goto BeforeRet_;
6013 }
6014 LA12_: ;
6015 switch ((*t).kind) {
6016 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
6017 {
6018 {
6019 tyObject_TType__facALICuu8zUj0hjvbTLFg* T19_;
6020 if (!!(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA17_;
6021 T19_ = NIM_NIL;
6022 T19_ = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__PpBJsMJcrcWrpLTS6mci1g_5);
6023 result = searchTypeForAux__types_393(T19_, predicate, marker);
6024 }
6025 LA17_: ;
6026 {
6027 if (!!(result)) goto LA22_;
6028 result = searchTypeNodeForAux__types_397((*t).n, predicate, marker);
6029 }
6030 LA22_: ;
6031 }
6032 break;
6033 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
6034 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
6035 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
6036 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
6037 {
6038 tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
6039 T25_ = NIM_NIL;
6040 T25_ = lastSon__ast_3743(t);
6041 result = searchTypeForAux__types_393(T25_, predicate, marker);
6042 }
6043 break;
6044 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6045 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
6046 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
6047 {
6048 {
6049 NI i;
6050 NI colontmp_;
6051 NI i_2;
6052 i = (NI)0;
6053 colontmp_ = (NI)0;
6054 colontmp_ = len__ast_4002(t);
6055 i_2 = ((NI) 0);
6056 {
6057 while (1) {
6058 if (!(i_2 < colontmp_)) goto LA29;
6059 i = i_2;
6060 result = searchTypeForAux__types_393((*t).sons->data[i], predicate, marker);
6061 {
6062 if (!result) goto LA32_;
6063 goto BeforeRet_;
6064 }
6065 LA32_: ;
6066 i_2 += ((NI) 1);
6067 } LA29: ;
6068 }
6069 }
6070 }
6071 break;
6072 default:
6073 {
6074 }
6075 break;
6076 }
6077 }BeforeRet_: ;
6078 return result;
6079 }
N_NIMCALL(NIM_BOOL,searchTypeFor__types_470)6080 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeFor__types_470)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyProc__NbBRo5rVxVVQby3QsoZkZQ predicate) {
6081 NIM_BOOL result;
6082 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
6083 result = (NIM_BOOL)0;
6084 nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
6085 initIntSet__pureZcollectionsZintsets_238((&marker));
6086 result = searchTypeForAux__types_393(t, predicate, (&marker));
6087 return result;
6088 }
N_NIMCALL(NIM_BOOL,isGCRef__types_589)6089 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGCRef__types_589)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
6090 NIM_BOOL result;
6091 NIM_BOOL T1_;
6092 NIM_BOOL T3_;
6093 result = (NIM_BOOL)0;
6094 T1_ = (NIM_BOOL)0;
6095 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
6096 if (T1_) goto LA2_;
6097 T3_ = (NIM_BOOL)0;
6098 T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
6099 if (!(T3_)) goto LA4_;
6100 T3_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
6101 LA4_: ;
6102 T1_ = T3_;
6103 LA2_: ;
6104 result = T1_;
6105 {
6106 NIM_BOOL T7_;
6107 NIM_BOOL T8_;
6108 T7_ = (NIM_BOOL)0;
6109 T8_ = (NIM_BOOL)0;
6110 T8_ = result;
6111 if (!(T8_)) goto LA9_;
6112 T8_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
6113 LA9_: ;
6114 T7_ = T8_;
6115 if (!(T7_)) goto LA10_;
6116 T7_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31))&63U)))!=0);
6117 LA10_: ;
6118 if (!T7_) goto LA11_;
6119 result = NIM_FALSE;
6120 }
6121 LA11_: ;
6122 return result;
6123 }
N_NIMCALL(NIM_BOOL,containsGarbageCollectedRef__types_612)6124 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGarbageCollectedRef__types_612)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
6125 NIM_BOOL result;
6126 result = (NIM_BOOL)0;
6127 result = searchTypeFor__types_470(typ, isGCRef__types_589);
6128 return result;
6129 }
N_INLINE(void,pushSafePoint)6130 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
6131 (*s).prev = excHandler__system_2565;
6132 excHandler__system_2565 = s;
6133 }
N_INLINE(void,popSafePoint)6134 static N_INLINE(void, popSafePoint)(void) {
6135 excHandler__system_2565 = (*excHandler__system_2565).prev;
6136 }
N_NIMCALL(NI64,align__types_2855)6137 N_LIB_PRIVATE N_NIMCALL(NI64, align__types_2855)(NI64 address, NI64 alignment) {
6138 NI64 result;
6139 result = (NI64)0;
6140 result = (NI64)((NI64)(address + (NI64)(alignment - IL64(1))) & (NI64)((NU64) ~((NI64)(alignment - IL64(1)))));
6141 return result;
6142 }
N_NIMCALL(void,Marker_tyRef__SFgbIvdx8bC9cxnXgi8Zn1A)6143 static N_NIMCALL(void, Marker_tyRef__SFgbIvdx8bC9cxnXgi8Zn1A)(void* p, NI op) {
6144 tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA* a;
6145 a = (tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA*)p;
6146 nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op);
6147 nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op);
6148 nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op);
6149 nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op);
6150 }
N_INLINE(NI,minuspercent___system_716)6151 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
6152 NI result;
6153 result = (NI)0;
6154 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
6155 return result;
6156 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)6157 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
6158 NIM_BOOL result;
6159 result = (NIM_BOOL)0;
6160 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
6161 return result;
6162 }
N_INLINE(void,rtlAddZCT__system_5334)6163 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
6164 addZCT__system_5285((&gch__system_5238.zct), c);
6165 }
N_INLINE(void,decRef__system_5336)6166 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
6167 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
6168 {
6169 NIM_BOOL T3_;
6170 T3_ = (NIM_BOOL)0;
6171 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
6172 if (!T3_) goto LA4_;
6173 rtlAddZCT__system_5334(c);
6174 }
6175 LA4_: ;
6176 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5291)6177 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr) {
6178 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
6179 NI T1_;
6180 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
6181 T1_ = (NI)0;
6182 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
6183 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
6184 return result;
6185 }
N_INLINE(void,nimGCunrefNoCycle)6186 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
6187 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
6188 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
6189 T1_ = usrToCell__system_5291(p);
6190 decRef__system_5336(T1_);
6191 }
N_INLINE(NI,pluspercent___system_696)6192 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
6193 NI result;
6194 result = (NI)0;
6195 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
6196 return result;
6197 }
N_INLINE(void,incRef__system_5329)6198 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
6199 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
6200 }
N_INLINE(void,asgnRef)6201 static N_INLINE(void, asgnRef)(void** dest, void* src) {
6202 {
6203 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
6204 if (!!((src == NIM_NIL))) goto LA3_;
6205 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
6206 T5_ = usrToCell__system_5291(src);
6207 incRef__system_5329(T5_);
6208 }
6209 LA3_: ;
6210 {
6211 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
6212 if (!!(((*dest) == NIM_NIL))) goto LA8_;
6213 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
6214 T10_ = usrToCell__system_5291((*dest));
6215 decRef__system_5336(T10_);
6216 }
6217 LA8_: ;
6218 (*dest) = src;
6219 }
N_NIMCALL(void,raiseIllegalTypeRecursion__types_2868)6220 N_LIB_PRIVATE N_NIMCALL(void, raiseIllegalTypeRecursion__types_2868)(void) {
6221 tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA* T1_;
6222 NimStringDesc* T2_;
6223 T1_ = NIM_NIL;
6224 T1_ = (tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA*) newObj((&NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_), sizeof(tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA));
6225 (*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_);
6226 (*T1_).Sup.Sup.Sup.name = "IllegalTypeRecursionError";
6227 T2_ = NIM_NIL;
6228 T2_ = (*T1_).Sup.Sup.Sup.message; (*T1_).Sup.Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_183));
6229 if (T2_) nimGCunrefNoCycle(T2_);
6230 asgnRef((void**) (&(*T1_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
6231 raiseExceptionEx((Exception*)T1_, "IllegalTypeRecursionError", "raiseIllegalTypeRecursion", "sizealignoffsetimpl.nim", 29);
6232 }
N_NIMCALL(NI,align__types_2859)6233 N_LIB_PRIVATE N_NIMCALL(NI, align__types_2859)(NI address, NI alignment) {
6234 NI result;
6235 result = (NI)0;
6236 result = (NI)((NI)(address + (NI)(alignment - ((NI) 1))) & (NI)((NU32) ~((NI)(alignment - ((NI) 1)))));
6237 return result;
6238 }
N_NIMCALL(void,align__types_2902)6239 N_LIB_PRIVATE N_NIMCALL(void, align__types_2902)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg, NI value) {
6240 {
6241 NIM_BOOL T3_;
6242 T3_ = (NIM_BOOL)0;
6243 T3_ = NIM_UNLIKELY((value == ((NI) -2)));
6244 if (!T3_) goto LA4_;
6245 raiseIllegalTypeRecursion__types_2868();
6246 }
6247 LA4_: ;
6248 {
6249 NIM_BOOL T8_;
6250 NIM_BOOL T9_;
6251 T8_ = (NIM_BOOL)0;
6252 T9_ = (NIM_BOOL)0;
6253 T9_ = (value == ((NI) -3));
6254 if (T9_) goto LA10_;
6255 T9_ = ((*arg).maxAlign == ((NI) -3));
6256 LA10_: ;
6257 T8_ = T9_;
6258 if (T8_) goto LA11_;
6259 T8_ = ((*arg).offset == ((NI) -3));
6260 LA11_: ;
6261 if (!T8_) goto LA12_;
6262 (*arg).maxAlign = ((NI) -3);
6263 (*arg).offset = ((NI) -3);
6264 }
6265 goto LA6_;
6266 LA12_: ;
6267 {
6268 (*arg).maxAlign = ((value >= (*arg).maxAlign) ? value : (*arg).maxAlign);
6269 (*arg).offset = align__types_2859((*arg).offset, value);
6270 }
6271 LA6_: ;
6272 }
N_NIMCALL(void,inc__types_2891)6273 N_LIB_PRIVATE N_NIMCALL(void, inc__types_2891)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg, NI value) {
6274 {
6275 NIM_BOOL T3_;
6276 T3_ = (NIM_BOOL)0;
6277 T3_ = NIM_UNLIKELY((value == ((NI) -2)));
6278 if (!T3_) goto LA4_;
6279 raiseIllegalTypeRecursion__types_2868();
6280 }
6281 LA4_: ;
6282 {
6283 NIM_BOOL T8_;
6284 T8_ = (NIM_BOOL)0;
6285 T8_ = (value == ((NI) -3));
6286 if (T8_) goto LA9_;
6287 T8_ = ((*arg).offset == ((NI) -3));
6288 LA9_: ;
6289 if (!T8_) goto LA10_;
6290 (*arg).offset = ((NI) -3);
6291 }
6292 goto LA6_;
6293 LA10_: ;
6294 {
6295 (*arg).offset += value;
6296 }
6297 LA6_: ;
6298 }
N_NIMCALL(NI,finish__types_2908)6299 N_LIB_PRIVATE N_NIMCALL(NI, finish__types_2908)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg) {
6300 NI result;
6301 result = (NI)0;
6302 {
6303 NIM_BOOL T3_;
6304 T3_ = (NIM_BOOL)0;
6305 T3_ = ((*arg).maxAlign == ((NI) -3));
6306 if (T3_) goto LA4_;
6307 T3_ = ((*arg).offset == ((NI) -3));
6308 LA4_: ;
6309 if (!T3_) goto LA5_;
6310 result = ((NI) -3);
6311 (*arg).offset = ((NI) -3);
6312 }
6313 goto LA1_;
6314 LA5_: ;
6315 {
6316 NI T8_;
6317 T8_ = (NI)0;
6318 T8_ = align__types_2859((*arg).offset, (*arg).maxAlign);
6319 result = (NI)(T8_ - (*arg).offset);
6320 (*arg).offset += result;
6321 }
6322 LA1_: ;
6323 return result;
6324 }
N_INLINE(Exception *,nimBorrowCurrentException)6325 static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
6326 Exception* result;
6327 result = NIM_NIL;
6328 result = currException__system_2566;
6329 return result;
6330 }
N_INLINE(void,popCurrentException)6331 static N_INLINE(void, popCurrentException)(void) {
6332 asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
6333 }
N_NIMCALL(NIM_BOOL,isObjectWithTypeFieldPredicate__types_485)6334 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObjectWithTypeFieldPredicate__types_485)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
6335 NIM_BOOL result;
6336 NIM_BOOL T1_;
6337 NIM_BOOL T2_;
6338 NIM_BOOL T3_;
6339 NIM_BOOL T6_;
6340 result = (NIM_BOOL)0;
6341 T1_ = (NIM_BOOL)0;
6342 T2_ = (NIM_BOOL)0;
6343 T3_ = (NIM_BOOL)0;
6344 T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
6345 if (!(T3_)) goto LA4_;
6346 T3_ = ((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
6347 LA4_: ;
6348 T2_ = T3_;
6349 if (!(T2_)) goto LA5_;
6350 T6_ = (NIM_BOOL)0;
6351 T6_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
6352 if (!(T6_)) goto LA7_;
6353 T6_ = !(((IL64(4294969344) & (*(*t).sym).flags) == 0));
6354 LA7_: ;
6355 T2_ = !(T6_);
6356 LA5_: ;
6357 T1_ = T2_;
6358 if (!(T1_)) goto LA8_;
6359 T1_ = !((((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0));
6360 LA8_: ;
6361 result = T1_;
6362 return result;
6363 }
N_NIMCALL(void,mergeBranch__types_2905)6364 N_LIB_PRIVATE N_NIMCALL(void, mergeBranch__types_2905)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg, tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw value) {
6365 {
6366 NIM_BOOL T3_;
6367 NIM_BOOL T4_;
6368 NIM_BOOL T5_;
6369 T3_ = (NIM_BOOL)0;
6370 T4_ = (NIM_BOOL)0;
6371 T5_ = (NIM_BOOL)0;
6372 T5_ = (value.maxAlign == ((NI) -3));
6373 if (T5_) goto LA6_;
6374 T5_ = ((*arg).maxAlign == ((NI) -3));
6375 LA6_: ;
6376 T4_ = T5_;
6377 if (T4_) goto LA7_;
6378 T4_ = (value.offset == ((NI) -3));
6379 LA7_: ;
6380 T3_ = T4_;
6381 if (T3_) goto LA8_;
6382 T3_ = ((*arg).offset == ((NI) -3));
6383 LA8_: ;
6384 if (!T3_) goto LA9_;
6385 (*arg).maxAlign = ((NI) -3);
6386 (*arg).offset = ((NI) -3);
6387 }
6388 goto LA1_;
6389 LA9_: ;
6390 {
6391 (*arg).offset = (((*arg).offset >= value.offset) ? (*arg).offset : value.offset);
6392 (*arg).maxAlign = (((*arg).maxAlign >= value.maxAlign) ? (*arg).maxAlign : value.maxAlign);
6393 }
6394 LA1_: ;
6395 }
N_NIMCALL(void,computeUnionObjectOffsetsFoldFunction__types_3058)6396 N_LIB_PRIVATE N_NIMCALL(void, computeUnionObjectOffsetsFoldFunction__types_3058)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL packed_0, tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* accum) {
6397 switch ((*n).kind) {
6398 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
6399 {
6400 (*accum).offset = ((NI) -3);
6401 (*accum).maxAlign = ((NI) -3);
6402 liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_188), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__PpBJsMJcrcWrpLTS6mci1g_189, NIM_FALSE);
6403 }
6404 break;
6405 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
6406 {
6407 tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw accumRoot;
6408 accumRoot = (*accum);
6409 {
6410 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** child;
6411 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
6412 NI i;
6413 NI L;
6414 NI T4_;
6415 child = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6416 colontmp_ = NIM_NIL;
6417 colontmp_ = (*n)._kind_6.sons;
6418 i = ((NI) 0);
6419 T4_ = (colontmp_ ? colontmp_->Sup.len : 0);
6420 L = T4_;
6421 {
6422 while (1) {
6423 tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw branchAccum;
6424 NI T7_;
6425 if (!(i < L)) goto LA6;
6426 child = &colontmp_->data[i];
6427 nimZeroMem((void*)(&branchAccum), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
6428 branchAccum.offset = accumRoot.offset;
6429 branchAccum.maxAlign = ((NI) 1);
6430 computeUnionObjectOffsetsFoldFunction__types_3058(conf, (*child), packed_0, (&branchAccum));
6431 T7_ = (NI)0;
6432 T7_ = finish__types_2908((&branchAccum));
6433 (void)(T7_);
6434 mergeBranch__types_2905(accum, branchAccum);
6435 i += ((NI) 1);
6436 } LA6: ;
6437 }
6438 }
6439 }
6440 break;
6441 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6442 {
6443 NI size;
6444 NI align;
6445 size = ((NI) -3);
6446 align = ((NI) -3);
6447 {
6448 if (!((*(*n)._kind_4.sym)._kind_2.bitsize == ((NI) 0))) goto LA11_;
6449 computeSizeAlign__types_2915(conf, (*(*n)._kind_4.sym).typ);
6450 size = ((NI) ((*(*(*n)._kind_4.sym).typ).size));
6451 {
6452 if (!packed_0) goto LA15_;
6453 align = ((NI) 1);
6454 }
6455 goto LA13_;
6456 LA15_: ;
6457 {
6458 align = ((NI) ((*(*(*n)._kind_4.sym).typ).align));
6459 }
6460 LA13_: ;
6461 }
6462 LA11_: ;
6463 align__types_2902(accum, align);
6464 {
6465 if (!(((NI) 0) < (*(*n)._kind_4.sym)._kind_2.alignment)) goto LA20_;
6466 align__types_2902(accum, (*(*n)._kind_4.sym)._kind_2.alignment);
6467 }
6468 LA20_: ;
6469 (*(*n)._kind_4.sym).offset = (*accum).offset;
6470 inc__types_2891(accum, size);
6471 }
6472 break;
6473 default:
6474 {
6475 (*accum).maxAlign = ((NI) -3);
6476 (*accum).offset = ((NI) -3);
6477 }
6478 break;
6479 }
6480 }
N_NIMCALL(NI64,computeSubObjectAlign__types_2918)6481 N_LIB_PRIVATE N_NIMCALL(NI64, computeSubObjectAlign__types_2918)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6482 NI64 result;
6483 { result = (NI64)0;
6484 switch ((*n).kind) {
6485 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
6486 {
6487 result = computeSubObjectAlign__types_2918(conf, (*n)._kind_6.sons->data[((NI) 0)]);
6488 {
6489 NI i;
6490 NI colontmp_;
6491 NI i_2;
6492 i = (NI)0;
6493 colontmp_ = (NI)0;
6494 colontmp_ = len__ast_3198(n);
6495 i_2 = ((NI) 1);
6496 {
6497 while (1) {
6498 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
6499 if (!(i_2 < colontmp_)) goto LA4;
6500 i = i_2;
6501 child = (*n)._kind_6.sons->data[i];
6502 switch ((*child).kind) {
6503 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
6504 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
6505 {
6506 NI64 align;
6507 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
6508 T6_ = NIM_NIL;
6509 T6_ = lastSon__ast_4832(child);
6510 align = computeSubObjectAlign__types_2918(conf, T6_);
6511 {
6512 if (!(align < IL64(0))) goto LA9_;
6513 result = align;
6514 goto BeforeRet_;
6515 }
6516 LA9_: ;
6517 result = ((result >= align) ? result : align);
6518 }
6519 break;
6520 default:
6521 {
6522 internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_190), TM__PpBJsMJcrcWrpLTS6mci1g_191);
6523 }
6524 break;
6525 }
6526 i_2 += ((NI) 1);
6527 } LA4: ;
6528 }
6529 }
6530 }
6531 break;
6532 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
6533 {
6534 result = IL64(1);
6535 {
6536 NI i_3;
6537 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_2;
6538 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp__2;
6539 NI i_4;
6540 NI L;
6541 NI T14_;
6542 i_3 = (NI)0;
6543 child_2 = NIM_NIL;
6544 colontmp__2 = NIM_NIL;
6545 colontmp__2 = (*n)._kind_6.sons;
6546 i_4 = ((NI) 0);
6547 T14_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
6548 L = T14_;
6549 {
6550 while (1) {
6551 NI64 align_2;
6552 if (!(i_4 < L)) goto LA16;
6553 i_3 = i_4;
6554 child_2 = colontmp__2->data[i_4];
6555 align_2 = computeSubObjectAlign__types_2918(conf, (*n)._kind_6.sons->data[i_3]);
6556 {
6557 if (!(align_2 < IL64(0))) goto LA19_;
6558 result = align_2;
6559 goto BeforeRet_;
6560 }
6561 LA19_: ;
6562 result = ((result >= align_2) ? result : align_2);
6563 i_4 += ((NI) 1);
6564 } LA16: ;
6565 }
6566 }
6567 }
6568 break;
6569 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6570 {
6571 computeSizeAlign__types_2915(conf, (*(*n)._kind_4.sym).typ);
6572 result = ((NI64) ((*(*(*n)._kind_4.sym).typ).align));
6573 }
6574 break;
6575 default:
6576 {
6577 result = IL64(1);
6578 }
6579 break;
6580 }
6581 }BeforeRet_: ;
6582 return result;
6583 }
N_NIMCALL(NI,alignmentMax__types_2898)6584 N_LIB_PRIVATE N_NIMCALL(NI, alignmentMax__types_2898)(NI a, NI b) {
6585 NI result;
6586 result = (NI)0;
6587 {
6588 NIM_BOOL T3_;
6589 NIM_BOOL T5_;
6590 T3_ = (NIM_BOOL)0;
6591 T3_ = (a == ((NI) -2));
6592 if (T3_) goto LA4_;
6593 T3_ = (b == ((NI) -2));
6594 LA4_: ;
6595 T5_ = (NIM_BOOL)0;
6596 T5_ = NIM_UNLIKELY(T3_);
6597 if (!T5_) goto LA6_;
6598 raiseIllegalTypeRecursion__types_2868();
6599 }
6600 LA6_: ;
6601 {
6602 NIM_BOOL T10_;
6603 T10_ = (NIM_BOOL)0;
6604 T10_ = (a == ((NI) -3));
6605 if (T10_) goto LA11_;
6606 T10_ = (b == ((NI) -3));
6607 LA11_: ;
6608 if (!T10_) goto LA12_;
6609 result = ((NI) -3);
6610 }
6611 goto LA8_;
6612 LA12_: ;
6613 {
6614 result = ((a >= b) ? a : b);
6615 }
6616 LA8_: ;
6617 return result;
6618 }
N_NIMCALL(void,setOffsetsToUnknown__types_2969)6619 N_LIB_PRIVATE N_NIMCALL(void, setOffsetsToUnknown__types_2969)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6620 {
6621 NIM_BOOL T3_;
6622 T3_ = (NIM_BOOL)0;
6623 T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6624 if (!(T3_)) goto LA4_;
6625 T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19));
6626 LA4_: ;
6627 if (!T3_) goto LA5_;
6628 (*(*n)._kind_4.sym).offset = ((NI) -3);
6629 }
6630 goto LA1_;
6631 LA5_: ;
6632 {
6633 {
6634 NI i;
6635 NI colontmp_;
6636 NI i_2;
6637 i = (NI)0;
6638 colontmp_ = (NI)0;
6639 colontmp_ = safeLen__ast_3191(n);
6640 i_2 = ((NI) 0);
6641 {
6642 while (1) {
6643 if (!(i_2 < colontmp_)) goto LA10;
6644 i = i_2;
6645 setOffsetsToUnknown__types_2969((*n)._kind_6.sons->data[i]);
6646 i_2 += ((NI) 1);
6647 } LA10: ;
6648 }
6649 }
6650 }
6651 LA1_: ;
6652 }
N_NIMCALL(void,computeObjectOffsetsFoldFunction__types_2985)6653 N_LIB_PRIVATE N_NIMCALL(void, computeObjectOffsetsFoldFunction__types_2985)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL packed_0, tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* accum) {
6654 {
6655 NIM_BOOL T3_;
6656 T3_ = (NIM_BOOL)0;
6657 T3_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
6658 if (!(T3_)) goto LA4_;
6659 T3_ = ((*(*n).typ).size == IL64(-2));
6660 LA4_: ;
6661 if (!T3_) goto LA5_;
6662 raiseIllegalTypeRecursion__types_2868();
6663 }
6664 LA5_: ;
6665 switch ((*n).kind) {
6666 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
6667 {
6668 NI maxChildAlign;
6669 computeObjectOffsetsFoldFunction__types_2985(conf, (*n)._kind_6.sons->data[((NI) 0)], packed_0, accum);
6670 {
6671 if (!((*accum).offset == ((NI) -3))) goto LA10_;
6672 maxChildAlign = ((NI) -3);
6673 }
6674 goto LA8_;
6675 LA10_: ;
6676 {
6677 maxChildAlign = ((NI) 1);
6678 }
6679 LA8_: ;
6680 {
6681 if (!!(packed_0)) goto LA15_;
6682 {
6683 NI i;
6684 NI colontmp_;
6685 NI i_2;
6686 i = (NI)0;
6687 colontmp_ = (NI)0;
6688 colontmp_ = len__ast_3198(n);
6689 i_2 = ((NI) 1);
6690 {
6691 while (1) {
6692 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
6693 if (!(i_2 < colontmp_)) goto LA19;
6694 i = i_2;
6695 child = (*n)._kind_6.sons->data[i];
6696 switch ((*child).kind) {
6697 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
6698 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
6699 {
6700 NI align;
6701 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
6702 NI64 T22_;
6703 T21_ = NIM_NIL;
6704 T21_ = lastSon__ast_4832((*n)._kind_6.sons->data[i]);
6705 T22_ = (NI64)0;
6706 T22_ = computeSubObjectAlign__types_2918(conf, T21_);
6707 align = ((NI) (T22_));
6708 maxChildAlign = alignmentMax__types_2898(maxChildAlign, align);
6709 }
6710 break;
6711 default:
6712 {
6713 internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_192), TM__PpBJsMJcrcWrpLTS6mci1g_193);
6714 }
6715 break;
6716 }
6717 i_2 += ((NI) 1);
6718 } LA19: ;
6719 }
6720 }
6721 }
6722 LA15_: ;
6723 {
6724 if (!(maxChildAlign == ((NI) -3))) goto LA26_;
6725 setOffsetsToUnknown__types_2969(n);
6726 (*accum).offset = ((NI) -3);
6727 (*accum).maxAlign = ((NI) -3);
6728 }
6729 goto LA24_;
6730 LA26_: ;
6731 {
6732 tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw accumRoot;
6733 align__types_2902(accum, maxChildAlign);
6734 accumRoot = (*accum);
6735 {
6736 NI i_3;
6737 NI colontmp__2;
6738 NI i_4;
6739 i_3 = (NI)0;
6740 colontmp__2 = (NI)0;
6741 colontmp__2 = len__ast_3198(n);
6742 i_4 = ((NI) 1);
6743 {
6744 while (1) {
6745 tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw branchAccum;
6746 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
6747 NI T33_;
6748 if (!(i_4 < colontmp__2)) goto LA31;
6749 i_3 = i_4;
6750 nimZeroMem((void*)(&branchAccum), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
6751 branchAccum.offset = accumRoot.offset;
6752 branchAccum.maxAlign = ((NI) 1);
6753 T32_ = NIM_NIL;
6754 T32_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
6755 computeObjectOffsetsFoldFunction__types_2985(conf, T32_, packed_0, (&branchAccum));
6756 T33_ = (NI)0;
6757 T33_ = finish__types_2908((&branchAccum));
6758 (void)(T33_);
6759 mergeBranch__types_2905(accum, branchAccum);
6760 i_4 += ((NI) 1);
6761 } LA31: ;
6762 }
6763 }
6764 }
6765 LA24_: ;
6766 }
6767 break;
6768 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
6769 {
6770 {
6771 NI i_5;
6772 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_2;
6773 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp__3;
6774 NI i_6;
6775 NI L;
6776 NI T36_;
6777 i_5 = (NI)0;
6778 child_2 = NIM_NIL;
6779 colontmp__3 = NIM_NIL;
6780 colontmp__3 = (*n)._kind_6.sons;
6781 i_6 = ((NI) 0);
6782 T36_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
6783 L = T36_;
6784 {
6785 while (1) {
6786 if (!(i_6 < L)) goto LA38;
6787 i_5 = i_6;
6788 child_2 = colontmp__3->data[i_6];
6789 computeObjectOffsetsFoldFunction__types_2985(conf, child_2, packed_0, accum);
6790 i_6 += ((NI) 1);
6791 } LA38: ;
6792 }
6793 }
6794 }
6795 break;
6796 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6797 {
6798 NI size;
6799 NI align_2;
6800 size = ((NI) -3);
6801 align_2 = ((NI) -3);
6802 {
6803 if (!((*(*n)._kind_4.sym)._kind_2.bitsize == ((NI) 0))) goto LA42_;
6804 computeSizeAlign__types_2915(conf, (*(*n)._kind_4.sym).typ);
6805 size = ((NI) ((*(*(*n)._kind_4.sym).typ).size));
6806 {
6807 if (!packed_0) goto LA46_;
6808 align_2 = ((NI) 1);
6809 }
6810 goto LA44_;
6811 LA46_: ;
6812 {
6813 align_2 = ((NI) ((*(*(*n)._kind_4.sym).typ).align));
6814 }
6815 LA44_: ;
6816 }
6817 LA42_: ;
6818 align__types_2902(accum, align_2);
6819 {
6820 if (!(((NI) 0) < (*(*n)._kind_4.sym)._kind_2.alignment)) goto LA51_;
6821 align__types_2902(accum, (*(*n)._kind_4.sym)._kind_2.alignment);
6822 }
6823 LA51_: ;
6824 (*(*n)._kind_4.sym).offset = (*accum).offset;
6825 inc__types_2891(accum, size);
6826 }
6827 break;
6828 default:
6829 {
6830 (*accum).maxAlign = ((NI) -3);
6831 (*accum).offset = ((NI) -3);
6832 }
6833 break;
6834 }
6835 }
N_NIMCALL(void,computeSizeAlign__types_2915)6836 N_LIB_PRIVATE N_NIMCALL(void, computeSizeAlign__types_2915)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
6837 NIM_BOOL hasSize;
6838 NIM_BOOL hasAlign;
6839 NI64 revertSize;
6840 NI16 revertAlign;
6841 TSafePoint TM__PpBJsMJcrcWrpLTS6mci1g_181;
6842 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag tk;
6843 { hasSize = !(((*typ).size == IL64(-1)));
6844 hasAlign = !(((*typ).align == ((NI16) -1)));
6845 {
6846 NIM_BOOL T3_;
6847 T3_ = (NIM_BOOL)0;
6848 T3_ = hasSize;
6849 if (!(T3_)) goto LA4_;
6850 T3_ = hasAlign;
6851 LA4_: ;
6852 if (!T3_) goto LA5_;
6853 goto BeforeRet_;
6854 }
6855 LA5_: ;
6856 revertSize = (*typ).size;
6857 revertAlign = (*typ).align;
6858 pushSafePoint(&TM__PpBJsMJcrcWrpLTS6mci1g_181);
6859 TM__PpBJsMJcrcWrpLTS6mci1g_181.status = setjmp(TM__PpBJsMJcrcWrpLTS6mci1g_181.context);
6860 if (TM__PpBJsMJcrcWrpLTS6mci1g_181.status == 0) {
6861 {
6862 NIM_BOOL T9_;
6863 T9_ = (NIM_BOOL)0;
6864 T9_ = ((*typ).size == IL64(-2));
6865 if (T9_) goto LA10_;
6866 T9_ = ((*typ).align == ((NI16) -2));
6867 LA10_: ;
6868 if (!T9_) goto LA11_;
6869 popSafePoint();
6870 {
6871 if (!hasSize) goto LA15_;
6872 (*typ).size = revertSize;
6873 }
6874 LA15_: ;
6875 {
6876 if (!hasAlign) goto LA19_;
6877 (*typ).align = revertAlign;
6878 }
6879 LA19_: ;
6880 goto BeforeRet_;
6881 }
6882 LA11_: ;
6883 (*typ).size = IL64(-2);
6884 (*typ).align = ((NI16) -2);
6885 (*typ).paddingAtEnd = ((NI16) 0);
6886 tk = (*typ).kind;
6887 switch (tk) {
6888 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
6889 {
6890 {
6891 if (!((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA24_;
6892 (*typ).size = ((NI64) ((NI)(((NI) 2) * (*conf).target.ptrSize)));
6893 }
6894 goto LA22_;
6895 LA24_: ;
6896 {
6897 (*typ).size = ((NI64) ((*conf).target.ptrSize));
6898 }
6899 LA22_: ;
6900 (*typ).align = ((NI16) ((*conf).target.ptrSize));
6901 }
6902 break;
6903 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
6904 {
6905 (*typ).size = ((NI64) ((*conf).target.ptrSize));
6906 (*typ).align = ((NI16) ((*conf).target.ptrSize));
6907 }
6908 break;
6909 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
6910 {
6911 {
6912 if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA31_;
6913 (*typ).size = ((NI64) ((NI)((*conf).target.ptrSize * ((NI) 2))));
6914 }
6915 goto LA29_;
6916 LA31_: ;
6917 {
6918 (*typ).size = ((NI64) ((*conf).target.ptrSize));
6919 }
6920 LA29_: ;
6921 (*typ).align = ((NI16) ((*conf).target.ptrSize));
6922 }
6923 break;
6924 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
6925 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
6926 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
6927 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
6928 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
6929 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
6930 {
6931 tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
6932 base = lastSon__ast_3743(typ);
6933 {
6934 if (!(base == typ)) goto LA37_;
6935 (*typ).size = IL64(-2);
6936 (*typ).align = ((NI16) -2);
6937 (*typ).paddingAtEnd = ((NI16) -2);
6938 popSafePoint();
6939 {
6940 if (!hasSize) goto LA41_;
6941 (*typ).size = revertSize;
6942 }
6943 LA41_: ;
6944 {
6945 if (!hasAlign) goto LA45_;
6946 (*typ).align = revertAlign;
6947 }
6948 LA45_: ;
6949 goto BeforeRet_;
6950 }
6951 LA37_: ;
6952 (*typ).align = ((NI16) ((*conf).target.ptrSize));
6953 {
6954 NIM_BOOL T49_;
6955 T49_ = (NIM_BOOL)0;
6956 T49_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
6957 if (!(T49_)) goto LA50_;
6958 T49_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
6959 LA50_: ;
6960 if (!T49_) goto LA51_;
6961 (*typ).size = ((NI64) ((NI)((*conf).target.ptrSize * ((NI) 2))));
6962 }
6963 goto LA47_;
6964 LA51_: ;
6965 {
6966 (*typ).size = ((NI64) ((*conf).target.ptrSize));
6967 }
6968 LA47_: ;
6969 }
6970 break;
6971 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6972 {
6973 NI64 elemSize;
6974 tyObject_Int128__9a9axPfb75jdWY25AamJewkA len;
6975 computeSizeAlign__types_2915(conf, (*typ).sons->data[((NI) 1)]);
6976 elemSize = (*(*typ).sons->data[((NI) 1)]).size;
6977 len = lengthOrd__types_1652(conf, (*typ).sons->data[((NI) 0)]);
6978 {
6979 if (!(elemSize < IL64(0))) goto LA57_;
6980 (*typ).size = elemSize;
6981 (*typ).align = ((NI16) (elemSize));
6982 }
6983 goto LA55_;
6984 LA57_: ;
6985 {
6986 NIM_BOOL T60_;
6987 T60_ = (NIM_BOOL)0;
6988 T60_ = lt___int495056_721(len, IL64(0));
6989 if (!T60_) goto LA61_;
6990 (*typ).size = IL64(-3);
6991 (*typ).align = ((NI16) -3);
6992 }
6993 goto LA55_;
6994 LA61_: ;
6995 {
6996 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T64_;
6997 T64_ = star___int495056_514(len, ((NI32) (elemSize)));
6998 (*typ).size = toInt64Checked__int495056_103(T64_, IL64(-4));
6999 (*typ).align = (*(*typ).sons->data[((NI) 1)]).align;
7000 }
7001 LA55_: ;
7002 }
7003 break;
7004 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
7005 {
7006 tyObject_TType__facALICuu8zUj0hjvbTLFg* base_2;
7007 base_2 = lastSon__ast_3743(typ);
7008 computeSizeAlign__types_2915(conf, base_2);
7009 (*typ).size = IL64(0);
7010 (*typ).align = (*base_2).align;
7011 }
7012 break;
7013 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
7014 {
7015 {
7016 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T69_;
7017 NIM_BOOL T70_;
7018 T69_ = firstOrd__types_1353(conf, typ);
7019 T70_ = (NIM_BOOL)0;
7020 T70_ = lt___int495056_305(T69_, Zero__int495056_7);
7021 if (!T70_) goto LA71_;
7022 (*typ).size = IL64(4);
7023 (*typ).align = ((NI16) 4);
7024 }
7025 goto LA67_;
7026 LA71_: ;
7027 {
7028 NI64 lastOrd;
7029 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T74_;
7030 T74_ = lastOrd__types_1465(conf, typ);
7031 lastOrd = toInt64__int495056_88(T74_);
7032 {
7033 if (!(lastOrd < IL64(256))) goto LA77_;
7034 (*typ).size = IL64(1);
7035 (*typ).align = ((NI16) 1);
7036 }
7037 goto LA75_;
7038 LA77_: ;
7039 {
7040 if (!(lastOrd < IL64(65536))) goto LA80_;
7041 (*typ).size = IL64(2);
7042 (*typ).align = ((NI16) 2);
7043 }
7044 goto LA75_;
7045 LA80_: ;
7046 {
7047 if (!(lastOrd < IL64(4294967296))) goto LA83_;
7048 (*typ).size = IL64(4);
7049 (*typ).align = ((NI16) 4);
7050 }
7051 goto LA75_;
7052 LA83_: ;
7053 {
7054 (*typ).size = IL64(8);
7055 (*typ).align = floatInt64Align__options_4700(conf);
7056 }
7057 LA75_: ;
7058 }
7059 LA67_: ;
7060 }
7061 break;
7062 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
7063 {
7064 {
7065 if (!((*(*typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA89_;
7066 (*typ).size = IL64(-1);
7067 (*typ).align = ((NI16) -1);
7068 }
7069 goto LA87_;
7070 LA89_: ;
7071 {
7072 NI64 length;
7073 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T92_;
7074 T92_ = lengthOrd__types_1652(conf, (*typ).sons->data[((NI) 0)]);
7075 length = toInt64__int495056_88(T92_);
7076 {
7077 if (!(length <= IL64(8))) goto LA95_;
7078 (*typ).size = IL64(1);
7079 (*typ).align = ((NI16) 1);
7080 }
7081 goto LA93_;
7082 LA95_: ;
7083 {
7084 if (!(length <= IL64(16))) goto LA98_;
7085 (*typ).size = IL64(2);
7086 (*typ).align = ((NI16) 2);
7087 }
7088 goto LA93_;
7089 LA98_: ;
7090 {
7091 if (!(length <= IL64(32))) goto LA101_;
7092 (*typ).size = IL64(4);
7093 (*typ).align = ((NI16) 4);
7094 }
7095 goto LA93_;
7096 LA101_: ;
7097 {
7098 if (!(length <= IL64(64))) goto LA104_;
7099 (*typ).size = IL64(8);
7100 (*typ).align = floatInt64Align__options_4700(conf);
7101 }
7102 goto LA93_;
7103 LA104_: ;
7104 {
7105 NI64 T107_;
7106 NI64 T110_;
7107 T107_ = (NI64)0;
7108 T107_ = align__types_2855(length, IL64(8));
7109 if (!((NI64)(T107_ % IL64(8)) == IL64(0))) goto LA108_;
7110 T110_ = (NI64)0;
7111 T110_ = align__types_2855(length, IL64(8));
7112 (*typ).size = (NI64)(T110_ / IL64(8));
7113 (*typ).align = floatInt64Align__options_4700(conf);
7114 }
7115 goto LA93_;
7116 LA108_: ;
7117 {
7118 NI64 T112_;
7119 T112_ = (NI64)0;
7120 T112_ = align__types_2855(length, IL64(8));
7121 (*typ).size = (NI64)((NI64)(T112_ / IL64(8)) + IL64(1));
7122 (*typ).align = floatInt64Align__options_4700(conf);
7123 }
7124 LA93_: ;
7125 }
7126 LA87_: ;
7127 }
7128 break;
7129 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
7130 {
7131 computeSizeAlign__types_2915(conf, (*typ).sons->data[((NI) 0)]);
7132 (*typ).size = (*(*typ).sons->data[((NI) 0)]).size;
7133 (*typ).align = (*(*typ).sons->data[((NI) 0)]).align;
7134 (*typ).paddingAtEnd = (*(*typ).sons->data[((NI) 0)]).paddingAtEnd;
7135 }
7136 break;
7137 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
7138 {
7139 TSafePoint TM__PpBJsMJcrcWrpLTS6mci1g_182;
7140 tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw accum;
7141 NI T122_;
7142 NI T123_;
7143 pushSafePoint(&TM__PpBJsMJcrcWrpLTS6mci1g_182);
7144 TM__PpBJsMJcrcWrpLTS6mci1g_182.status = setjmp(TM__PpBJsMJcrcWrpLTS6mci1g_182.context);
7145 if (TM__PpBJsMJcrcWrpLTS6mci1g_182.status == 0) {
7146 nimZeroMem((void*)(&accum), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
7147 accum.maxAlign = ((NI) 1);
7148 {
7149 NI i;
7150 NI colontmp_;
7151 NI i_2;
7152 i = (NI)0;
7153 colontmp_ = (NI)0;
7154 colontmp_ = len__ast_4002(typ);
7155 i_2 = ((NI) 0);
7156 {
7157 while (1) {
7158 tyObject_TType__facALICuu8zUj0hjvbTLFg* child;
7159 if (!(i_2 < colontmp_)) goto LA117;
7160 i = i_2;
7161 child = (*typ).sons->data[i];
7162 computeSizeAlign__types_2915(conf, child);
7163 align__types_2902((&accum), ((NI) ((*child).align)));
7164 {
7165 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
7166 if (!!(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA120_;
7167 sym = (*(*(*typ).n)._kind_6.sons->data[i])._kind_4.sym;
7168 (*sym).offset = accum.offset;
7169 }
7170 LA120_: ;
7171 inc__types_2891((&accum), ((NI) ((*child).size)));
7172 i_2 += ((NI) 1);
7173 } LA117: ;
7174 }
7175 }
7176 T122_ = (NI)0;
7177 T122_ = finish__types_2908((&accum));
7178 (*typ).paddingAtEnd = ((NI16) (T122_));
7179 T123_ = (NI)0;
7180 {
7181 if (!(accum.offset == ((NI) 0))) goto LA126_;
7182 T123_ = ((NI) 1);
7183 }
7184 goto LA124_;
7185 LA126_: ;
7186 {
7187 T123_ = accum.offset;
7188 }
7189 LA124_: ;
7190 (*typ).size = ((NI64) (T123_));
7191 (*typ).align = ((NI16) (accum.maxAlign));
7192 popSafePoint();
7193 }
7194 else {
7195 popSafePoint();
7196 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_))) {
7197 TM__PpBJsMJcrcWrpLTS6mci1g_182.status = 0;
7198 (*typ).paddingAtEnd = ((NI16) -2);
7199 (*typ).size = IL64(-2);
7200 (*typ).align = ((NI16) -2);
7201 popCurrentException();
7202 }
7203 }
7204 if (TM__PpBJsMJcrcWrpLTS6mci1g_182.status != 0) reraiseException();
7205 }
7206 break;
7207 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
7208 {
7209 TSafePoint TM__PpBJsMJcrcWrpLTS6mci1g_184;
7210 tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw volatile accum_2;
7211 NI16 paddingAtEnd;
7212 NI T170_;
7213 pushSafePoint(&TM__PpBJsMJcrcWrpLTS6mci1g_184);
7214 TM__PpBJsMJcrcWrpLTS6mci1g_184.status = setjmp(TM__PpBJsMJcrcWrpLTS6mci1g_184.context);
7215 if (TM__PpBJsMJcrcWrpLTS6mci1g_184.status == 0) {
7216 {
7217 tyObject_TType__facALICuu8zUj0hjvbTLFg* volatile st;
7218 if (!!(((*typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA134_;
7219 st = (*typ).sons->data[((NI) 0)];
7220 {
7221 while (1) {
7222 NI T138_;
7223 if (!((TM__PpBJsMJcrcWrpLTS6mci1g_5[(NU)((*st).kind)>>3] &(1U<<((NU)((*st).kind)&7U)))!=0)) goto LA137;
7224 T138_ = (NI)0;
7225 T138_ = len__ast_4002(st);
7226 st = (*st).sons->data[(NI)(T138_ - ((NI) 1))];
7227 } LA137: ;
7228 }
7229 computeSizeAlign__types_2915(conf, st);
7230 {
7231 if (!((*conf).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2))) goto LA141_;
7232 nimZeroMem((void*)(&accum_2), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
7233 accum_2.offset = (NI)(((NI) ((*st).size)) - ((NI) ((*st).paddingAtEnd)));
7234 accum_2.maxAlign = ((NI) ((*st).align));
7235 }
7236 goto LA139_;
7237 LA141_: ;
7238 {
7239 nimZeroMem((void*)(&accum_2), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
7240 accum_2.offset = ((NI) ((*st).size));
7241 accum_2.maxAlign = ((NI) ((*st).align));
7242 }
7243 LA139_: ;
7244 }
7245 goto LA132_;
7246 LA134_: ;
7247 {
7248 NIM_BOOL T145_;
7249 T145_ = (NIM_BOOL)0;
7250 T145_ = isObjectWithTypeFieldPredicate__types_485(typ);
7251 if (!T145_) goto LA146_;
7252 nimZeroMem((void*)(&accum_2), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
7253 accum_2.offset = (*conf).target.intSize;
7254 accum_2.maxAlign = (*conf).target.intSize;
7255 }
7256 goto LA132_;
7257 LA146_: ;
7258 {
7259 nimZeroMem((void*)(&accum_2), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
7260 accum_2.maxAlign = ((NI) 1);
7261 }
7262 LA132_: ;
7263 {
7264 if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0)) goto LA151_;
7265 {
7266 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
7267 if (!!((accum_2.offset == ((NI) 0)))) goto LA155_;
7268 {
7269 if (!!(((*typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA159_;
7270 info = (*(*typ).sym).info;
7271 }
7272 goto LA157_;
7273 LA159_: ;
7274 {
7275 info = unknownLineInfo__lineinfos_280;
7276 }
7277 LA157_: ;
7278 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_185), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__PpBJsMJcrcWrpLTS6mci1g_186, NIM_FALSE);
7279 nimZeroMem((void*)(&accum_2), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
7280 accum_2.offset = ((NI) -3);
7281 accum_2.maxAlign = ((NI) -3);
7282 }
7283 goto LA153_;
7284 LA155_: ;
7285 {
7286 if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 23))&63U)))!=0)) goto LA163_;
7287 computeUnionObjectOffsetsFoldFunction__types_3058(conf, (*typ).n, NIM_TRUE, (&accum_2));
7288 }
7289 goto LA153_;
7290 LA163_: ;
7291 {
7292 computeUnionObjectOffsetsFoldFunction__types_3058(conf, (*typ).n, NIM_FALSE, (&accum_2));
7293 }
7294 LA153_: ;
7295 }
7296 goto LA149_;
7297 LA151_: ;
7298 {
7299 if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 23))&63U)))!=0)) goto LA167_;
7300 accum_2.maxAlign = ((NI) 1);
7301 computeObjectOffsetsFoldFunction__types_2985(conf, (*typ).n, NIM_TRUE, (&accum_2));
7302 }
7303 goto LA149_;
7304 LA167_: ;
7305 {
7306 computeObjectOffsetsFoldFunction__types_2985(conf, (*typ).n, NIM_FALSE, (&accum_2));
7307 }
7308 LA149_: ;
7309 T170_ = (NI)0;
7310 T170_ = finish__types_2908((&accum_2));
7311 paddingAtEnd = ((NI16) (T170_));
7312 {
7313 NIM_BOOL T173_;
7314 NIM_BOOL T174_;
7315 T173_ = (NIM_BOOL)0;
7316 T174_ = (NIM_BOOL)0;
7317 T174_ = !(((*typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
7318 if (!(T174_)) goto LA175_;
7319 T174_ = (((*(*typ).sym).flags & 262208) == 64);
7320 LA175_: ;
7321 T173_ = T174_;
7322 if (!(T173_)) goto LA176_;
7323 T173_ = !((((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 41))&63U)))!=0));
7324 LA176_: ;
7325 if (!T173_) goto LA177_;
7326 (*typ).size = IL64(-3);
7327 (*typ).align = ((NI16) -3);
7328 (*typ).paddingAtEnd = ((NI16) -3);
7329 }
7330 goto LA171_;
7331 LA177_: ;
7332 {
7333 NI T180_;
7334 T180_ = (NI)0;
7335 {
7336 if (!(accum_2.offset == ((NI) 0))) goto LA183_;
7337 T180_ = ((NI) 1);
7338 }
7339 goto LA181_;
7340 LA183_: ;
7341 {
7342 T180_ = accum_2.offset;
7343 }
7344 LA181_: ;
7345 (*typ).size = ((NI64) (T180_));
7346 (*typ).align = ((NI16) (accum_2.maxAlign));
7347 (*typ).paddingAtEnd = paddingAtEnd;
7348 }
7349 LA171_: ;
7350 popSafePoint();
7351 }
7352 else {
7353 popSafePoint();
7354 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_))) {
7355 TM__PpBJsMJcrcWrpLTS6mci1g_184.status = 0;
7356 (*typ).size = IL64(-2);
7357 (*typ).align = ((NI16) -2);
7358 (*typ).paddingAtEnd = ((NI16) -2);
7359 popCurrentException();
7360 }
7361 }
7362 if (TM__PpBJsMJcrcWrpLTS6mci1g_184.status != 0) reraiseException();
7363 }
7364 break;
7365 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
7366 {
7367 {
7368 NI T191_;
7369 tyObject_TType__facALICuu8zUj0hjvbTLFg* T194_;
7370 tyObject_TType__facALICuu8zUj0hjvbTLFg* T195_;
7371 tyObject_TType__facALICuu8zUj0hjvbTLFg* T196_;
7372 tyObject_TType__facALICuu8zUj0hjvbTLFg* T197_;
7373 T191_ = (NI)0;
7374 T191_ = len__ast_4002(typ);
7375 if (!(((NI) 1) < T191_)) goto LA192_;
7376 T194_ = NIM_NIL;
7377 T194_ = lastSon__ast_3743(typ);
7378 computeSizeAlign__types_2915(conf, T194_);
7379 T195_ = NIM_NIL;
7380 T195_ = lastSon__ast_3743(typ);
7381 (*typ).size = (*T195_).size;
7382 T196_ = NIM_NIL;
7383 T196_ = lastSon__ast_3743(typ);
7384 (*typ).align = (*T196_).align;
7385 T197_ = NIM_NIL;
7386 T197_ = lastSon__ast_3743(typ);
7387 (*typ).paddingAtEnd = (*T197_).paddingAtEnd;
7388 }
7389 LA192_: ;
7390 }
7391 break;
7392 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
7393 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
7394 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
7395 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
7396 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
7397 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
7398 {
7399 tyObject_TType__facALICuu8zUj0hjvbTLFg* T199_;
7400 tyObject_TType__facALICuu8zUj0hjvbTLFg* T200_;
7401 tyObject_TType__facALICuu8zUj0hjvbTLFg* T201_;
7402 tyObject_TType__facALICuu8zUj0hjvbTLFg* T202_;
7403 T199_ = NIM_NIL;
7404 T199_ = lastSon__ast_3743(typ);
7405 computeSizeAlign__types_2915(conf, T199_);
7406 T200_ = NIM_NIL;
7407 T200_ = lastSon__ast_3743(typ);
7408 (*typ).size = (*T200_).size;
7409 T201_ = NIM_NIL;
7410 T201_ = lastSon__ast_3743(typ);
7411 (*typ).align = (*T201_).align;
7412 T202_ = NIM_NIL;
7413 T202_ = lastSon__ast_3743(typ);
7414 (*typ).paddingAtEnd = (*T202_).paddingAtEnd;
7415 }
7416 break;
7417 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
7418 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
7419 {
7420 {
7421 tyObject_TType__facALICuu8zUj0hjvbTLFg* T208_;
7422 tyObject_TType__facALICuu8zUj0hjvbTLFg* T209_;
7423 tyObject_TType__facALICuu8zUj0hjvbTLFg* T210_;
7424 tyObject_TType__facALICuu8zUj0hjvbTLFg* T211_;
7425 if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA206_;
7426 T208_ = NIM_NIL;
7427 T208_ = lastSon__ast_3743(typ);
7428 computeSizeAlign__types_2915(conf, T208_);
7429 T209_ = NIM_NIL;
7430 T209_ = lastSon__ast_3743(typ);
7431 (*typ).size = (*T209_).size;
7432 T210_ = NIM_NIL;
7433 T210_ = lastSon__ast_3743(typ);
7434 (*typ).align = (*T210_).align;
7435 T211_ = NIM_NIL;
7436 T211_ = lastSon__ast_3743(typ);
7437 (*typ).paddingAtEnd = (*T211_).paddingAtEnd;
7438 }
7439 goto LA204_;
7440 LA206_: ;
7441 {
7442 (*typ).size = IL64(-3);
7443 (*typ).align = ((NI16) -3);
7444 (*typ).paddingAtEnd = ((NI16) -3);
7445 }
7446 LA204_: ;
7447 }
7448 break;
7449 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
7450 {
7451 tyObject_TType__facALICuu8zUj0hjvbTLFg* T214_;
7452 tyObject_TType__facALICuu8zUj0hjvbTLFg* T215_;
7453 tyObject_TType__facALICuu8zUj0hjvbTLFg* T216_;
7454 tyObject_TType__facALICuu8zUj0hjvbTLFg* T217_;
7455 T214_ = NIM_NIL;
7456 T214_ = base__types_63(typ);
7457 computeSizeAlign__types_2915(conf, T214_);
7458 T215_ = NIM_NIL;
7459 T215_ = base__types_63(typ);
7460 (*typ).size = (*T215_).size;
7461 T216_ = NIM_NIL;
7462 T216_ = base__types_63(typ);
7463 (*typ).align = (*T216_).align;
7464 T217_ = NIM_NIL;
7465 T217_ = base__types_63(typ);
7466 (*typ).paddingAtEnd = (*T217_).paddingAtEnd;
7467 }
7468 break;
7469 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
7470 {
7471 (*typ).size = IL64(-2);
7472 (*typ).align = ((NI16) -2);
7473 (*typ).paddingAtEnd = ((NI16) -2);
7474 }
7475 break;
7476 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
7477 {
7478 {
7479 tyObject_TType__facALICuu8zUj0hjvbTLFg* T224_;
7480 tyObject_TType__facALICuu8zUj0hjvbTLFg* T225_;
7481 tyObject_TType__facALICuu8zUj0hjvbTLFg* T226_;
7482 tyObject_TType__facALICuu8zUj0hjvbTLFg* T227_;
7483 if (!!(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA222_;
7484 T224_ = NIM_NIL;
7485 T224_ = lastSon__ast_3743(typ);
7486 computeSizeAlign__types_2915(conf, T224_);
7487 T225_ = NIM_NIL;
7488 T225_ = lastSon__ast_3743(typ);
7489 (*typ).size = (*T225_).size;
7490 T226_ = NIM_NIL;
7491 T226_ = lastSon__ast_3743(typ);
7492 (*typ).align = (*T226_).align;
7493 T227_ = NIM_NIL;
7494 T227_ = lastSon__ast_3743(typ);
7495 (*typ).paddingAtEnd = (*T227_).paddingAtEnd;
7496 }
7497 goto LA220_;
7498 LA222_: ;
7499 {
7500 (*typ).size = IL64(-3);
7501 (*typ).align = ((NI16) -3);
7502 (*typ).paddingAtEnd = ((NI16) -3);
7503 }
7504 LA220_: ;
7505 }
7506 break;
7507 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
7508 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
7509 {
7510 (*typ).size = ((NI64) (((NI16) ((*conf).target.intSize))));
7511 (*typ).align = ((NI16) ((*conf).target.intSize));
7512 (*typ).paddingAtEnd = ((NI16) 0);
7513 }
7514 break;
7515 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
7516 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
7517 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
7518 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
7519 {
7520 (*typ).size = IL64(1);
7521 (*typ).align = ((NI16) 1);
7522 (*typ).paddingAtEnd = ((NI16) 0);
7523 }
7524 break;
7525 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
7526 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
7527 {
7528 (*typ).size = IL64(2);
7529 (*typ).align = ((NI16) 2);
7530 (*typ).paddingAtEnd = ((NI16) 0);
7531 }
7532 break;
7533 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
7534 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
7535 {
7536 (*typ).size = IL64(4);
7537 (*typ).align = ((NI16) 4);
7538 (*typ).paddingAtEnd = ((NI16) 0);
7539 }
7540 break;
7541 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
7542 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
7543 {
7544 (*typ).size = IL64(8);
7545 (*typ).align = ((NI16) 8);
7546 (*typ).paddingAtEnd = ((NI16) 0);
7547 }
7548 break;
7549 default:
7550 {
7551 (*typ).size = IL64(-3);
7552 (*typ).align = ((NI16) -3);
7553 (*typ).paddingAtEnd = ((NI16) -3);
7554 }
7555 break;
7556 }
7557 popSafePoint();
7558 }
7559 else {
7560 popSafePoint();
7561 }
7562 {
7563 {
7564 if (!hasSize) goto LA239_;
7565 (*typ).size = revertSize;
7566 }
7567 LA239_: ;
7568 {
7569 if (!hasAlign) goto LA243_;
7570 (*typ).align = revertAlign;
7571 }
7572 LA243_: ;
7573 if (TM__PpBJsMJcrcWrpLTS6mci1g_181.status != 0) nimLeaveFinally();
7574 }
7575 if (TM__PpBJsMJcrcWrpLTS6mci1g_181.status != 0) reraiseException();
7576 }BeforeRet_: ;
7577 }
N_NIMCALL(NI64,getSize__types_3327)7578 N_LIB_PRIVATE N_NIMCALL(NI64, getSize__types_3327)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
7579 NI64 result;
7580 result = (NI64)0;
7581 computeSizeAlign__types_2915(conf, typ);
7582 result = (*typ).size;
7583 return result;
7584 }
N_NIMCALL(tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng,classify__types_3572)7585 N_LIB_PRIVATE N_NIMCALL(tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng, classify__types_3572)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
7586 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng result;
7587 result = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
7588 {
7589 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
7590 result = ((tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng) 0);
7591 }
7592 goto LA1_;
7593 LA3_: ;
7594 {
7595 tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
7596 T6_ = NIM_NIL;
7597 T6_ = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_194);
7598 switch ((*T6_).kind) {
7599 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
7600 {
7601 result = ((tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng) 2);
7602 }
7603 break;
7604 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
7605 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
7606 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
7607 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
7608 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
7609 {
7610 result = ((tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng) 1);
7611 }
7612 break;
7613 default:
7614 {
7615 result = ((tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng) 0);
7616 }
7617 break;
7618 }
7619 }
7620 LA1_: ;
7621 return result;
7622 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipConv__types_3588)7623 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3588)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7624 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7625 result = NIM_NIL;
7626 result = n;
7627 switch ((*n).kind) {
7628 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
7629 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
7630 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
7631 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
7632 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
7633 {
7634 {
7635 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng T4_;
7636 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng T5_;
7637 T4_ = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
7638 T4_ = classify__types_3572((*(*n)._kind_6.sons->data[((NI) 0)]).typ);
7639 T5_ = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
7640 T5_ = classify__types_3572((*n).typ);
7641 if (!(T4_ == T5_)) goto LA6_;
7642 result = (*n)._kind_6.sons->data[((NI) 0)];
7643 }
7644 LA6_: ;
7645 }
7646 break;
7647 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
7648 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
7649 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
7650 {
7651 {
7652 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng T11_;
7653 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng T12_;
7654 T11_ = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
7655 T11_ = classify__types_3572((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
7656 T12_ = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
7657 T12_ = classify__types_3572((*n).typ);
7658 if (!(T11_ == T12_)) goto LA13_;
7659 result = (*n)._kind_6.sons->data[((NI) 1)];
7660 }
7661 LA13_: ;
7662 }
7663 break;
7664 default:
7665 {
7666 }
7667 break;
7668 }
7669 return result;
7670 }
N_NIMCALL(NIM_BOOL,isUnsigned__types_154)7671 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnsigned__types_154)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
7672 NIM_BOOL result;
7673 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
7674 result = (NIM_BOOL)0;
7675 T1_ = NIM_NIL;
7676 T1_ = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_167);
7677 result = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*T1_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T1_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
7678 return result;
7679 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)7680 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
7681 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
7682 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
7683 (*x).typeId_0 += ((NI) 1);
7684 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
7685 result.module = (*x).module;
7686 result.item = (*x).typeId_0;
7687 return result;
7688 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,takeType__types_3633)7689 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, takeType__types_3633)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* arg, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
7690 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
7691 result = NIM_NIL;
7692 {
7693 if (!((*arg).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA3_;
7694 result = formal;
7695 }
7696 goto LA1_;
7697 LA3_: ;
7698 {
7699 NIM_BOOL T6_;
7700 tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
7701 tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
7702 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T11_;
7703 T6_ = (NIM_BOOL)0;
7704 T6_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48) || (*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
7705 if (!(T6_)) goto LA7_;
7706 T6_ = isEmptyContainer__types_3617(arg);
7707 LA7_: ;
7708 if (!T6_) goto LA8_;
7709 T10_ = NIM_NIL;
7710 T10_ = skipTypes__ast_3735(arg, TM__PpBJsMJcrcWrpLTS6mci1g_2);
7711 T11_ = nextTypeId__ast_3151(idgen);
7712 a = copyType__ast_4046(T10_, T11_, (*arg).owner);
7713 copyTypeProps__modulegraphs_8872(g, ((NI) ((*idgen).module)), a, arg);
7714 asgnRef((void**) (&(*a).sons->data[((*arg).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))]), (*formal).sons->data[((NI) 0)]);
7715 result = a;
7716 }
7717 goto LA1_;
7718 LA8_: ;
7719 {
7720 NIM_BOOL T13_;
7721 T13_ = (NIM_BOOL)0;
7722 T13_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19));
7723 if (!(T13_)) goto LA14_;
7724 T13_ = ((*arg).kind == (*formal).kind);
7725 LA14_: ;
7726 if (!T13_) goto LA15_;
7727 result = formal;
7728 }
7729 goto LA1_;
7730 LA15_: ;
7731 {
7732 result = arg;
7733 }
7734 LA1_: ;
7735 return result;
7736 }
N_NIMCALL(NI64,getAlign__types_3323)7737 N_LIB_PRIVATE N_NIMCALL(NI64, getAlign__types_3323)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
7738 NI64 result;
7739 result = (NI64)0;
7740 computeSizeAlign__types_2915(conf, typ);
7741 result = ((NI64) ((*typ).align));
7742 return result;
7743 }
N_NIMCALL(void,addPragmaAndCallConvMismatch__types_3786)7744 N_LIB_PRIVATE N_NIMCALL(void, addPragmaAndCallConvMismatch__types_3786)(NimStringDesc** message, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
7745 tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA T1_;
7746 tySet_tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA convMismatch;
7747 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw _;
7748 NimStringDesc* gotPragmas;
7749 NimStringDesc* expectedPragmas;
7750 T1_ = getProcConvMismatch__types_3686(conf, formal, actual, ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0));
7751 convMismatch = T1_.Field0;
7752 _ = T1_.Field1;
7753 gotPragmas = ((NimStringDesc*) NIM_NIL);
7754 expectedPragmas = ((NimStringDesc*) NIM_NIL);
7755 {
7756 tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA reason;
7757 NI i;
7758 reason = (tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA)0;
7759 i = ((NI) 0);
7760 {
7761 while (1) {
7762 if (!(i <= ((NI) 4))) goto LA4;
7763 {
7764 if (!((convMismatch &((NU8)1<<((NU)(((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) (i)))&7U)))!=0)) goto LA7_;
7765 reason = ((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) (i));
7766 switch (reason) {
7767 case ((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 4):
7768 {
7769 tyArray__Re75IspeoxXy2oCZHwcRrA T10_;
7770 NimStringDesc* T11_;
7771 nimZeroMem((void*)T10_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7772 T10_[0] = reprEnum((NI)(*actual).callConv, (&NTItcallingconvention__yjAJ8w0h1PBaSwSGJ3P7IA_));
7773 T10_[1] = reprEnum((NI)(*formal).callConv, (&NTItcallingconvention__yjAJ8w0h1PBaSwSGJ3P7IA_));
7774 T11_ = NIM_NIL;
7775 T11_ = nsuFormatOpenArray(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_202), T10_, 2);
7776 unsureAsgnRef((void**) (&(*message)), resizeString((*message), (T11_ ? T11_->Sup.len : 0) + 0));
7777 appendString((*message), T11_);
7778 }
7779 break;
7780 case ((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 0):
7781 {
7782 expectedPragmas = resizeString(expectedPragmas, 14);
7783 appendString(expectedPragmas, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_203));
7784 }
7785 break;
7786 case ((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 1):
7787 {
7788 expectedPragmas = resizeString(expectedPragmas, 8);
7789 appendString(expectedPragmas, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_204));
7790 }
7791 break;
7792 case ((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 2):
7793 {
7794 NimStringDesc* T15_;
7795 NimStringDesc* T16_;
7796 NimStringDesc* T17_;
7797 NimStringDesc* T18_;
7798 T15_ = NIM_NIL;
7799 T16_ = NIM_NIL;
7800 T16_ = dollar___ast_3858((*actual).lockLevel);
7801 T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + 9);
7802 appendString(T15_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_157));
7803 appendString(T15_, T16_);
7804 appendString(T15_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
7805 gotPragmas = resizeString(gotPragmas, (T15_ ? T15_->Sup.len : 0) + 0);
7806 appendString(gotPragmas, T15_);
7807 T17_ = NIM_NIL;
7808 T18_ = NIM_NIL;
7809 T18_ = dollar___ast_3858((*formal).lockLevel);
7810 T17_ = rawNewString((T18_ ? T18_->Sup.len : 0) + 9);
7811 appendString(T17_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_157));
7812 appendString(T17_, T18_);
7813 appendString(T17_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
7814 expectedPragmas = resizeString(expectedPragmas, (T17_ ? T17_->Sup.len : 0) + 0);
7815 appendString(expectedPragmas, T17_);
7816 }
7817 break;
7818 case ((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 3):
7819 {
7820 }
7821 break;
7822 }
7823 }
7824 LA7_: ;
7825 i += ((NI) 1);
7826 } LA4: ;
7827 }
7828 }
7829 {
7830 tyArray__Re75IspeoxXy2oCZHwcRrA T24_;
7831 NimStringDesc* T25_;
7832 if (!(((NI) 0) < (expectedPragmas ? expectedPragmas->Sup.len : 0))) goto LA22_;
7833 gotPragmas = setLengthStr(gotPragmas, ((NI) (((((NI) 0) >= (NI)((gotPragmas ? gotPragmas->Sup.len : 0) - ((NI) 2))) ? ((NI) 0) : (NI)((gotPragmas ? gotPragmas->Sup.len : 0) - ((NI) 2))))));
7834 expectedPragmas = setLengthStr(expectedPragmas, ((NI) (((((NI) 0) >= (NI)((expectedPragmas ? expectedPragmas->Sup.len : 0) - ((NI) 2))) ? ((NI) 0) : (NI)((expectedPragmas ? expectedPragmas->Sup.len : 0) - ((NI) 2))))));
7835 nimZeroMem((void*)T24_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7836 T24_[0] = copyString(gotPragmas);
7837 T24_[1] = copyString(expectedPragmas);
7838 T25_ = NIM_NIL;
7839 T25_ = nsuFormatOpenArray(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_205), T24_, 2);
7840 unsureAsgnRef((void**) (&(*message)), resizeString((*message), (T25_ ? T25_->Sup.len : 0) + 0));
7841 appendString((*message), T25_);
7842 }
7843 LA22_: ;
7844 }
N_NIMCALL(void,typeMismatch__types_3861)7845 N_LIB_PRIVATE N_NIMCALL(void, typeMismatch__types_3861)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7846 {
7847 NIM_BOOL T3_;
7848 NimStringDesc* actualStr;
7849 NimStringDesc* formalStr;
7850 NimStringDesc* desc;
7851 NimStringDesc* x;
7852 NIM_BOOL verbose;
7853 NIM_BOOL T13_;
7854 NimStringDesc* msg;
7855 NimStringDesc* T32_;
7856 T3_ = (NIM_BOOL)0;
7857 T3_ = !(((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)));
7858 if (!(T3_)) goto LA4_;
7859 T3_ = !(((*actual).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)));
7860 LA4_: ;
7861 if (!T3_) goto LA5_;
7862 actualStr = typeToString__types_50(actual, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
7863 formalStr = typeToString__types_50(formal, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
7864 desc = typeToString__types_50(formal, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
7865 {
7866 if (!eqStrings(formalStr, desc)) goto LA9_;
7867 x = formalStr;
7868 }
7869 goto LA7_;
7870 LA9_: ;
7871 {
7872 NimStringDesc* T12_;
7873 T12_ = NIM_NIL;
7874 T12_ = rawNewString((formalStr ? formalStr->Sup.len : 0) + (desc ? desc->Sup.len : 0) + 3);
7875 appendString(T12_, formalStr);
7876 appendString(T12_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_195));
7877 appendString(T12_, desc);
7878 x = T12_;
7879 }
7880 LA7_: ;
7881 T13_ = (NIM_BOOL)0;
7882 T13_ = eqStrings(actualStr, formalStr);
7883 if (T13_) goto LA14_;
7884 T13_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 36))&63U)))!=0);
7885 LA14_: ;
7886 verbose = T13_;
7887 msg = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_196));
7888 {
7889 if (!verbose) goto LA17_;
7890 msg = resizeString(msg, 1);
7891 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_197));
7892 }
7893 LA17_: ;
7894 {
7895 NIM_BOOL T21_;
7896 NimStringDesc* T24_;
7897 T21_ = (NIM_BOOL)0;
7898 T21_ = isDefined__options_2279(conf, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_198));
7899 if (!T21_) goto LA22_;
7900 T24_ = NIM_NIL;
7901 T24_ = nsuFormatSingleElem(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_199), actualStr);
7902 msg = resizeString(msg, (T24_ ? T24_->Sup.len : 0) + 0);
7903 appendString(msg, T24_);
7904 }
7905 goto LA19_;
7906 LA22_: ;
7907 {
7908 tyArray__Re75IspeoxXy2oCZHwcRrA T26_;
7909 NimStringDesc* T27_;
7910 nimZeroMem((void*)T26_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7911 T26_[0] = copyString(actualStr);
7912 T26_[1] = renderTree__renderer_46(n, 0);
7913 T27_ = NIM_NIL;
7914 T27_ = nsuFormatOpenArray(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_200), T26_, 2);
7915 msg = resizeString(msg, (T27_ ? T27_->Sup.len : 0) + 0);
7916 appendString(msg, T27_);
7917 }
7918 LA19_: ;
7919 {
7920 if (!verbose) goto LA30_;
7921 addDeclaredLoc__astmsgs_33((&msg), conf, actual);
7922 msg = resizeString(msg, 1);
7923 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_197));
7924 }
7925 LA30_: ;
7926 T32_ = NIM_NIL;
7927 T32_ = nsuFormatSingleElem(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_201), x);
7928 msg = resizeString(msg, (T32_ ? T32_->Sup.len : 0) + 0);
7929 appendString(msg, T32_);
7930 {
7931 if (!verbose) goto LA35_;
7932 addDeclaredLoc__astmsgs_33((&msg), conf, formal);
7933 }
7934 LA35_: ;
7935 {
7936 NIM_BOOL T39_;
7937 tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ T43_;
7938 T39_ = (NIM_BOOL)0;
7939 T39_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
7940 if (!(T39_)) goto LA40_;
7941 T39_ = ((*actual).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
7942 LA40_: ;
7943 if (!T39_) goto LA41_;
7944 addPragmaAndCallConvMismatch__types_3786((&msg), formal, actual, conf);
7945 T43_ = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0;
7946 T43_ = compatibleEffects__types_3416(formal, actual);
7947 switch (T43_) {
7948 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0):
7949 {
7950 }
7951 break;
7952 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 1):
7953 {
7954 msg = resizeString(msg, 22);
7955 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_206));
7956 }
7957 break;
7958 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 2):
7959 {
7960 msg = resizeString(msg, 33);
7961 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_207));
7962 }
7963 break;
7964 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 3):
7965 {
7966 msg = resizeString(msg, 20);
7967 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_208));
7968 }
7969 break;
7970 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 4):
7971 {
7972 msg = resizeString(msg, 33);
7973 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_209));
7974 }
7975 break;
7976 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 5):
7977 {
7978 msg = resizeString(msg, 19);
7979 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_210));
7980 }
7981 break;
7982 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 6):
7983 {
7984 msg = resizeString(msg, 30);
7985 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_211));
7986 }
7987 break;
7988 }
7989 }
7990 LA41_: ;
7991 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__PpBJsMJcrcWrpLTS6mci1g_212, NIM_FALSE);
7992 }
7993 LA5_: ;
7994 }
N_INLINE(NIM_BOOL,contains__types_1638)7995 static N_INLINE(NIM_BOOL, contains__types_1638)(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA s, NF value) {
7996 NIM_BOOL result;
7997 NIM_BOOL T1_;
7998 result = (NIM_BOOL)0;
7999 T1_ = (NIM_BOOL)0;
8000 T1_ = (s.a <= value);
8001 if (!(T1_)) goto LA2_;
8002 T1_ = (value <= s.b);
8003 LA2_: ;
8004 result = T1_;
8005 return result;
8006 }
N_INLINE(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA,dotdot___types_1608)8007 static N_INLINE(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA, dotdot___types_1608)(NF a, NF b) {
8008 tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA result;
8009 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA));
8010 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA));
8011 result.a = a;
8012 result.b = b;
8013 return result;
8014 }
N_NIMCALL(NIM_BOOL,floatRangeCheck__types_1604)8015 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, floatRangeCheck__types_1604)(NF x, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8016 NIM_BOOL result;
8017 result = (NIM_BOOL)0;
8018 switch ((*t).kind) {
8019 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
8020 {
8021 result = NIM_TRUE;
8022 }
8023 break;
8024 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
8025 {
8026 NF T3_;
8027 NF T4_;
8028 tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA T5_;
8029 T3_ = (NF)0;
8030 T3_ = firstFloat__types_1440(t);
8031 T4_ = (NF)0;
8032 T4_ = lastFloat__types_1579(t);
8033 T5_ = dotdot___types_1608(T3_, T4_);
8034 result = contains__types_1638(T5_, x);
8035 }
8036 break;
8037 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
8038 {
8039 result = floatRangeCheck__types_1604(x, (*t).sons->data[((NI) 0)]);
8040 }
8041 break;
8042 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
8043 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
8044 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
8045 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
8046 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
8047 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
8048 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
8049 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
8050 {
8051 tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
8052 T8_ = NIM_NIL;
8053 T8_ = lastSon__ast_3743(t);
8054 result = floatRangeCheck__types_1604(x, T8_);
8055 }
8056 break;
8057 default:
8058 {
8059 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T10_;
8060 NimStringDesc* T11_;
8061 T10_ = NIM_NIL;
8062 T10_ = newPartialConfigRef__options_2497();
8063 T11_ = NIM_NIL;
8064 T11_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 33);
8065 appendString(T11_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_213));
8066 appendString(T11_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8067 internalErrorImpl__msgs_1431(T10_, unknownLineInfo__lineinfos_280, T11_, TM__PpBJsMJcrcWrpLTS6mci1g_214);
8068 result = NIM_FALSE;
8069 }
8070 break;
8071 }
8072 return result;
8073 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipHiddenSubConv__types_3665)8074 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipHiddenSubConv__types_3665)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
8075 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8076 result = NIM_NIL;
8077 {
8078 tyObject_TType__facALICuu8zUj0hjvbTLFg* formal;
8079 tyObject_TType__facALICuu8zUj0hjvbTLFg* arg;
8080 tyObject_TType__facALICuu8zUj0hjvbTLFg* dest;
8081 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59))) goto LA3_;
8082 formal = (*n).typ;
8083 result = (*n)._kind_6.sons->data[((NI) 1)];
8084 arg = (*result).typ;
8085 dest = takeType__types_3633(formal, arg, g, idgen);
8086 {
8087 NIM_BOOL T7_;
8088 T7_ = (NIM_BOOL)0;
8089 T7_ = (dest == arg);
8090 if (!(T7_)) goto LA8_;
8091 T7_ = !(((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)));
8092 LA8_: ;
8093 if (!T7_) goto LA9_;
8094 result = n;
8095 }
8096 goto LA5_;
8097 LA9_: ;
8098 {
8099 result = copyTree__ast_4431(result);
8100 asgnRef((void**) (&(*result).typ), dest);
8101 }
8102 LA5_: ;
8103 }
8104 goto LA1_;
8105 LA3_: ;
8106 {
8107 result = n;
8108 }
8109 LA1_: ;
8110 return result;
8111 }
N_NIMCALL(tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ,equalParam__types_1856)8112 N_LIB_PRIVATE N_NIMCALL(tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ, equalParam__types_1856)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b) {
8113 tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ result;
8114 result = (tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ)0;
8115 {
8116 NIM_BOOL T3_;
8117 T3_ = (NIM_BOOL)0;
8118 T3_ = sameTypeOrNil__types_1839((*a).typ, (*b).typ, 4);
8119 if (!(T3_)) goto LA4_;
8120 T3_ = exprStructuralEquivalent__trees_56((*a).constraint, (*b).constraint, NIM_FALSE);
8121 LA4_: ;
8122 if (!T3_) goto LA5_;
8123 {
8124 if (!((*a).ast == (*b).ast)) goto LA9_;
8125 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 1);
8126 }
8127 goto LA7_;
8128 LA9_: ;
8129 {
8130 NIM_BOOL T12_;
8131 T12_ = (NIM_BOOL)0;
8132 T12_ = !(((*a).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8133 if (!(T12_)) goto LA13_;
8134 T12_ = !(((*b).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8135 LA13_: ;
8136 if (!T12_) goto LA14_;
8137 {
8138 NIM_BOOL T18_;
8139 T18_ = (NIM_BOOL)0;
8140 T18_ = exprStructuralEquivalent__trees_56((*a).ast, (*b).ast, NIM_FALSE);
8141 if (!T18_) goto LA19_;
8142 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 1);
8143 }
8144 goto LA16_;
8145 LA19_: ;
8146 {
8147 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 2);
8148 }
8149 LA16_: ;
8150 }
8151 goto LA7_;
8152 LA14_: ;
8153 {
8154 if (!!(((*a).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA23_;
8155 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 1);
8156 }
8157 goto LA7_;
8158 LA23_: ;
8159 {
8160 if (!!(((*b).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA26_;
8161 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 2);
8162 }
8163 goto LA7_;
8164 LA26_: ;
8165 LA7_: ;
8166 }
8167 goto LA1_;
8168 LA5_: ;
8169 {
8170 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 0);
8171 }
8172 LA1_: ;
8173 return result;
8174 }
N_NIMCALL(tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ,equalParams__types_96)8175 N_LIB_PRIVATE N_NIMCALL(tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ, equalParams__types_96)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
8176 tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ result;
8177 { result = (tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ)0;
8178 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 1);
8179 {
8180 NI T3_;
8181 NI T4_;
8182 T3_ = (NI)0;
8183 T3_ = len__ast_3198(a);
8184 T4_ = (NI)0;
8185 T4_ = len__ast_3198(b);
8186 if (!!((T3_ == T4_))) goto LA5_;
8187 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 0);
8188 }
8189 goto LA1_;
8190 LA5_: ;
8191 {
8192 {
8193 NI i;
8194 NI colontmp_;
8195 NI i_2;
8196 i = (NI)0;
8197 colontmp_ = (NI)0;
8198 colontmp_ = len__ast_3198(a);
8199 i_2 = ((NI) 1);
8200 {
8201 while (1) {
8202 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
8203 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n;
8204 tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ T11_;
8205 if (!(i_2 < colontmp_)) goto LA10;
8206 i = i_2;
8207 m = (*(*a)._kind_6.sons->data[i])._kind_4.sym;
8208 n = (*(*b)._kind_6.sons->data[i])._kind_4.sym;
8209 T11_ = (tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ)0;
8210 T11_ = equalParam__types_1856(m, n);
8211 switch (T11_) {
8212 case ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 0):
8213 {
8214 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 0);
8215 goto BeforeRet_;
8216 }
8217 break;
8218 case ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 1):
8219 {
8220 }
8221 break;
8222 case ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 2):
8223 {
8224 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 2);
8225 }
8226 break;
8227 }
8228 {
8229 if (!!(((*(*m).name).id == (*(*n).name).id))) goto LA17_;
8230 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 0);
8231 goto BeforeRet_;
8232 }
8233 LA17_: ;
8234 i_2 += ((NI) 1);
8235 } LA10: ;
8236 }
8237 }
8238 {
8239 NIM_BOOL T21_;
8240 T21_ = (NIM_BOOL)0;
8241 T21_ = sameTypeOrNil__types_1839((*a).typ, (*b).typ, 4);
8242 if (!!(T21_)) goto LA22_;
8243 {
8244 NIM_BOOL T26_;
8245 T26_ = (NIM_BOOL)0;
8246 T26_ = ((*a).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
8247 if (T26_) goto LA27_;
8248 T26_ = ((*b).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
8249 LA27_: ;
8250 if (!T26_) goto LA28_;
8251 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 0);
8252 }
8253 goto LA24_;
8254 LA28_: ;
8255 {
8256 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 2);
8257 }
8258 LA24_: ;
8259 }
8260 LA22_: ;
8261 }
8262 LA1_: ;
8263 }BeforeRet_: ;
8264 return result;
8265 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipHidden__types_3604)8266 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipHidden__types_3604)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
8267 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8268 result = NIM_NIL;
8269 result = n;
8270 {
8271 while (1) {
8272 switch ((*result).kind) {
8273 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
8274 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
8275 {
8276 {
8277 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng T6_;
8278 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng T7_;
8279 T6_ = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
8280 T6_ = classify__types_3572((*(*result)._kind_6.sons->data[((NI) 1)]).typ);
8281 T7_ = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
8282 T7_ = classify__types_3572((*result).typ);
8283 if (!(T6_ == T7_)) goto LA8_;
8284 result = (*result)._kind_6.sons->data[((NI) 1)];
8285 }
8286 goto LA4_;
8287 LA8_: ;
8288 {
8289 goto LA1;
8290 }
8291 LA4_: ;
8292 }
8293 break;
8294 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
8295 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
8296 {
8297 result = (*result)._kind_6.sons->data[((NI) 0)];
8298 }
8299 break;
8300 default:
8301 {
8302 goto LA1;
8303 }
8304 break;
8305 }
8306 }
8307 } LA1: ;
8308 return result;
8309 }
N_NIMCALL(void,addTypeDeclVerboseMaybe__types_53)8310 N_LIB_PRIVATE N_NIMCALL(void, addTypeDeclVerboseMaybe__types_53)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
8311 {
8312 NimStringDesc* T5_;
8313 if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 36))&63U)))!=0)) goto LA3_;
8314 T5_ = NIM_NIL;
8315 T5_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 7));
8316 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T5_ ? T5_->Sup.len : 0) + 0));
8317 appendString((*result), T5_);
8318 addDeclaredLoc__astmsgs_33(result, conf, typ);
8319 }
8320 goto LA1_;
8321 LA3_: ;
8322 {
8323 NimStringDesc* T7_;
8324 T7_ = NIM_NIL;
8325 T7_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
8326 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T7_ ? T7_->Sup.len : 0) + 0));
8327 appendString((*result), T7_);
8328 }
8329 LA1_: ;
8330 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,commonSuperclass__types_2738)8331 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonSuperclass__types_2738)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
8332 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
8333 tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
8334 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA ancestors;
8335 tyObject_TType__facALICuu8zUj0hjvbTLFg* y;
8336 { result = NIM_NIL;
8337 {
8338 NIM_BOOL T3_;
8339 T3_ = (NIM_BOOL)0;
8340 T3_ = sameObjectTypes__types_2038(a, b);
8341 if (!T3_) goto LA4_;
8342 result = a;
8343 goto BeforeRet_;
8344 }
8345 LA4_: ;
8346 x = a;
8347 nimZeroMem((void*)(&ancestors), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
8348 initIntSet__pureZcollectionsZintsets_238((&ancestors));
8349 {
8350 while (1) {
8351 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym411_;
8352 if (!!((x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7;
8353 x = skipTypes__ast_3735(x, TM__PpBJsMJcrcWrpLTS6mci1g_5);
8354 xX60gensym411_ = x;
8355 incl__pureZcollectionsZintsets_55((&ancestors), (NI)((NI)((NU32)(((NI) ((*xX60gensym411_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym411_).Sup.itemId.item))));
8356 x = (*x).sons->data[((NI) 0)];
8357 } LA7: ;
8358 }
8359 y = b;
8360 {
8361 while (1) {
8362 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
8363 if (!!((y == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA9;
8364 t = y;
8365 y = skipTypes__ast_3735(y, TM__PpBJsMJcrcWrpLTS6mci1g_5);
8366 {
8367 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym414_;
8368 NIM_BOOL T12_;
8369 xX60gensym414_ = y;
8370 T12_ = (NIM_BOOL)0;
8371 T12_ = contains__astalgo_3496((&ancestors), (NI)((NI)((NU32)(((NI) ((*xX60gensym414_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym414_).Sup.itemId.item))));
8372 if (!T12_) goto LA13_;
8373 {
8374 if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)))) goto LA17_;
8375 t = y;
8376 }
8377 LA17_: ;
8378 result = t;
8379 goto BeforeRet_;
8380 }
8381 LA13_: ;
8382 y = (*y).sons->data[((NI) 0)];
8383 } LA9: ;
8384 }
8385 }BeforeRet_: ;
8386 return result;
8387 }
N_NIMCALL(NIM_BOOL,isTyRef__types_633)8388 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTyRef__types_633)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8389 NIM_BOOL result;
8390 NIM_BOOL T1_;
8391 NIM_BOOL T3_;
8392 result = (NIM_BOOL)0;
8393 T1_ = (NIM_BOOL)0;
8394 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
8395 if (T1_) goto LA2_;
8396 T3_ = (NIM_BOOL)0;
8397 T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
8398 if (!(T3_)) goto LA4_;
8399 T3_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
8400 LA4_: ;
8401 T1_ = T3_;
8402 LA2_: ;
8403 result = T1_;
8404 return result;
8405 }
N_NIMCALL(NIM_BOOL,containsTyRef__types_648)8406 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsTyRef__types_648)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
8407 NIM_BOOL result;
8408 result = (NIM_BOOL)0;
8409 result = searchTypeFor__types_470(typ, isTyRef__types_633);
8410 return result;
8411 }
N_NIMCALL(NIM_BOOL,isDefectException__types_4020)8412 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefectException__types_4020)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8413 NIM_BOOL result;
8414 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
8415 { result = (NIM_BOOL)0;
8416 t_2 = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_215);
8417 {
8418 while (1) {
8419 if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA2;
8420 {
8421 NIM_BOOL T5_;
8422 NIM_BOOL T6_;
8423 NIM_BOOL T7_;
8424 T5_ = (NIM_BOOL)0;
8425 T6_ = (NIM_BOOL)0;
8426 T7_ = (NIM_BOOL)0;
8427 T7_ = !(((*t_2).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8428 if (!(T7_)) goto LA8_;
8429 T7_ = !(((*(*t_2).sym).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8430 LA8_: ;
8431 T6_ = T7_;
8432 if (!(T6_)) goto LA9_;
8433 T6_ = (((*(*(*t_2).sym).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
8434 LA9_: ;
8435 T5_ = T6_;
8436 if (!(T5_)) goto LA10_;
8437 T5_ = eqStrings((*(*(*t_2).sym).name).s, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_216));
8438 LA10_: ;
8439 if (!T5_) goto LA11_;
8440 result = NIM_TRUE;
8441 goto BeforeRet_;
8442 }
8443 LA11_: ;
8444 {
8445 if (!((*t_2).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA15_;
8446 goto LA1;
8447 }
8448 LA15_: ;
8449 t_2 = skipTypes__ast_3735((*t_2).sons->data[((NI) 0)], TM__PpBJsMJcrcWrpLTS6mci1g_215);
8450 } LA2: ;
8451 } LA1: ;
8452 result = NIM_FALSE;
8453 goto BeforeRet_;
8454 }BeforeRet_: ;
8455 return result;
8456 }
N_NIMCALL(NIM_BOOL,isCharArrayPtr__types_4078)8457 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCharArrayPtr__types_4078)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowPointerToChar) {
8458 NIM_BOOL result;
8459 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
8460 result = (NIM_BOOL)0;
8461 t_2 = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_167);
8462 {
8463 tyObject_TType__facALICuu8zUj0hjvbTLFg* pointsTo;
8464 if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA3_;
8465 pointsTo = skipTypes__ast_3735((*t_2).sons->data[((NI) 0)], TM__PpBJsMJcrcWrpLTS6mci1g_167);
8466 switch ((*pointsTo).kind) {
8467 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
8468 {
8469 result = ((*(*pointsTo).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8470 }
8471 break;
8472 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
8473 {
8474 NIM_BOOL T7_;
8475 NIM_BOOL T8_;
8476 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T10_;
8477 tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
8478 T7_ = (NIM_BOOL)0;
8479 T8_ = (NIM_BOOL)0;
8480 T8_ = ((*(*pointsTo).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8481 if (!(T8_)) goto LA9_;
8482 T10_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), (*pointsTo).sons->data[((NI) 0)]);
8483 T8_ = eqeq___int495056_759(T10_, IL64(0));
8484 LA9_: ;
8485 T7_ = T8_;
8486 if (!(T7_)) goto LA11_;
8487 T12_ = NIM_NIL;
8488 T12_ = skipTypes__ast_3735((*pointsTo).sons->data[((NI) 0)], TM__PpBJsMJcrcWrpLTS6mci1g_217);
8489 T7_ = ((*T12_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T12_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
8490 LA11_: ;
8491 result = T7_;
8492 }
8493 break;
8494 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
8495 {
8496 result = allowPointerToChar;
8497 }
8498 break;
8499 default:
8500 {
8501 }
8502 break;
8503 }
8504 }
8505 LA3_: ;
8506 return result;
8507 }
N_NIMCALL(NIM_BOOL,isSinkTypeForParam__types_4046)8508 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSinkTypeForParam__types_4046)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8509 NIM_BOOL result;
8510 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
8511 result = (NIM_BOOL)0;
8512 T1_ = NIM_NIL;
8513 T1_ = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_2);
8514 result = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
8515 return result;
8516 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,baseOfDistinct__types_3354)8517 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, baseOfDistinct__types_3354)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
8518 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
8519 result = NIM_NIL;
8520 {
8521 if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA3_;
8522 result = (*t).sons->data[((NI) 0)];
8523 }
8524 goto LA1_;
8525 LA3_: ;
8526 {
8527 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T6_;
8528 tyObject_TType__facALICuu8zUj0hjvbTLFg* parent;
8529 tyObject_TType__facALICuu8zUj0hjvbTLFg* it;
8530 T6_ = nextTypeId__ast_3151(idgen);
8531 result = copyType__ast_4046(t, T6_, (*t).owner);
8532 copyTypeProps__modulegraphs_8872(g, ((NI) ((*idgen).module)), result, t);
8533 parent = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
8534 it = result;
8535 {
8536 while (1) {
8537 if (!((*it).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*it).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*it).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA8;
8538 parent = it;
8539 it = lastSon__ast_3743(it);
8540 } LA8: ;
8541 }
8542 {
8543 NIM_BOOL T11_;
8544 T11_ = (NIM_BOOL)0;
8545 T11_ = ((*it).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
8546 if (!(T11_)) goto LA12_;
8547 T11_ = !((parent == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
8548 LA12_: ;
8549 if (!T11_) goto LA13_;
8550 asgnRef((void**) (&(*parent).sons->data[((NI) 0)]), (*it).sons->data[((NI) 0)]);
8551 }
8552 LA13_: ;
8553 }
8554 LA1_: ;
8555 return result;
8556 }
N_INLINE(NI,nextTry__stdZpackedsets_41)8557 static N_INLINE(NI, nextTry__stdZpackedsets_41)(NI h, NI maxHash, NI* perturb) {
8558 NI result;
8559 NU perturb2;
8560 result = (NI)0;
8561 perturb2 = (NU)((NU32)(((NU) ((*perturb)))) >> (NU32)(((NI) 5)));
8562 (*perturb) = ((NI) (perturb2));
8563 result = (NI)((NI)((NI)((NI)(((NI) 5) * h) + ((NI) 1)) + (*perturb)) & maxHash);
8564 return result;
8565 }
N_NIMCALL(void,assign__types_3920)8566 N_LIB_PRIVATE N_NIMCALL(void, assign__types_3920)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* src) {
8567 {
8568 if (!((*src).elems <= ((NI) 34))) goto LA3_;
8569 unsureAsgnRef((void**) (&(*dest).data), NIM_NIL);
8570 (*dest).max = ((NI) 0);
8571 (*dest).counter = (*src).counter;
8572 unsureAsgnRef((void**) (&(*dest).head), ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL));
8573 (*dest).elems = (*src).elems;
8574 nimCopyMem((void*)(*dest).a, (NIM_CONST void*)(*src).a, sizeof(tyArray__emiAJ8okywrJw7ZHLzlXbQ));
8575 }
8576 goto LA1_;
8577 LA3_: ;
8578 {
8579 NI T6_;
8580 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* it;
8581 (*dest).counter = (*src).counter;
8582 (*dest).max = (*src).max;
8583 (*dest).elems = (*src).elems;
8584 T6_ = ((*src).data ? (*src).data->Sup.len : 0);
8585 unsureAsgnRef((void**) (&(*dest).data), (tySequence__Bre9bNyuQOg1EJKitjSzn8w*) newSeq((&NTItrunkseq__Bre9bNyuQOg1EJKitjSzn8w_), ((NI) (T6_))));
8586 it = (*src).head;
8587 {
8588 while (1) {
8589 NI h;
8590 NI perturb;
8591 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* n;
8592 if (!!((it == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA8;
8593 h = (NI)((*it).key & (*dest).max);
8594 perturb = (*it).key;
8595 {
8596 while (1) {
8597 if (!!(((*dest).data->data[h] == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA10;
8598 h = nextTry__stdZpackedsets_41(h, (*dest).max, (&perturb));
8599 } LA10: ;
8600 }
8601 n = NIM_NIL;
8602 n = (tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) newObj((&NTItrunk__jMZvnc6V09aC24Isyj9alOEA_), sizeof(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA));
8603 asgnRef((void**) (&(*n).next), (*dest).head);
8604 (*n).key = (*it).key;
8605 nimCopyMem((void*)(*n).bits, (NIM_CONST void*)(*it).bits, sizeof(tyArray__cC4ce9cdvDKtIpar5g9cDejA));
8606 unsureAsgnRef((void**) (&(*dest).head), n);
8607 asgnRef((void**) (&(*dest).data->data[h]), n);
8608 it = (*it).next;
8609 } LA8: ;
8610 }
8611 }
8612 LA1_: ;
8613 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipConvTakeType__types_3614)8614 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvTakeType__types_3614)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
8615 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8616 result = NIM_NIL;
8617 result = skipConv__types_3588(n);
8618 asgnRef((void**) (&(*result).typ), (*n).typ);
8619 return result;
8620 }
N_NIMCALL(NIM_BOOL,isTupleRecursive__types_3893)8621 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTupleRecursive__types_3893)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* cycleDetector) {
8622 NIM_BOOL result;
8623 { result = (NIM_BOOL)0;
8624 {
8625 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
8626 result = NIM_FALSE;
8627 goto BeforeRet_;
8628 }
8629 LA3_: ;
8630 {
8631 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym563_;
8632 NIM_BOOL T7_;
8633 xX60gensym563_ = t;
8634 T7_ = (NIM_BOOL)0;
8635 T7_ = containsOrIncl__astalgo_402(cycleDetector, (NI)((NI)((NU32)(((NI) ((*xX60gensym563_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym563_).Sup.itemId.item))));
8636 if (!T7_) goto LA8_;
8637 result = NIM_TRUE;
8638 goto BeforeRet_;
8639 }
8640 LA8_: ;
8641 switch ((*t).kind) {
8642 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
8643 {
8644 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA cycleDetectorCopy;
8645 nimZeroMem((void*)(&cycleDetectorCopy), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
8646 {
8647 NI i;
8648 NI colontmp_;
8649 NI i_2;
8650 i = (NI)0;
8651 colontmp_ = (NI)0;
8652 colontmp_ = len__ast_4002(t);
8653 i_2 = ((NI) 0);
8654 {
8655 while (1) {
8656 if (!(i_2 < colontmp_)) goto LA13;
8657 i = i_2;
8658 assign__types_3920((&cycleDetectorCopy), (&(*cycleDetector)));
8659 {
8660 NIM_BOOL T16_;
8661 T16_ = (NIM_BOOL)0;
8662 T16_ = isTupleRecursive__types_3893((*t).sons->data[i], (&cycleDetectorCopy));
8663 if (!T16_) goto LA17_;
8664 result = NIM_TRUE;
8665 goto BeforeRet_;
8666 }
8667 LA17_: ;
8668 i_2 += ((NI) 1);
8669 } LA13: ;
8670 }
8671 }
8672 }
8673 break;
8674 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
8675 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
8676 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
8677 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
8678 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
8679 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
8680 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
8681 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
8682 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
8683 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
8684 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
8685 {
8686 tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
8687 T20_ = NIM_NIL;
8688 T20_ = lastSon__ast_3743(t);
8689 result = isTupleRecursive__types_3893(T20_, cycleDetector);
8690 goto BeforeRet_;
8691 }
8692 break;
8693 default:
8694 {
8695 result = NIM_FALSE;
8696 goto BeforeRet_;
8697 }
8698 break;
8699 }
8700 }BeforeRet_: ;
8701 return result;
8702 }
N_NIMCALL(NIM_BOOL,isTupleRecursive__types_3987)8703 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTupleRecursive__types_3987)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8704 NIM_BOOL result;
8705 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA cycleDetector;
8706 result = (NIM_BOOL)0;
8707 nimZeroMem((void*)(&cycleDetector), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
8708 initIntSet__pureZcollectionsZintsets_238((&cycleDetector));
8709 result = isTupleRecursive__types_3893(t, (&cycleDetector));
8710 return result;
8711 }
N_NIMCALL(void,addTypeHeader__types_216)8712 N_LIB_PRIVATE N_NIMCALL(void, addTypeHeader__types_216)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, NIM_BOOL getDeclarationPath) {
8713 NimStringDesc* T1_;
8714 T1_ = NIM_NIL;
8715 T1_ = typeToString__types_50(typ, prefer);
8716 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T1_ ? T1_->Sup.len : 0) + 0));
8717 appendString((*result), T1_);
8718 {
8719 if (!getDeclarationPath) goto LA4_;
8720 addDeclaredLoc__astmsgs_17(result, conf, (*typ).sym);
8721 }
8722 LA4_: ;
8723 }
N_NIMCALL(NI64,computeSize__types_3308)8724 N_LIB_PRIVATE N_NIMCALL(NI64, computeSize__types_3308)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
8725 NI64 result;
8726 result = (NI64)0;
8727 computeSizeAlign__types_2915(conf, typ);
8728 result = (*typ).size;
8729 return result;
8730 }
N_NIMCALL(NIM_BOOL,isException__types_3991)8731 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isException__types_3991)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8732 NIM_BOOL result;
8733 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
8734 { result = (NIM_BOOL)0;
8735 t_2 = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_167);
8736 {
8737 while (1) {
8738 if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA2;
8739 {
8740 NIM_BOOL T5_;
8741 T5_ = (NIM_BOOL)0;
8742 T5_ = !(((*t_2).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8743 if (!(T5_)) goto LA6_;
8744 T5_ = ((*(*t_2).sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 268));
8745 LA6_: ;
8746 if (!T5_) goto LA7_;
8747 result = NIM_TRUE;
8748 goto BeforeRet_;
8749 }
8750 LA7_: ;
8751 {
8752 if (!((*t_2).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA11_;
8753 goto LA1;
8754 }
8755 LA11_: ;
8756 t_2 = skipTypes__ast_3735((*t_2).sons->data[((NI) 0)], TM__PpBJsMJcrcWrpLTS6mci1g_215);
8757 } LA2: ;
8758 } LA1: ;
8759 result = NIM_FALSE;
8760 goto BeforeRet_;
8761 }BeforeRet_: ;
8762 return result;
8763 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,safeSkipTypes__types_3543)8764 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, safeSkipTypes__types_3543)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds) {
8765 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
8766 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA seen;
8767 result = NIM_NIL;
8768 result = t;
8769 nimZeroMem((void*)(&seen), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
8770 initIntSet__pureZcollectionsZintsets_238((&seen));
8771 {
8772 while (1) {
8773 NIM_BOOL T3_;
8774 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym530_;
8775 NIM_BOOL T5_;
8776 T3_ = (NIM_BOOL)0;
8777 T3_ = ((kinds[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0);
8778 if (!(T3_)) goto LA4_;
8779 xX60gensym530_ = result;
8780 T5_ = (NIM_BOOL)0;
8781 T5_ = containsOrIncl__astalgo_402((&seen), (NI)((NI)((NU32)(((NI) ((*xX60gensym530_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym530_).Sup.itemId.item))));
8782 T3_ = !(T5_);
8783 LA4_: ;
8784 if (!T3_) goto LA2;
8785 result = lastSon__ast_3743(result);
8786 } LA2: ;
8787 }
8788 return result;
8789 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,lookupFieldAgain__types_4053)8790 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupFieldAgain__types_4053)(tyObject_TType__facALICuu8zUj0hjvbTLFg* ty, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field) {
8791 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
8792 tyObject_TType__facALICuu8zUj0hjvbTLFg* ty_2;
8793 result = NIM_NIL;
8794 ty_2 = ty;
8795 {
8796 while (1) {
8797 if (!!((ty_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA2;
8798 ty_2 = skipTypes__ast_3735(ty_2, TM__PpBJsMJcrcWrpLTS6mci1g_5);
8799 result = lookupInRecord__astalgo_84((*ty_2).n, (*field).name);
8800 {
8801 if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA5_;
8802 goto LA1;
8803 }
8804 LA5_: ;
8805 ty_2 = (*ty_2).sons->data[((NI) 0)];
8806 } LA2: ;
8807 } LA1: ;
8808 {
8809 if (!(result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA9_;
8810 result = field;
8811 }
8812 LA9_: ;
8813 return result;
8814 }
N_NIMCALL(tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw,analyseObjectWithTypeFieldAux__types_520)8815 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw, analyseObjectWithTypeFieldAux__types_520)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker) {
8816 tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw result;
8817 tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw res;
8818 { result = (tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw)0;
8819 res = (tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw)0;
8820 result = ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 0);
8821 {
8822 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
8823 goto BeforeRet_;
8824 }
8825 LA3_: ;
8826 switch ((*t).kind) {
8827 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
8828 {
8829 {
8830 if (!!(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA8_;
8831 {
8832 NIM_BOOL T12_;
8833 T12_ = (NIM_BOOL)0;
8834 T12_ = searchTypeNodeForAux__types_397((*t).n, isObjectWithTypeFieldPredicate__types_485, marker);
8835 if (!T12_) goto LA13_;
8836 result = ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 2);
8837 goto BeforeRet_;
8838 }
8839 LA13_: ;
8840 }
8841 LA8_: ;
8842 {
8843 NI i;
8844 NI colontmp_;
8845 NI i_2;
8846 i = (NI)0;
8847 colontmp_ = (NI)0;
8848 colontmp_ = len__ast_4002(t);
8849 i_2 = ((NI) 0);
8850 {
8851 while (1) {
8852 tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
8853 if (!(i_2 < colontmp_)) goto LA17;
8854 i = i_2;
8855 x = (*t).sons->data[i];
8856 {
8857 if (!!((x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA20_;
8858 x = skipTypes__ast_3735(x, TM__PpBJsMJcrcWrpLTS6mci1g_5);
8859 }
8860 LA20_: ;
8861 res = analyseObjectWithTypeFieldAux__types_520(x, marker);
8862 {
8863 if (!(res == ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 2))) goto LA24_;
8864 result = ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 2);
8865 goto BeforeRet_;
8866 }
8867 LA24_: ;
8868 {
8869 if (!(res == ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 1))) goto LA28_;
8870 result = ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 1);
8871 }
8872 LA28_: ;
8873 i_2 += ((NI) 1);
8874 } LA17: ;
8875 }
8876 }
8877 {
8878 if (!(result == ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 0))) goto LA32_;
8879 {
8880 NIM_BOOL T36_;
8881 T36_ = (NIM_BOOL)0;
8882 T36_ = isObjectWithTypeFieldPredicate__types_485(t);
8883 if (!T36_) goto LA37_;
8884 result = ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 1);
8885 }
8886 LA37_: ;
8887 }
8888 LA32_: ;
8889 }
8890 break;
8891 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
8892 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
8893 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
8894 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
8895 {
8896 tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
8897 T40_ = NIM_NIL;
8898 T40_ = lastSon__ast_3743(t);
8899 result = analyseObjectWithTypeFieldAux__types_520(T40_, marker);
8900 }
8901 break;
8902 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
8903 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
8904 {
8905 {
8906 NI i_3;
8907 NI colontmp__2;
8908 NI i_4;
8909 i_3 = (NI)0;
8910 colontmp__2 = (NI)0;
8911 colontmp__2 = len__ast_4002(t);
8912 i_4 = ((NI) 0);
8913 {
8914 while (1) {
8915 if (!(i_4 < colontmp__2)) goto LA44;
8916 i_3 = i_4;
8917 res = analyseObjectWithTypeFieldAux__types_520((*t).sons->data[i_3], marker);
8918 {
8919 if (!!((res == ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 0)))) goto LA47_;
8920 result = ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 2);
8921 goto BeforeRet_;
8922 }
8923 LA47_: ;
8924 i_4 += ((NI) 1);
8925 } LA44: ;
8926 }
8927 }
8928 }
8929 break;
8930 default:
8931 {
8932 }
8933 break;
8934 }
8935 }BeforeRet_: ;
8936 return result;
8937 }
N_NIMCALL(tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw,analyseObjectWithTypeField__types_585)8938 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw, analyseObjectWithTypeField__types_585)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8939 tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw result;
8940 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
8941 result = (tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw)0;
8942 nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
8943 initIntSet__pureZcollectionsZintsets_238((&marker));
8944 result = analyseObjectWithTypeFieldAux__types_520(t, (&marker));
8945 return result;
8946 }
N_NIMCALL(NIM_BOOL,isHiddenPointer__types_651)8947 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isHiddenPointer__types_651)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8948 NIM_BOOL result;
8949 result = (NIM_BOOL)0;
8950 result = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
8951 return result;
8952 }
N_NIMCALL(NIM_BOOL,containsHiddenPointer__types_658)8953 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsHiddenPointer__types_658)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
8954 NIM_BOOL result;
8955 result = (NIM_BOOL)0;
8956 result = searchTypeFor__types_470(typ, isHiddenPointer__types_651);
8957 return result;
8958 }
N_NIMCALL(NIM_BOOL,sameBackendType__types_2641)8959 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameBackendType__types_2641)(tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y) {
8960 NIM_BOOL result;
8961 tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg c;
8962 result = (NIM_BOOL)0;
8963 nimZeroMem((void*)(&c), sizeof(tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg));
8964 initSameTypeClosure__types_1690((&c));
8965 c.flags |= ((NU8)1)<<((((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 0)) & 7);
8966 c.cmp = ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 1);
8967 result = sameTypeAux__types_1794(x, y, (&c));
8968 return result;
8969 }
N_NIMCALL(void,compiler_typesDatInit000)8970 N_LIB_PRIVATE N_NIMCALL(void, compiler_typesDatInit000)(void) {
8971 static TNimNode* TM__PpBJsMJcrcWrpLTS6mci1g_3_2[2];
8972 static TNimNode* TM__PpBJsMJcrcWrpLTS6mci1g_6_2[2];
8973 static TNimNode* TM__PpBJsMJcrcWrpLTS6mci1g_7_8[8];
8974 NI TM__PpBJsMJcrcWrpLTS6mci1g_9;
8975 static char* NIM_CONST TM__PpBJsMJcrcWrpLTS6mci1g_8[8] = {
8976 "preferName",
8977 "preferDesc",
8978 "preferExported",
8979 "preferModuleInfo",
8980 "preferGenericArg",
8981 "preferTypeName",
8982 "preferResolved",
8983 "preferMixed"};
8984 static TNimNode TM__PpBJsMJcrcWrpLTS6mci1g_0[16];
8985 NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_.size = sizeof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ);
8986 NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_.align = NIM_ALIGNOF(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ);
8987 NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_.kind = 18;
8988 NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_.base = 0;
8989 NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_.flags = 1;
8990 TM__PpBJsMJcrcWrpLTS6mci1g_3_2[0] = &TM__PpBJsMJcrcWrpLTS6mci1g_0[1];
8991 TM__PpBJsMJcrcWrpLTS6mci1g_0[1].kind = 1;
8992 TM__PpBJsMJcrcWrpLTS6mci1g_0[1].offset = offsetof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ, Field0);
8993 TM__PpBJsMJcrcWrpLTS6mci1g_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
8994 TM__PpBJsMJcrcWrpLTS6mci1g_0[1].name = "Field0";
8995 TM__PpBJsMJcrcWrpLTS6mci1g_3_2[1] = &TM__PpBJsMJcrcWrpLTS6mci1g_0[2];
8996 TM__PpBJsMJcrcWrpLTS6mci1g_0[2].kind = 1;
8997 TM__PpBJsMJcrcWrpLTS6mci1g_0[2].offset = offsetof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ, Field1);
8998 TM__PpBJsMJcrcWrpLTS6mci1g_0[2].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
8999 TM__PpBJsMJcrcWrpLTS6mci1g_0[2].name = "Field1";
9000 TM__PpBJsMJcrcWrpLTS6mci1g_0[0].len = 2; TM__PpBJsMJcrcWrpLTS6mci1g_0[0].kind = 2; TM__PpBJsMJcrcWrpLTS6mci1g_0[0].sons = &TM__PpBJsMJcrcWrpLTS6mci1g_3_2[0];
9001 NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_.node = &TM__PpBJsMJcrcWrpLTS6mci1g_0[0];
9002 NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_.size = sizeof(tySequence__8Np6tlClE5az1CyqZdN19bQ*);
9003 NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_.align = NIM_ALIGNOF(tySequence__8Np6tlClE5az1CyqZdN19bQ*);
9004 NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_.kind = 24;
9005 NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_.base = (&NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_);
9006 NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_.marker = Marker_tySequence__8Np6tlClE5az1CyqZdN19bQ;
9007 NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_.size = sizeof(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw);
9008 NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_.align = NIM_ALIGNOF(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw);
9009 NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_.kind = 17;
9010 NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
9011 NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_.flags = 1;
9012 TM__PpBJsMJcrcWrpLTS6mci1g_6_2[0] = &TM__PpBJsMJcrcWrpLTS6mci1g_0[4];
9013 TM__PpBJsMJcrcWrpLTS6mci1g_0[4].kind = 1;
9014 TM__PpBJsMJcrcWrpLTS6mci1g_0[4].offset = offsetof(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw, colonstate_);
9015 TM__PpBJsMJcrcWrpLTS6mci1g_0[4].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
9016 TM__PpBJsMJcrcWrpLTS6mci1g_0[4].name = ":state";
9017 TM__PpBJsMJcrcWrpLTS6mci1g_6_2[1] = &TM__PpBJsMJcrcWrpLTS6mci1g_0[5];
9018 NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_.size = sizeof(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw);
9019 NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_.align = NIM_ALIGNOF(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw);
9020 NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_.kind = 14;
9021 NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_.base = 0;
9022 NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_.flags = 3;
9023 for (TM__PpBJsMJcrcWrpLTS6mci1g_9 = 0; TM__PpBJsMJcrcWrpLTS6mci1g_9 < 8; TM__PpBJsMJcrcWrpLTS6mci1g_9++) {
9024 TM__PpBJsMJcrcWrpLTS6mci1g_0[TM__PpBJsMJcrcWrpLTS6mci1g_9+6].kind = 1;
9025 TM__PpBJsMJcrcWrpLTS6mci1g_0[TM__PpBJsMJcrcWrpLTS6mci1g_9+6].offset = TM__PpBJsMJcrcWrpLTS6mci1g_9;
9026 TM__PpBJsMJcrcWrpLTS6mci1g_0[TM__PpBJsMJcrcWrpLTS6mci1g_9+6].name = TM__PpBJsMJcrcWrpLTS6mci1g_8[TM__PpBJsMJcrcWrpLTS6mci1g_9];
9027 TM__PpBJsMJcrcWrpLTS6mci1g_7_8[TM__PpBJsMJcrcWrpLTS6mci1g_9] = &TM__PpBJsMJcrcWrpLTS6mci1g_0[TM__PpBJsMJcrcWrpLTS6mci1g_9+6];
9028 }
9029 TM__PpBJsMJcrcWrpLTS6mci1g_0[14].len = 8; TM__PpBJsMJcrcWrpLTS6mci1g_0[14].kind = 2; TM__PpBJsMJcrcWrpLTS6mci1g_0[14].sons = &TM__PpBJsMJcrcWrpLTS6mci1g_7_8[0];
9030 NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_.node = &TM__PpBJsMJcrcWrpLTS6mci1g_0[14];
9031 TM__PpBJsMJcrcWrpLTS6mci1g_0[5].kind = 1;
9032 TM__PpBJsMJcrcWrpLTS6mci1g_0[5].offset = offsetof(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw, preferToplevel1);
9033 TM__PpBJsMJcrcWrpLTS6mci1g_0[5].typ = (&NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_);
9034 TM__PpBJsMJcrcWrpLTS6mci1g_0[5].name = "preferToplevel1";
9035 TM__PpBJsMJcrcWrpLTS6mci1g_0[3].len = 2; TM__PpBJsMJcrcWrpLTS6mci1g_0[3].kind = 2; TM__PpBJsMJcrcWrpLTS6mci1g_0[3].sons = &TM__PpBJsMJcrcWrpLTS6mci1g_6_2[0];
9036 NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_.node = &TM__PpBJsMJcrcWrpLTS6mci1g_0[3];
9037 NTIrefobject__ik3gfZ9aJJHPxASsunXJrEA_.size = sizeof(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw*);
9038 NTIrefobject__ik3gfZ9aJJHPxASsunXJrEA_.align = NIM_ALIGNOF(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw*);
9039 NTIrefobject__ik3gfZ9aJJHPxASsunXJrEA_.kind = 22;
9040 NTIrefobject__ik3gfZ9aJJHPxASsunXJrEA_.base = (&NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_);
9041 NTIrefobject__ik3gfZ9aJJHPxASsunXJrEA_.marker = Marker_tyRef__ik3gfZ9aJJHPxASsunXJrEA;
9042 NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_.size = sizeof(tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA);
9043 NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_.align = NIM_ALIGNOF(tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA);
9044 NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_.kind = 17;
9045 NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_.base = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
9046 TM__PpBJsMJcrcWrpLTS6mci1g_0[15].len = 0; TM__PpBJsMJcrcWrpLTS6mci1g_0[15].kind = 2;
9047 NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_.node = &TM__PpBJsMJcrcWrpLTS6mci1g_0[15];
9048 NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_.size = sizeof(tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA*);
9049 NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_.align = NIM_ALIGNOF(tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA*);
9050 NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_.kind = 22;
9051 NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_.base = (&NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_);
9052 NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_.marker = Marker_tyRef__SFgbIvdx8bC9cxnXgi8Zn1A;
9053 }
9054
9055