1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
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__VqSA39cBDWnwnJySTumCdjw[8];
628 struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA {
629 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* next;
630 NI key;
631 tyArray__VqSA39cBDWnwnJySTumCdjw 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_1699)(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_1803)(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_2219)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
723 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericAlias__types_2205)(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_2225)(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_1701)(tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
729 static N_INLINE(NIM_BOOL, contains__types_1722)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ* a, NI aLen_0, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ item);
730 static N_INLINE(NI, find__types_1727)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ* a, NI aLen_0, tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ item);
731 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___types_1746)(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_2163)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c);
735 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeOrNilAux__types_1807)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c);
736 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectTree__types_2112)(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_1965)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c);
742 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameChildrenAux__types_2184)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg* c);
743 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstraints__types_1898)(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_2047)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
746 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1824)(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_2685)(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_3340)(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_1474)(NU arg);
789 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lastOrd__types_1470)(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_1445)(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_1588)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
794 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1661)(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_3404)(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_3392)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
800 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyContainer__types_3626)(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_2924)(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_2864)(NI64 address, NI64 alignment);
821 N_LIB_PRIVATE N_NIMCALL(void, align__types_2911)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg, NI value);
822 N_LIB_PRIVATE N_NIMCALL(void, raiseIllegalTypeRecursion__types_2877)(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_5345)(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_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
831 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5294)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
832 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr);
833 static N_INLINE(void, asgnRef)(void** dest, void* src);
834 static N_INLINE(void, incRef__system_5338)(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_2868)(NI address, NI alignment);
838 N_LIB_PRIVATE N_NIMCALL(void, inc__types_2900)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg, NI value);
839 N_LIB_PRIVATE N_NIMCALL(NI, finish__types_2917)(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_3067)(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_2914)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg, tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw value);
848 N_LIB_PRIVATE N_NIMCALL(void, computeObjectOffsetsFoldFunction__types_2994)(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_2927)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
850 N_LIB_PRIVATE N_NIMCALL(NI, alignmentMax__types_2907)(NI a, NI b);
851 N_LIB_PRIVATE N_NIMCALL(void, setOffsetsToUnknown__types_2978)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
852 N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
853 N_LIB_PRIVATE N_NIMCALL(tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng, classify__types_3581)(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_3795)(NimStringDesc** message, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
861 N_LIB_PRIVATE N_NIMCALL(tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA, getProcConvMismatch__types_3695)(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_3425)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
863 static N_INLINE(NIM_BOOL, contains__types_1647)(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA s, NF value);
864 static N_INLINE(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA, dotdot___types_1617)(NF a, NF b);
865 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, floatRangeCheck__types_1613)(NF x, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
866 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, takeType__types_3642)(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_1865)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b);
869 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeOrNil__types_1848)(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_3597)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
877 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTupleRecursive__types_3902)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* cycleDetector);
878 N_LIB_PRIVATE N_NIMCALL(void, assign__types_3929)(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_5247;
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_1699)1223 N_LIB_PRIVATE N_NIMCALL(void, initSameTypeClosure__types_1699)(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_2205)1236 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGenericAlias__types_2205)(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_2219)1253 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericAlias__types_2219)(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_2205(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_2225)1279 static N_INLINE(NIM_BOOL, sameFlags__types_2225)(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_1746)1285 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___types_1746)(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_1727)1305 static N_INLINE(NI, find__types_1727)(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_1746((*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_1722)1335 static N_INLINE(NIM_BOOL, contains__types_1722)(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_1727(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_1701)1352 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__types_1701)(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* xX60gensym260_;
1358 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym261_;
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 xX60gensym260_ = a;
1365 T4_.Field0 = (NI)((NI)((NU64)(((NI) ((*xX60gensym260_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym260_).Sup.itemId.item)));
1366 xX60gensym261_ = b;
1367 T4_.Field1 = (NI)((NI)((NU64)(((NI) ((*xX60gensym261_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym261_).Sup.itemId.item)));
1368 T1_ = contains__types_1722((*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* xX60gensym262_;
1374 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym263_;
1375 NI T10_;
1376 if (!!(result)) goto LA7_;
1377 xX60gensym262_ = a;
1378 T9_.Field0 = (NI)((NI)((NU64)(((NI) ((*xX60gensym262_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym262_).Sup.itemId.item)));
1379 xX60gensym263_ = b;
1380 T9_.Field1 = (NI)((NI)((NU64)(((NI) ((*xX60gensym263_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym263_).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_1807)1388 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeOrNilAux__types_1807)(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_1803(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_2112)1463 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectTree__types_2112)(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_1807(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_2112((*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_2163)1591 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectStructures__types_2163)(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_1807((*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_2112((*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_1965)1641 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTuple__types_1965)(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_1803(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_2184)1774 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameChildrenAux__types_2184)(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_1807((*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_1898)1815 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameConstraints__types_1898)(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_1803)1872 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeAux__types_1803)(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_2219(x);
1976 rhs = skipGenericAlias__types_2219(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_1803(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_2225(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_2225(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_1701(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_1803((*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* xX60gensym345_;
2144 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym346_;
2145 if (!!(((((*a).flags | (*b).flags) &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8))&63U)))!=0))) goto LA107_;
2146 xX60gensym345_ = a;
2147 xX60gensym346_ = b;
2148 result = ((NI)((NI)((NU64)(((NI) ((*xX60gensym345_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym345_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym346_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym346_).Sup.itemId.item))));
2149 }
2150 goto LA105_;
2151 LA107_: ;
2152 {
2153 {
2154 NIM_BOOL T112_;
2155 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym348_;
2156 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym349_;
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 xX60gensym348_ = (*a).sym;
2162 xX60gensym349_ = (*b).sym;
2163 T112_ = ((NI)((NI)((NU64)(((NI) ((*xX60gensym348_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym348_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym349_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym349_).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_1701(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_2163(a, b, c);
2186 if (!(T126_)) goto LA127_;
2187 T126_ = sameFlags__types_2225(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_1701(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_2225(a, b);
2222 if (!T145_) goto LA146_;
2223 {
2224 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym354_;
2225 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym355_;
2226 if (!!(((((*a).flags | (*b).flags) &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8))&63U)))!=0))) goto LA150_;
2227 xX60gensym354_ = a;
2228 xX60gensym355_ = b;
2229 result = ((NI)((NI)((NU64)(((NI) ((*xX60gensym354_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym354_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym355_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym355_).Sup.itemId.item))));
2230 }
2231 goto LA148_;
2232 LA150_: ;
2233 {
2234 {
2235 NIM_BOOL T155_;
2236 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym357_;
2237 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym358_;
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 xX60gensym357_ = (*a).sym;
2242 xX60gensym358_ = (*b).sym;
2243 T155_ = ((NI)((NI)((NU64)(((NI) ((*xX60gensym357_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym357_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym358_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym358_).Sup.itemId.item))));
2244 LA156_: ;
2245 if (!T155_) goto LA157_;
2246 result = sameTypeAux__types_1803((*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_1803((*a).sons->data[((NI) 0)], (*b).sons->data[((NI) 0)], c);
2260 if (!(T160_)) goto LA161_;
2261 T160_ = sameFlags__types_2225(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* xX60gensym363_;
2273 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym364_;
2274 T163_ = (NIM_BOOL)0;
2275 xX60gensym363_ = a;
2276 xX60gensym364_ = b;
2277 T163_ = ((NI)((NI)((NU64)(((NI) ((*xX60gensym363_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym363_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym364_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym364_).Sup.itemId.item))));
2278 if (!(T163_)) goto LA164_;
2279 T163_ = sameFlags__types_2225(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_1701(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_1965(a, b, c);
2312 if (!(T177_)) goto LA178_;
2313 T177_ = sameFlags__types_2225(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_1701(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_2184(x, y, c);
2349 if (!(T197_)) goto LA198_;
2350 T197_ = sameFlags__types_2225(a, b);
2351 LA198_: ;
2352 result = T197_;
2353 }
2354 goto LA180_;
2355 LA185_: ;
2356 {
2357 result = sameFlags__types_2225(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_2184(a, b, c);
2367 if (!(T201_)) goto LA202_;
2368 T201_ = sameFlags__types_2225(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_1701(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_2184(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_2225(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_1898((*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_1701(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_1807((*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_1701(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_1803(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_1824)2581 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1824)(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_1699((&c));
2587 c.flags = flags;
2588 result = sameTypeAux__types_1803(a, b, (&c));
2589 return result;
2590 }
N_NIMCALL(NIM_BOOL,sameObjectTypes__types_2047)2591 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameObjectTypes__types_2047)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
2592 NIM_BOOL result;
2593 result = (NIM_BOOL)0;
2594 {
2595 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym291_;
2596 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym292_;
2597 if (!!(((((*a).flags | (*b).flags) &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 8))&63U)))!=0))) goto LA3_;
2598 xX60gensym291_ = a;
2599 xX60gensym292_ = b;
2600 result = ((NI)((NI)((NU64)(((NI) ((*xX60gensym291_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym291_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym292_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym292_).Sup.itemId.item))));
2601 }
2602 goto LA1_;
2603 LA3_: ;
2604 {
2605 {
2606 NIM_BOOL T8_;
2607 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym294_;
2608 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym295_;
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 xX60gensym294_ = (*a).sym;
2614 xX60gensym295_ = (*b).sym;
2615 T8_ = ((NI)((NI)((NU64)(((NI) ((*xX60gensym294_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym294_).Sup.itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym295_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym295_).Sup.itemId.item))));
2616 LA9_: ;
2617 if (!T8_) goto LA10_;
2618 nimZeroMem((void*)(&c), sizeof(tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg));
2619 initSameTypeClosure__types_1699((&c));
2620 result = sameTypeAux__types_1803(a, b, (&c));
2621 }
2622 LA10_: ;
2623 }
2624 LA1_: ;
2625 return result;
2626 }
N_NIMCALL(NI,inheritanceDiff__types_2685)2627 N_LIB_PRIVATE N_NIMCALL(NI, inheritanceDiff__types_2685)(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_2047(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_2047(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) IL64(9223372036854775807));
2687 }BeforeRet_: ;
2688 return result;
2689 }
N_NIMCALL(NIM_BOOL,sameTypeOrNil__types_1848)2690 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeOrNil__types_1848)(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_1824(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_3392)4338 N_LIB_PRIVATE N_NIMCALL(NI, safeInheritanceDiff__types_3392)(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_2685(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_2668)4398 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compareTypes__types_2668)(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_1699((&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_1803(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)((NU64)(((NI) ((*xX60gensym39_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((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_3340)4563 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericTypeIter__types_3340)(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_3340(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_3360)4620 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericType__types_3360)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4621 NIM_BOOL result;
4622 result = (NIM_BOOL)0;
4623 result = iterOverType__types_81(t, containsGenericTypeIter__types_3340, ((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 NI64 tmp;
4728 nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
4729 tmp = ((NI64) (arg));
4730 result.udata[(((NI) 0))- 0] = ((NU32) ((NI64)(tmp & IL64(4294967295))));
4731 (*((NI32*) ((&result.udata[(((NI) 1))- 0])))) = ((NI32) ((NI64)((NI64)(tmp) >> (NU64)(((NI) 32)))));
4732 {
4733 if (!(arg < ((NI) 0))) goto LA3_;
4734 (*((NI32*) ((&result.udata[(((NI) 2))- 0])))) = ((NI32) -1);
4735 (*((NI32*) ((&result.udata[(((NI) 3))- 0])))) = ((NI32) -1);
4736 }
4737 LA3_: ;
4738 return result;
4739 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,firstOrd__types_1353)4740 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4741 tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
4742 nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
4743 switch ((*t).kind) {
4744 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
4745 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
4746 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
4747 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
4748 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
4749 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
4750 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
4751 {
4752 result = Zero__int495056_7;
4753 }
4754 break;
4755 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
4756 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
4757 {
4758 result = firstOrd__types_1353(conf, (*t).sons->data[((NI) 0)]);
4759 }
4760 break;
4761 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
4762 {
4763 result = firstOrd__types_1353(conf, (*t).sons->data[((NI) 0)]);
4764 }
4765 break;
4766 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
4767 {
4768 result = getOrdValue__types_161((*(*t).n)._kind_6.sons->data[((NI) 0)], Max__int495056_27);
4769 }
4770 break;
4771 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
4772 {
4773 {
4774 NIM_BOOL T8_;
4775 T8_ = (NIM_BOOL)0;
4776 T8_ = !((conf == ((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL)));
4777 if (!(T8_)) goto LA9_;
4778 T8_ = ((*conf).target.intSize == ((NI) 4));
4779 LA9_: ;
4780 if (!T8_) goto LA10_;
4781 result = toInt128__types_1378(((NI) (-2147483647 -1)));
4782 }
4783 goto LA6_;
4784 LA10_: ;
4785 {
4786 result = toInt128__int495056_725((IL64(-9223372036854775807) - IL64(1)));
4787 }
4788 LA6_: ;
4789 }
4790 break;
4791 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
4792 {
4793 result = toInt128__types_1378(((NI) -128));
4794 }
4795 break;
4796 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
4797 {
4798 result = toInt128__types_1378(((NI) -32768));
4799 }
4800 break;
4801 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
4802 {
4803 result = toInt128__types_1378(((NI) (-2147483647 -1)));
4804 }
4805 break;
4806 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
4807 {
4808 result = toInt128__int495056_725((IL64(-9223372036854775807) - IL64(1)));
4809 }
4810 break;
4811 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
4812 {
4813 result = Zero__int495056_7;
4814 }
4815 break;
4816 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
4817 {
4818 {
4819 NIM_BOOL T21_;
4820 NI T22_;
4821 T21_ = (NIM_BOOL)0;
4822 T22_ = (NI)0;
4823 T22_ = len__ast_4002(t);
4824 T21_ = (((NI) 0) < T22_);
4825 if (!(T21_)) goto LA23_;
4826 T21_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
4827 LA23_: ;
4828 if (!T21_) goto LA24_;
4829 result = firstOrd__types_1353(conf, (*t).sons->data[((NI) 0)]);
4830 }
4831 goto LA19_;
4832 LA24_: ;
4833 {
4834 {
4835 NI T29_;
4836 T29_ = (NI)0;
4837 T29_ = len__ast_3198((*t).n);
4838 if (!(((NI) 0) < T29_)) goto LA30_;
4839 result = toInt128__types_1378((*(*(*(*t).n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).position);
4840 }
4841 LA30_: ;
4842 }
4843 LA19_: ;
4844 }
4845 break;
4846 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
4847 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
4848 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
4849 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
4850 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
4851 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
4852 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
4853 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
4854 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
4855 {
4856 tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
4857 T33_ = NIM_NIL;
4858 T33_ = lastSon__ast_3743(t);
4859 result = firstOrd__types_1353(conf, T33_);
4860 }
4861 break;
4862 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
4863 {
4864 {
4865 NI T37_;
4866 tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
4867 T37_ = (NI)0;
4868 T37_ = len__ast_4002(t);
4869 if (!(((NI) 0) < T37_)) goto LA38_;
4870 T40_ = NIM_NIL;
4871 T40_ = lastSon__ast_3743(t);
4872 result = firstOrd__types_1353(conf, T40_);
4873 }
4874 goto LA35_;
4875 LA38_: ;
4876 {
4877 NimStringDesc* T42_;
4878 T42_ = NIM_NIL;
4879 T42_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 27);
4880 appendString(T42_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_168));
4881 appendString(T42_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
4882 appendChar(T42_, 41);
4883 internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, T42_, TM__PpBJsMJcrcWrpLTS6mci1g_169);
4884 }
4885 LA35_: ;
4886 }
4887 break;
4888 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
4889 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
4890 {
4891 result = Zero__int495056_7;
4892 }
4893 break;
4894 default:
4895 {
4896 NimStringDesc* T45_;
4897 T45_ = NIM_NIL;
4898 T45_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 27);
4899 appendString(T45_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_168));
4900 appendString(T45_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
4901 appendChar(T45_, 41);
4902 internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, T45_, TM__PpBJsMJcrcWrpLTS6mci1g_171);
4903 result = Zero__int495056_7;
4904 }
4905 break;
4906 }
4907 return result;
4908 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,toInt128__types_1474)4909 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toInt128__types_1474)(NU arg) {
4910 tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
4911 nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
4912 result.udata[(((NI) 0))- 0] = ((NU32) ((NU)(arg & ((NU) IL64(4294967295)))));
4913 result.udata[(((NI) 1))- 0] = ((NU32) ((NU)((NU64)(arg) >> (NU64)(((NI) 32)))));
4914 return result;
4915 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,lastOrd__types_1470)4916 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lastOrd__types_1470)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
4917 tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
4918 nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
4919 switch ((*t).kind) {
4920 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
4921 {
4922 result = toInt128__types_1474(((NU) 1));
4923 }
4924 break;
4925 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
4926 {
4927 result = toInt128__types_1474(((NU) 255));
4928 }
4929 break;
4930 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
4931 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
4932 {
4933 result = lastOrd__types_1470(conf, (*t).sons->data[((NI) 0)]);
4934 }
4935 break;
4936 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
4937 {
4938 result = lastOrd__types_1470(conf, (*t).sons->data[((NI) 0)]);
4939 }
4940 break;
4941 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
4942 {
4943 result = getOrdValue__types_161((*(*t).n)._kind_6.sons->data[((NI) 1)], Max__int495056_27);
4944 }
4945 break;
4946 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
4947 {
4948 {
4949 NIM_BOOL T9_;
4950 T9_ = (NIM_BOOL)0;
4951 T9_ = !((conf == ((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL)));
4952 if (!(T9_)) goto LA10_;
4953 T9_ = ((*conf).target.intSize == ((NI) 4));
4954 LA10_: ;
4955 if (!T9_) goto LA11_;
4956 result = toInt128__types_1378(((NI) 2147483647));
4957 }
4958 goto LA7_;
4959 LA11_: ;
4960 {
4961 result = toInt128__int495056_556(9223372036854775807ULL);
4962 }
4963 LA7_: ;
4964 }
4965 break;
4966 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
4967 {
4968 result = toInt128__types_1378(((NI) 127));
4969 }
4970 break;
4971 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
4972 {
4973 result = toInt128__types_1378(((NI) 32767));
4974 }
4975 break;
4976 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
4977 {
4978 result = toInt128__types_1378(((NI) 2147483647));
4979 }
4980 break;
4981 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
4982 {
4983 result = toInt128__int495056_556(9223372036854775807ULL);
4984 }
4985 break;
4986 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
4987 {
4988 {
4989 NIM_BOOL T21_;
4990 T21_ = (NIM_BOOL)0;
4991 T21_ = !((conf == ((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL)));
4992 if (!(T21_)) goto LA22_;
4993 T21_ = ((*conf).target.intSize == ((NI) 4));
4994 LA22_: ;
4995 if (!T21_) goto LA23_;
4996 result = toInt128__int495056_725(IL64(4294967295));
4997 }
4998 goto LA19_;
4999 LA23_: ;
5000 {
5001 result = toInt128__int495056_556(18446744073709551615ULL);
5002 }
5003 LA19_: ;
5004 }
5005 break;
5006 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
5007 {
5008 result = toInt128__types_1378(((NI) 255));
5009 }
5010 break;
5011 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
5012 {
5013 result = toInt128__types_1378(((NI) 65535));
5014 }
5015 break;
5016 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
5017 {
5018 result = toInt128__int495056_725(IL64(4294967295));
5019 }
5020 break;
5021 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
5022 {
5023 result = toInt128__int495056_556(18446744073709551615ULL);
5024 }
5025 break;
5026 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
5027 {
5028 {
5029 NI T33_;
5030 NI T36_;
5031 T33_ = (NI)0;
5032 T33_ = len__ast_3198((*t).n);
5033 if (!(((NI) 0) < T33_)) goto LA34_;
5034 T36_ = (NI)0;
5035 T36_ = len__ast_3198((*t).n);
5036 result = toInt128__types_1378((*(*(*(*t).n)._kind_6.sons->data[(NI)(T36_ - ((NI) 1))])._kind_4.sym).position);
5037 }
5038 LA34_: ;
5039 }
5040 break;
5041 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
5042 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
5043 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
5044 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
5045 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5046 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
5047 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
5048 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
5049 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
5050 {
5051 tyObject_TType__facALICuu8zUj0hjvbTLFg* T38_;
5052 T38_ = NIM_NIL;
5053 T38_ = lastSon__ast_3743(t);
5054 result = lastOrd__types_1470(conf, T38_);
5055 }
5056 break;
5057 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
5058 {
5059 result = Zero__int495056_7;
5060 }
5061 break;
5062 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
5063 {
5064 {
5065 NI T43_;
5066 tyObject_TType__facALICuu8zUj0hjvbTLFg* T46_;
5067 T43_ = (NI)0;
5068 T43_ = len__ast_4002(t);
5069 if (!(((NI) 0) < T43_)) goto LA44_;
5070 T46_ = NIM_NIL;
5071 T46_ = lastSon__ast_3743(t);
5072 result = lastOrd__types_1470(conf, T46_);
5073 }
5074 goto LA41_;
5075 LA44_: ;
5076 {
5077 NimStringDesc* T48_;
5078 T48_ = NIM_NIL;
5079 T48_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 26);
5080 appendString(T48_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_172));
5081 appendString(T48_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
5082 appendChar(T48_, 41);
5083 internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, T48_, TM__PpBJsMJcrcWrpLTS6mci1g_173);
5084 }
5085 LA41_: ;
5086 }
5087 break;
5088 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
5089 {
5090 result = Zero__int495056_7;
5091 }
5092 break;
5093 default:
5094 {
5095 NimStringDesc* T51_;
5096 T51_ = NIM_NIL;
5097 T51_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 26);
5098 appendString(T51_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_172));
5099 appendString(T51_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
5100 appendChar(T51_, 41);
5101 internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, T51_, TM__PpBJsMJcrcWrpLTS6mci1g_174);
5102 result = Zero__int495056_7;
5103 }
5104 break;
5105 }
5106 return result;
5107 }
N_NIMCALL(NF,getFloatValue__types_182)5108 N_LIB_PRIVATE N_NIMCALL(NF, getFloatValue__types_182)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5109 NF result;
5110 result = (NF)0;
5111 switch ((*n).kind) {
5112 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
5113 {
5114 result = (*n)._kind_2.floatVal;
5115 }
5116 break;
5117 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
5118 {
5119 result = getFloatValue__types_182((*n)._kind_6.sons->data[((NI) 1)]);
5120 }
5121 break;
5122 default:
5123 {
5124 result = NAN;
5125 }
5126 break;
5127 }
5128 return result;
5129 }
N_NIMCALL(NF,firstFloat__types_1445)5130 N_LIB_PRIVATE N_NIMCALL(NF, firstFloat__types_1445)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
5131 NF result;
5132 result = (NF)0;
5133 switch ((*t).kind) {
5134 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
5135 {
5136 result = -INF;
5137 }
5138 break;
5139 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
5140 {
5141 result = getFloatValue__types_182((*(*t).n)._kind_6.sons->data[((NI) 0)]);
5142 }
5143 break;
5144 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
5145 {
5146 result = firstFloat__types_1445((*t).sons->data[((NI) 0)]);
5147 }
5148 break;
5149 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
5150 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
5151 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
5152 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
5153 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5154 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
5155 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
5156 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
5157 {
5158 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
5159 T5_ = NIM_NIL;
5160 T5_ = lastSon__ast_3743(t);
5161 result = firstFloat__types_1445(T5_);
5162 }
5163 break;
5164 default:
5165 {
5166 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T7_;
5167 NimStringDesc* T8_;
5168 T7_ = NIM_NIL;
5169 T7_ = newPartialConfigRef__options_2497();
5170 T8_ = NIM_NIL;
5171 T8_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 29);
5172 appendString(T8_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_175));
5173 appendString(T8_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
5174 appendChar(T8_, 41);
5175 internalErrorImpl__msgs_1431(T7_, unknownLineInfo__lineinfos_280, T8_, TM__PpBJsMJcrcWrpLTS6mci1g_176);
5176 result = NAN;
5177 }
5178 break;
5179 }
5180 return result;
5181 }
N_NIMCALL(NF,lastFloat__types_1588)5182 N_LIB_PRIVATE N_NIMCALL(NF, lastFloat__types_1588)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
5183 NF result;
5184 result = (NF)0;
5185 switch ((*t).kind) {
5186 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
5187 {
5188 result = INF;
5189 }
5190 break;
5191 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
5192 {
5193 result = lastFloat__types_1588((*t).sons->data[((NI) 0)]);
5194 }
5195 break;
5196 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
5197 {
5198 result = getFloatValue__types_182((*(*t).n)._kind_6.sons->data[((NI) 1)]);
5199 }
5200 break;
5201 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
5202 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
5203 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
5204 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
5205 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5206 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
5207 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
5208 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
5209 {
5210 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
5211 T5_ = NIM_NIL;
5212 T5_ = lastSon__ast_3743(t);
5213 result = lastFloat__types_1588(T5_);
5214 }
5215 break;
5216 default:
5217 {
5218 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T7_;
5219 NimStringDesc* T8_;
5220 T7_ = NIM_NIL;
5221 T7_ = newPartialConfigRef__options_2497();
5222 T8_ = NIM_NIL;
5223 T8_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 28);
5224 appendString(T8_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_177));
5225 appendString(T8_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
5226 appendChar(T8_, 41);
5227 internalErrorImpl__msgs_1431(T7_, unknownLineInfo__lineinfos_280, T8_, TM__PpBJsMJcrcWrpLTS6mci1g_178);
5228 result = NAN;
5229 }
5230 break;
5231 }
5232 return result;
5233 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,lengthOrd__types_1661)5234 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1661)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
5235 tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
5236 nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
5237 {
5238 tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
5239 T3_ = NIM_NIL;
5240 T3_ = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_179);
5241 if (!((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA4_;
5242 result = lengthOrd__types_1661(conf, (*t).sons->data[((NI) 0)]);
5243 }
5244 goto LA1_;
5245 LA4_: ;
5246 {
5247 tyObject_Int128__9a9axPfb75jdWY25AamJewkA last;
5248 tyObject_Int128__9a9axPfb75jdWY25AamJewkA first;
5249 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T7_;
5250 last = lastOrd__types_1470(conf, t);
5251 first = firstOrd__types_1353(conf, t);
5252 T7_ = minus___int495056_474(last, first);
5253 result = plus___int495056_448(T7_, One__int495056_8);
5254 }
5255 LA1_: ;
5256 return result;
5257 }
N_NIMCALL(tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA,getProcConvMismatch__types_3695)5258 N_LIB_PRIVATE N_NIMCALL(tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA, getProcConvMismatch__types_3695)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw rel) {
5259 tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA result;
5260 nimZeroMem((void*)(&result), sizeof(tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA));
5261 result.Field1 = rel;
5262 {
5263 NIM_BOOL T3_;
5264 T3_ = (NIM_BOOL)0;
5265 T3_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0);
5266 if (!(T3_)) goto LA4_;
5267 T3_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0));
5268 LA4_: ;
5269 if (!T3_) goto LA5_;
5270 result.Field0 |= ((NU8)1)<<((((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 0)) & 7);
5271 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5272 }
5273 LA5_: ;
5274 {
5275 NIM_BOOL T9_;
5276 NIM_BOOL T10_;
5277 T9_ = (NIM_BOOL)0;
5278 T10_ = (NIM_BOOL)0;
5279 T10_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 7))&63U)))!=0);
5280 if (!(T10_)) goto LA11_;
5281 T10_ = (((*a).flags & 130) == 0);
5282 LA11_: ;
5283 T9_ = T10_;
5284 if (!(T9_)) goto LA12_;
5285 T9_ = (((*c).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 25))&63U)))!=0);
5286 LA12_: ;
5287 if (!T9_) goto LA13_;
5288 result.Field0 |= ((NU8)1)<<((((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 1)) & 7);
5289 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5290 }
5291 LA13_: ;
5292 {
5293 if (!!((((*f).flags & 32768) == ((*a).flags & 32768)))) goto LA17_;
5294 result.Field0 |= ((NU8)1)<<((((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 3)) & 7);
5295 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5296 }
5297 LA17_: ;
5298 {
5299 if (!!(((*f).callConv == (*a).callConv))) goto LA21_;
5300 {
5301 NIM_BOOL T25_;
5302 T25_ = (NIM_BOOL)0;
5303 T25_ = ((*f).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
5304 if (!(T25_)) goto LA26_;
5305 T25_ = ((*a).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 0));
5306 LA26_: ;
5307 if (!T25_) goto LA27_;
5308 switch (result.Field1) {
5309 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 6):
5310 {
5311 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 7);
5312 }
5313 break;
5314 case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5):
5315 {
5316 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 5);
5317 }
5318 break;
5319 default:
5320 {
5321 {
5322 if (!!((result.Field1 == ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0)))) goto LA34_;
5323 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 1);
5324 }
5325 LA34_: ;
5326 }
5327 break;
5328 }
5329 }
5330 goto LA23_;
5331 LA27_: ;
5332 {
5333 result.Field1 = ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0);
5334 result.Field0 |= ((NU8)1)<<((((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 4)) & 7);
5335 }
5336 LA23_: ;
5337 }
5338 LA21_: ;
5339 {
5340 NIM_BOOL T39_;
5341 T39_ = (NIM_BOOL)0;
5342 T39_ = !(((*f).lockLevel == ((NI) -1)));
5343 if (!(T39_)) goto LA40_;
5344 T39_ = !(((*a).lockLevel == ((NI) -1)));
5345 LA40_: ;
5346 if (!T39_) goto LA41_;
5347 result.Field0 |= ((NU8)1)<<((((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 2)) & 7);
5348 }
5349 LA41_: ;
5350 return result;
5351 }
N_INLINE(NI,safeLen__ast_3191)5352 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5353 NI result;
5354 result = (NI)0;
5355 {
5356 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
5357 result = ((NI) 0);
5358 }
5359 goto LA1_;
5360 LA3_: ;
5361 {
5362 result = len__ast_3198(n);
5363 }
5364 LA1_: ;
5365 return result;
5366 }
N_NIMCALL(NIM_BOOL,compatibleEffectsAux__types_3404)5367 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, compatibleEffectsAux__types_3404)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* se, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* re) {
5368 NIM_BOOL result;
5369 { result = (NIM_BOOL)0;
5370 {
5371 if (!(re == 0)) goto LA3_;
5372 result = NIM_FALSE;
5373 goto BeforeRet_;
5374 }
5375 LA3_: ;
5376 {
5377 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
5378 r = NIM_NIL;
5379 {
5380 NI i;
5381 NI colontmp_;
5382 NI i_2;
5383 i = (NI)0;
5384 colontmp_ = (NI)0;
5385 colontmp_ = safeLen__ast_3191(re);
5386 i_2 = ((NI) 0);
5387 {
5388 while (1) {
5389 if (!(i_2 < colontmp_)) goto LA8;
5390 i = i_2;
5391 r = (*re)._kind_6.sons->data[i];
5392 {
5393 {
5394 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
5395 s = NIM_NIL;
5396 {
5397 NI i_3;
5398 NI colontmp__2;
5399 NI i_4;
5400 i_3 = (NI)0;
5401 colontmp__2 = (NI)0;
5402 colontmp__2 = safeLen__ast_3191(se);
5403 i_4 = ((NI) 0);
5404 {
5405 while (1) {
5406 if (!(i_4 < colontmp__2)) goto LA13;
5407 i_3 = i_4;
5408 s = (*se)._kind_6.sons->data[i_3];
5409 {
5410 NI T16_;
5411 T16_ = (NI)0;
5412 T16_ = safeInheritanceDiff__types_3392((*r).typ, (*s).typ);
5413 if (!(T16_ <= ((NI) 0))) goto LA17_;
5414 goto LA9;
5415 }
5416 LA17_: ;
5417 i_4 += ((NI) 1);
5418 } LA13: ;
5419 }
5420 }
5421 }
5422 result = NIM_FALSE;
5423 goto BeforeRet_;
5424 } LA9: ;
5425 i_2 += ((NI) 1);
5426 } LA8: ;
5427 }
5428 }
5429 }
5430 result = NIM_TRUE;
5431 }BeforeRet_: ;
5432 return result;
5433 }
N_NIMCALL(tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ,compatibleEffects__types_3425)5434 N_LIB_PRIVATE N_NIMCALL(tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ, compatibleEffects__types_3425)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual) {
5435 tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ result;
5436 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* spec;
5437 { result = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0;
5438 {
5439 NIM_BOOL T3_;
5440 T3_ = (NIM_BOOL)0;
5441 T3_ = !(((*(*(*formal).n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)));
5442 if (T3_) goto LA4_;
5443 T3_ = !(((*(*(*actual).n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)));
5444 LA4_: ;
5445 if (!T3_) goto LA5_;
5446 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 4);
5447 goto BeforeRet_;
5448 }
5449 LA5_: ;
5450 spec = (*(*formal).n)._kind_6.sons->data[((NI) 0)];
5451 {
5452 NI T9_;
5453 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* real;
5454 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* se;
5455 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* st;
5456 T9_ = (NI)0;
5457 T9_ = len__ast_3198(spec);
5458 if (!!((T9_ == ((NI) 0)))) goto LA10_;
5459 real = (*(*actual).n)._kind_6.sons->data[((NI) 0)];
5460 se = (*spec)._kind_6.sons->data[((NI) 0)];
5461 {
5462 NIM_BOOL T14_;
5463 NIM_BOOL res;
5464 T14_ = (NIM_BOOL)0;
5465 T14_ = !((se == 0));
5466 if (!(T14_)) goto LA15_;
5467 T14_ = !(((*se).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)));
5468 LA15_: ;
5469 if (!T14_) goto LA16_;
5470 {
5471 NI T20_;
5472 T20_ = (NI)0;
5473 T20_ = len__ast_3198(real);
5474 if (!(T20_ == ((NI) 0))) goto LA21_;
5475 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 2);
5476 goto BeforeRet_;
5477 }
5478 LA21_: ;
5479 res = compatibleEffectsAux__types_3404(se, (*real)._kind_6.sons->data[((NI) 0)]);
5480 {
5481 if (!!(res)) goto LA25_;
5482 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 1);
5483 goto BeforeRet_;
5484 }
5485 LA25_: ;
5486 }
5487 LA16_: ;
5488 st = (*spec)._kind_6.sons->data[((NI) 3)];
5489 {
5490 NIM_BOOL T29_;
5491 NIM_BOOL res_2;
5492 T29_ = (NIM_BOOL)0;
5493 T29_ = !((st == 0));
5494 if (!(T29_)) goto LA30_;
5495 T29_ = !(((*st).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152)));
5496 LA30_: ;
5497 if (!T29_) goto LA31_;
5498 {
5499 NI T35_;
5500 T35_ = (NI)0;
5501 T35_ = len__ast_3198(real);
5502 if (!(T35_ == ((NI) 0))) goto LA36_;
5503 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 4);
5504 goto BeforeRet_;
5505 }
5506 LA36_: ;
5507 res_2 = compatibleEffectsAux__types_3404(st, (*real)._kind_6.sons->data[((NI) 3)]);
5508 {
5509 if (!!(res_2)) goto LA40_;
5510 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 3);
5511 goto BeforeRet_;
5512 }
5513 LA40_: ;
5514 }
5515 LA31_: ;
5516 }
5517 LA10_: ;
5518 {
5519 NIM_BOOL T44_;
5520 T44_ = (NIM_BOOL)0;
5521 T44_ = ((*formal).lockLevel < ((NI) 0));
5522 if (T44_) goto LA45_;
5523 T44_ = ((*actual).lockLevel <= (*formal).lockLevel);
5524 LA45_: ;
5525 if (!T44_) goto LA46_;
5526 {
5527 NI i;
5528 NI colontmp_;
5529 NI T49_;
5530 NI T50_;
5531 NI i_2;
5532 i = (NI)0;
5533 colontmp_ = (NI)0;
5534 T49_ = (NI)0;
5535 T49_ = len__ast_3198((*formal).n);
5536 T50_ = (NI)0;
5537 T50_ = len__ast_3198((*actual).n);
5538 colontmp_ = ((T49_ <= T50_) ? T49_ : T50_);
5539 i_2 = ((NI) 1);
5540 {
5541 while (1) {
5542 if (!(i_2 < colontmp_)) goto LA52;
5543 i = i_2;
5544 {
5545 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_;
5546 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 6);
5547 goto LA48;
5548 }
5549 LA55_: ;
5550 i_2 += ((NI) 1);
5551 } LA52: ;
5552 }
5553 } LA48: ;
5554 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0);
5555 }
5556 goto LA42_;
5557 LA46_: ;
5558 {
5559 result = ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 5);
5560 }
5561 LA42_: ;
5562 }BeforeRet_: ;
5563 return result;
5564 }
N_NIMCALL(NIM_BOOL,isEmptyContainer__types_3626)5565 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyContainer__types_3626)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
5566 NIM_BOOL result;
5567 result = (NIM_BOOL)0;
5568 switch ((*t).kind) {
5569 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
5570 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
5571 {
5572 result = NIM_TRUE;
5573 }
5574 break;
5575 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
5576 {
5577 result = ((*(*t).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
5578 }
5579 break;
5580 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
5581 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
5582 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
5583 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
5584 {
5585 result = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
5586 }
5587 break;
5588 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
5589 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
5590 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
5591 {
5592 tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
5593 T5_ = NIM_NIL;
5594 T5_ = lastSon__ast_3743(t);
5595 result = isEmptyContainer__types_3626(T5_);
5596 }
5597 break;
5598 default:
5599 {
5600 result = NIM_FALSE;
5601 }
5602 break;
5603 }
5604 return result;
5605 }
N_NIMCALL(NimStringDesc *,getProcHeader__types_222)5606 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getProcHeader__types_222)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, NIM_BOOL getDeclarationPath) {
5607 NimStringDesc* result;
5608 NimStringDesc* T1_;
5609 result = NIM_NIL;
5610 T1_ = NIM_NIL;
5611 T1_ = rawNewString(((*(*(*sym).owner).name).s ? (*(*(*sym).owner).name).s->Sup.len : 0) + ((*(*sym).name).s ? (*(*sym).name).s->Sup.len : 0) + 1);
5612 appendString(T1_, (*(*(*sym).owner).name).s);
5613 appendChar(T1_, 46);
5614 appendString(T1_, (*(*sym).name).s);
5615 result = T1_;
5616 {
5617 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
5618 if (!((520192 &((NU32)1<<((NU)((*sym).kind)&31U)))!=0)) goto LA4_;
5619 result = addChar(result, 40);
5620 n = (*(*sym).typ).n;
5621 {
5622 NI i;
5623 NI colontmp_;
5624 NI i_2;
5625 i = (NI)0;
5626 colontmp_ = (NI)0;
5627 colontmp_ = len__ast_3198(n);
5628 i_2 = ((NI) 1);
5629 {
5630 while (1) {
5631 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
5632 if (!(i_2 < colontmp_)) goto LA8;
5633 i = i_2;
5634 p = (*n)._kind_6.sons->data[i];
5635 {
5636 NimStringDesc* T13_;
5637 if (!((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11_;
5638 result = resizeString(result, ((*(*(*p)._kind_4.sym).name).s ? (*(*(*p)._kind_4.sym).name).s->Sup.len : 0) + 0);
5639 appendString(result, (*(*(*p)._kind_4.sym).name).s);
5640 result = resizeString(result, 2);
5641 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_83));
5642 T13_ = NIM_NIL;
5643 T13_ = typeToString__types_50((*(*p)._kind_4.sym).typ, prefer);
5644 result = resizeString(result, (T13_ ? T13_->Sup.len : 0) + 0);
5645 appendString(result, T13_);
5646 {
5647 NI T16_;
5648 T16_ = (NI)0;
5649 T16_ = len__ast_3198(n);
5650 if (!!((i == (NI)(T16_ - ((NI) 1))))) goto LA17_;
5651 result = resizeString(result, 2);
5652 appendString(result, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
5653 }
5654 LA17_: ;
5655 }
5656 goto LA9_;
5657 LA11_: ;
5658 {
5659 NimStringDesc* T20_;
5660 T20_ = NIM_NIL;
5661 T20_ = renderTree__renderer_46(p, 0);
5662 result = resizeString(result, (T20_ ? T20_->Sup.len : 0) + 0);
5663 appendString(result, T20_);
5664 }
5665 LA9_: ;
5666 i_2 += ((NI) 1);
5667 } LA8: ;
5668 }
5669 }
5670 result = addChar(result, 41);
5671 {
5672 NimStringDesc* T25_;
5673 NimStringDesc* T26_;
5674 if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA23_;
5675 T25_ = NIM_NIL;
5676 T26_ = NIM_NIL;
5677 T26_ = typeToString__types_50((*(*n)._kind_6.sons->data[((NI) 0)]).typ, prefer);
5678 T25_ = rawNewString((T26_ ? T26_->Sup.len : 0) + 2);
5679 appendString(T25_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_83));
5680 appendString(T25_, T26_);
5681 result = resizeString(result, (T25_ ? T25_->Sup.len : 0) + 0);
5682 appendString(result, T25_);
5683 }
5684 LA23_: ;
5685 }
5686 LA4_: ;
5687 {
5688 if (!getDeclarationPath) goto LA29_;
5689 addDeclaredLoc__astmsgs_17((&result), conf, sym);
5690 }
5691 LA29_: ;
5692 return result;
5693 }
N_NIMCALL(NIM_BOOL,canFormAcycleNode__types_665)5694 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canFormAcycleNode__types_665)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI startId) {
5695 NIM_BOOL result;
5696 { result = (NIM_BOOL)0;
5697 result = NIM_FALSE;
5698 {
5699 if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
5700 result = canFormAcycleAux__types_661(marker, (*n).typ, startId);
5701 {
5702 if (!!(result)) goto LA7_;
5703 switch ((*n).kind) {
5704 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
5705 {
5706 }
5707 break;
5708 default:
5709 {
5710 {
5711 NI i;
5712 NI colontmp_;
5713 NI i_2;
5714 i = (NI)0;
5715 colontmp_ = (NI)0;
5716 colontmp_ = len__ast_3198(n);
5717 i_2 = ((NI) 0);
5718 {
5719 while (1) {
5720 if (!(i_2 < colontmp_)) goto LA13;
5721 i = i_2;
5722 result = canFormAcycleNode__types_665(marker, (*n)._kind_6.sons->data[i], startId);
5723 {
5724 if (!result) goto LA16_;
5725 goto BeforeRet_;
5726 }
5727 LA16_: ;
5728 i_2 += ((NI) 1);
5729 } LA13: ;
5730 }
5731 }
5732 }
5733 break;
5734 }
5735 }
5736 LA7_: ;
5737 }
5738 LA3_: ;
5739 }BeforeRet_: ;
5740 return result;
5741 }
N_NIMCALL(NIM_BOOL,canFormAcycleAux__types_661)5742 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canFormAcycleAux__types_661)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, NI startId) {
5743 NIM_BOOL result;
5744 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5745 { result = (NIM_BOOL)0;
5746 result = NIM_FALSE;
5747 {
5748 if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
5749 goto BeforeRet_;
5750 }
5751 LA3_: ;
5752 {
5753 if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 39))&63U)))!=0)) goto LA7_;
5754 goto BeforeRet_;
5755 }
5756 LA7_: ;
5757 t = skipTypes__ast_3735(typ, TM__PpBJsMJcrcWrpLTS6mci1g_180);
5758 {
5759 if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 39))&63U)))!=0)) goto LA11_;
5760 goto BeforeRet_;
5761 }
5762 LA11_: ;
5763 switch ((*t).kind) {
5764 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
5765 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
5766 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
5767 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
5768 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
5769 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
5770 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
5771 {
5772 {
5773 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym73_;
5774 xX60gensym73_ = t;
5775 if (!((NI)((NI)((NU64)(((NI) ((*xX60gensym73_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym73_).Sup.itemId.item))) == startId)) goto LA16_;
5776 result = NIM_TRUE;
5777 }
5778 goto LA14_;
5779 LA16_: ;
5780 {
5781 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym74_;
5782 NIM_BOOL T19_;
5783 xX60gensym74_ = t;
5784 T19_ = (NIM_BOOL)0;
5785 T19_ = containsOrIncl__astalgo_402(marker, (NI)((NI)((NU64)(((NI) ((*xX60gensym74_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym74_).Sup.itemId.item))));
5786 if (!!(T19_)) goto LA20_;
5787 {
5788 NI i;
5789 NI colontmp_;
5790 NI i_2;
5791 i = (NI)0;
5792 colontmp_ = (NI)0;
5793 colontmp_ = len__ast_4002(t);
5794 i_2 = ((NI) 0);
5795 {
5796 while (1) {
5797 if (!(i_2 < colontmp_)) goto LA24;
5798 i = i_2;
5799 result = canFormAcycleAux__types_661(marker, (*t).sons->data[i], startId);
5800 {
5801 if (!result) goto LA27_;
5802 goto BeforeRet_;
5803 }
5804 LA27_: ;
5805 i_2 += ((NI) 1);
5806 } LA24: ;
5807 }
5808 }
5809 {
5810 if (!!(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA31_;
5811 result = canFormAcycleNode__types_665(marker, (*t).n, startId);
5812 }
5813 LA31_: ;
5814 }
5815 goto LA14_;
5816 LA20_: ;
5817 LA14_: ;
5818 {
5819 NIM_BOOL T35_;
5820 T35_ = (NIM_BOOL)0;
5821 T35_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
5822 if (!(T35_)) goto LA36_;
5823 T35_ = !((((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0));
5824 LA36_: ;
5825 if (!T35_) goto LA37_;
5826 result = NIM_TRUE;
5827 }
5828 LA37_: ;
5829 }
5830 break;
5831 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
5832 {
5833 result = ((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
5834 }
5835 break;
5836 default:
5837 {
5838 }
5839 break;
5840 }
5841 }BeforeRet_: ;
5842 return result;
5843 }
N_NIMCALL(NIM_BOOL,canFormAcycle__types_762)5844 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canFormAcycle__types_762)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
5845 NIM_BOOL result;
5846 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
5847 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5848 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym80_;
5849 result = (NIM_BOOL)0;
5850 nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
5851 initIntSet__pureZcollectionsZintsets_238((&marker));
5852 t = skipTypes__ast_3735(typ, TM__PpBJsMJcrcWrpLTS6mci1g_180);
5853 xX60gensym80_ = t;
5854 result = canFormAcycleAux__types_661((&marker), t, (NI)((NI)((NU64)(((NI) ((*xX60gensym80_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym80_).Sup.itemId.item))));
5855 return result;
5856 }
N_NIMCALL(NIM_BOOL,isPureObject__types_132)5857 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isPureObject__types_132)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
5858 NIM_BOOL result;
5859 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
5860 NIM_BOOL T5_;
5861 result = (NIM_BOOL)0;
5862 t = typ;
5863 {
5864 while (1) {
5865 NIM_BOOL T3_;
5866 T3_ = (NIM_BOOL)0;
5867 T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
5868 if (!(T3_)) goto LA4_;
5869 T3_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5870 LA4_: ;
5871 if (!T3_) goto LA2;
5872 t = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__PpBJsMJcrcWrpLTS6mci1g_5);
5873 } LA2: ;
5874 }
5875 T5_ = (NIM_BOOL)0;
5876 T5_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
5877 if (!(T5_)) goto LA6_;
5878 T5_ = (((*(*t).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0);
5879 LA6_: ;
5880 result = T5_;
5881 return result;
5882 }
N_NIMCALL(NIM_BOOL,isFinal__types_750)5883 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFinal__types_750)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
5884 NIM_BOOL result;
5885 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
5886 NIM_BOOL T1_;
5887 NIM_BOOL T2_;
5888 result = (NIM_BOOL)0;
5889 t_2 = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_167);
5890 T1_ = (NIM_BOOL)0;
5891 T2_ = (NIM_BOOL)0;
5892 T2_ = !(((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)));
5893 if (T2_) goto LA3_;
5894 T2_ = (((*t_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0);
5895 LA3_: ;
5896 T1_ = T2_;
5897 if (T1_) goto LA4_;
5898 T1_ = isPureObject__types_132(t_2);
5899 LA4_: ;
5900 result = T1_;
5901 return result;
5902 }
N_NIMCALL(NIM_BOOL,searchTypeNodeForAux__types_397)5903 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeNodeForAux__types_397)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyProc__NbBRo5rVxVVQby3QsoZkZQ p, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker) {
5904 NIM_BOOL result;
5905 { result = (NIM_BOOL)0;
5906 result = NIM_FALSE;
5907 switch ((*n).kind) {
5908 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
5909 {
5910 {
5911 NI i;
5912 NI colontmp_;
5913 NI i_2;
5914 i = (NI)0;
5915 colontmp_ = (NI)0;
5916 colontmp_ = len__ast_3198(n);
5917 i_2 = ((NI) 0);
5918 {
5919 while (1) {
5920 if (!(i_2 < colontmp_)) goto LA4;
5921 i = i_2;
5922 result = searchTypeNodeForAux__types_397((*n)._kind_6.sons->data[i], p, marker);
5923 {
5924 if (!result) goto LA7_;
5925 goto BeforeRet_;
5926 }
5927 LA7_: ;
5928 i_2 += ((NI) 1);
5929 } LA4: ;
5930 }
5931 }
5932 }
5933 break;
5934 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
5935 {
5936 result = searchTypeNodeForAux__types_397((*n)._kind_6.sons->data[((NI) 0)], p, marker);
5937 {
5938 if (!result) goto LA12_;
5939 goto BeforeRet_;
5940 }
5941 LA12_: ;
5942 {
5943 NI i_3;
5944 NI colontmp__2;
5945 NI i_4;
5946 i_3 = (NI)0;
5947 colontmp__2 = (NI)0;
5948 colontmp__2 = len__ast_3198(n);
5949 i_4 = ((NI) 1);
5950 {
5951 while (1) {
5952 if (!(i_4 < colontmp__2)) goto LA16;
5953 i_3 = i_4;
5954 switch ((*(*n)._kind_6.sons->data[i_3]).kind) {
5955 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
5956 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
5957 {
5958 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
5959 T18_ = NIM_NIL;
5960 T18_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
5961 result = searchTypeNodeForAux__types_397(T18_, p, marker);
5962 {
5963 if (!result) goto LA21_;
5964 goto BeforeRet_;
5965 }
5966 LA21_: ;
5967 }
5968 break;
5969 default:
5970 {
5971 }
5972 break;
5973 }
5974 i_4 += ((NI) 1);
5975 } LA16: ;
5976 }
5977 }
5978 }
5979 break;
5980 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
5981 {
5982 result = searchTypeForAux__types_393((*(*n)._kind_4.sym).typ, p, marker);
5983 }
5984 break;
5985 default:
5986 {
5987 }
5988 break;
5989 }
5990 }BeforeRet_: ;
5991 return result;
5992 }
N_NIMCALL(NIM_BOOL,searchTypeForAux__types_393)5993 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeForAux__types_393)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyProc__NbBRo5rVxVVQby3QsoZkZQ predicate, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker) {
5994 NIM_BOOL result;
5995 { result = (NIM_BOOL)0;
5996 result = NIM_FALSE;
5997 {
5998 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
5999 goto BeforeRet_;
6000 }
6001 LA3_: ;
6002 {
6003 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym50_;
6004 NIM_BOOL T7_;
6005 xX60gensym50_ = t;
6006 T7_ = (NIM_BOOL)0;
6007 T7_ = containsOrIncl__astalgo_402(marker, (NI)((NI)((NU64)(((NI) ((*xX60gensym50_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym50_).Sup.itemId.item))));
6008 if (!T7_) goto LA8_;
6009 goto BeforeRet_;
6010 }
6011 LA8_: ;
6012 result = predicate(t);
6013 {
6014 if (!result) goto LA12_;
6015 goto BeforeRet_;
6016 }
6017 LA12_: ;
6018 switch ((*t).kind) {
6019 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
6020 {
6021 {
6022 tyObject_TType__facALICuu8zUj0hjvbTLFg* T19_;
6023 if (!!(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA17_;
6024 T19_ = NIM_NIL;
6025 T19_ = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__PpBJsMJcrcWrpLTS6mci1g_5);
6026 result = searchTypeForAux__types_393(T19_, predicate, marker);
6027 }
6028 LA17_: ;
6029 {
6030 if (!!(result)) goto LA22_;
6031 result = searchTypeNodeForAux__types_397((*t).n, predicate, marker);
6032 }
6033 LA22_: ;
6034 }
6035 break;
6036 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
6037 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
6038 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
6039 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
6040 {
6041 tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
6042 T25_ = NIM_NIL;
6043 T25_ = lastSon__ast_3743(t);
6044 result = searchTypeForAux__types_393(T25_, predicate, marker);
6045 }
6046 break;
6047 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6048 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
6049 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
6050 {
6051 {
6052 NI i;
6053 NI colontmp_;
6054 NI i_2;
6055 i = (NI)0;
6056 colontmp_ = (NI)0;
6057 colontmp_ = len__ast_4002(t);
6058 i_2 = ((NI) 0);
6059 {
6060 while (1) {
6061 if (!(i_2 < colontmp_)) goto LA29;
6062 i = i_2;
6063 result = searchTypeForAux__types_393((*t).sons->data[i], predicate, marker);
6064 {
6065 if (!result) goto LA32_;
6066 goto BeforeRet_;
6067 }
6068 LA32_: ;
6069 i_2 += ((NI) 1);
6070 } LA29: ;
6071 }
6072 }
6073 }
6074 break;
6075 default:
6076 {
6077 }
6078 break;
6079 }
6080 }BeforeRet_: ;
6081 return result;
6082 }
N_NIMCALL(NIM_BOOL,searchTypeFor__types_470)6083 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, searchTypeFor__types_470)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyProc__NbBRo5rVxVVQby3QsoZkZQ predicate) {
6084 NIM_BOOL result;
6085 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
6086 result = (NIM_BOOL)0;
6087 nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
6088 initIntSet__pureZcollectionsZintsets_238((&marker));
6089 result = searchTypeForAux__types_393(t, predicate, (&marker));
6090 return result;
6091 }
N_NIMCALL(NIM_BOOL,isGCRef__types_589)6092 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGCRef__types_589)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
6093 NIM_BOOL result;
6094 NIM_BOOL T1_;
6095 NIM_BOOL T3_;
6096 result = (NIM_BOOL)0;
6097 T1_ = (NIM_BOOL)0;
6098 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
6099 if (T1_) goto LA2_;
6100 T3_ = (NIM_BOOL)0;
6101 T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
6102 if (!(T3_)) goto LA4_;
6103 T3_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
6104 LA4_: ;
6105 T1_ = T3_;
6106 LA2_: ;
6107 result = T1_;
6108 {
6109 NIM_BOOL T7_;
6110 NIM_BOOL T8_;
6111 T7_ = (NIM_BOOL)0;
6112 T8_ = (NIM_BOOL)0;
6113 T8_ = result;
6114 if (!(T8_)) goto LA9_;
6115 T8_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
6116 LA9_: ;
6117 T7_ = T8_;
6118 if (!(T7_)) goto LA10_;
6119 T7_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31))&63U)))!=0);
6120 LA10_: ;
6121 if (!T7_) goto LA11_;
6122 result = NIM_FALSE;
6123 }
6124 LA11_: ;
6125 return result;
6126 }
N_NIMCALL(NIM_BOOL,containsGarbageCollectedRef__types_612)6127 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGarbageCollectedRef__types_612)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
6128 NIM_BOOL result;
6129 result = (NIM_BOOL)0;
6130 result = searchTypeFor__types_470(typ, isGCRef__types_589);
6131 return result;
6132 }
N_INLINE(void,pushSafePoint)6133 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
6134 (*s).prev = excHandler__system_2565;
6135 excHandler__system_2565 = s;
6136 }
N_INLINE(void,popSafePoint)6137 static N_INLINE(void, popSafePoint)(void) {
6138 excHandler__system_2565 = (*excHandler__system_2565).prev;
6139 }
N_NIMCALL(NI64,align__types_2864)6140 N_LIB_PRIVATE N_NIMCALL(NI64, align__types_2864)(NI64 address, NI64 alignment) {
6141 NI64 result;
6142 result = (NI64)0;
6143 result = (NI64)((NI64)(address + (NI64)(alignment - IL64(1))) & (NI64)((NU64) ~((NI64)(alignment - IL64(1)))));
6144 return result;
6145 }
N_NIMCALL(void,Marker_tyRef__SFgbIvdx8bC9cxnXgi8Zn1A)6146 static N_NIMCALL(void, Marker_tyRef__SFgbIvdx8bC9cxnXgi8Zn1A)(void* p, NI op) {
6147 tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA* a;
6148 a = (tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA*)p;
6149 nimGCvisit((void*)(*a).Sup.Sup.Sup.parent, op);
6150 nimGCvisit((void*)(*a).Sup.Sup.Sup.message, op);
6151 nimGCvisit((void*)(*a).Sup.Sup.Sup.trace, op);
6152 nimGCvisit((void*)(*a).Sup.Sup.Sup.up, op);
6153 }
N_INLINE(NI,minuspercent___system_716)6154 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
6155 NI result;
6156 result = (NI)0;
6157 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
6158 return result;
6159 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)6160 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
6161 NIM_BOOL result;
6162 result = (NIM_BOOL)0;
6163 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
6164 return result;
6165 }
N_INLINE(void,rtlAddZCT__system_5343)6166 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
6167 addZCT__system_5294((&gch__system_5247.zct), c);
6168 }
N_INLINE(void,decRef__system_5345)6169 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
6170 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
6171 {
6172 NIM_BOOL T3_;
6173 T3_ = (NIM_BOOL)0;
6174 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
6175 if (!T3_) goto LA4_;
6176 rtlAddZCT__system_5343(c);
6177 }
6178 LA4_: ;
6179 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5300)6180 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr) {
6181 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
6182 NI T1_;
6183 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
6184 T1_ = (NI)0;
6185 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
6186 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
6187 return result;
6188 }
N_INLINE(void,nimGCunrefNoCycle)6189 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
6190 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
6191 T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
6192 T1_ = usrToCell__system_5300(p);
6193 decRef__system_5345(T1_);
6194 }
N_INLINE(NI,pluspercent___system_696)6195 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
6196 NI result;
6197 result = (NI)0;
6198 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
6199 return result;
6200 }
N_INLINE(void,incRef__system_5338)6201 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
6202 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
6203 }
N_INLINE(void,asgnRef)6204 static N_INLINE(void, asgnRef)(void** dest, void* src) {
6205 {
6206 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
6207 if (!!((src == NIM_NIL))) goto LA3_;
6208 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
6209 T5_ = usrToCell__system_5300(src);
6210 incRef__system_5338(T5_);
6211 }
6212 LA3_: ;
6213 {
6214 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
6215 if (!!(((*dest) == NIM_NIL))) goto LA8_;
6216 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
6217 T10_ = usrToCell__system_5300((*dest));
6218 decRef__system_5345(T10_);
6219 }
6220 LA8_: ;
6221 (*dest) = src;
6222 }
N_NIMCALL(void,raiseIllegalTypeRecursion__types_2877)6223 N_LIB_PRIVATE N_NIMCALL(void, raiseIllegalTypeRecursion__types_2877)(void) {
6224 tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA* T1_;
6225 NimStringDesc* T2_;
6226 T1_ = NIM_NIL;
6227 T1_ = (tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA*) newObj((&NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_), sizeof(tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA));
6228 (*T1_).Sup.Sup.Sup.Sup.m_type = (&NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_);
6229 (*T1_).Sup.Sup.Sup.name = "IllegalTypeRecursionError";
6230 T2_ = NIM_NIL;
6231 T2_ = (*T1_).Sup.Sup.Sup.message; (*T1_).Sup.Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_183));
6232 if (T2_) nimGCunrefNoCycle(T2_);
6233 asgnRef((void**) (&(*T1_).Sup.Sup.Sup.parent), ((Exception*) NIM_NIL));
6234 raiseExceptionEx((Exception*)T1_, "IllegalTypeRecursionError", "raiseIllegalTypeRecursion", "sizealignoffsetimpl.nim", 29);
6235 }
N_NIMCALL(NI,align__types_2868)6236 N_LIB_PRIVATE N_NIMCALL(NI, align__types_2868)(NI address, NI alignment) {
6237 NI result;
6238 result = (NI)0;
6239 result = (NI)((NI)(address + (NI)(alignment - ((NI) 1))) & (NI)((NU64) ~((NI)(alignment - ((NI) 1)))));
6240 return result;
6241 }
N_NIMCALL(void,align__types_2911)6242 N_LIB_PRIVATE N_NIMCALL(void, align__types_2911)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg, NI value) {
6243 {
6244 NIM_BOOL T3_;
6245 T3_ = (NIM_BOOL)0;
6246 T3_ = NIM_UNLIKELY((value == ((NI) -2)));
6247 if (!T3_) goto LA4_;
6248 raiseIllegalTypeRecursion__types_2877();
6249 }
6250 LA4_: ;
6251 {
6252 NIM_BOOL T8_;
6253 NIM_BOOL T9_;
6254 T8_ = (NIM_BOOL)0;
6255 T9_ = (NIM_BOOL)0;
6256 T9_ = (value == ((NI) -3));
6257 if (T9_) goto LA10_;
6258 T9_ = ((*arg).maxAlign == ((NI) -3));
6259 LA10_: ;
6260 T8_ = T9_;
6261 if (T8_) goto LA11_;
6262 T8_ = ((*arg).offset == ((NI) -3));
6263 LA11_: ;
6264 if (!T8_) goto LA12_;
6265 (*arg).maxAlign = ((NI) -3);
6266 (*arg).offset = ((NI) -3);
6267 }
6268 goto LA6_;
6269 LA12_: ;
6270 {
6271 (*arg).maxAlign = ((value >= (*arg).maxAlign) ? value : (*arg).maxAlign);
6272 (*arg).offset = align__types_2868((*arg).offset, value);
6273 }
6274 LA6_: ;
6275 }
N_NIMCALL(void,inc__types_2900)6276 N_LIB_PRIVATE N_NIMCALL(void, inc__types_2900)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg, NI value) {
6277 {
6278 NIM_BOOL T3_;
6279 T3_ = (NIM_BOOL)0;
6280 T3_ = NIM_UNLIKELY((value == ((NI) -2)));
6281 if (!T3_) goto LA4_;
6282 raiseIllegalTypeRecursion__types_2877();
6283 }
6284 LA4_: ;
6285 {
6286 NIM_BOOL T8_;
6287 T8_ = (NIM_BOOL)0;
6288 T8_ = (value == ((NI) -3));
6289 if (T8_) goto LA9_;
6290 T8_ = ((*arg).offset == ((NI) -3));
6291 LA9_: ;
6292 if (!T8_) goto LA10_;
6293 (*arg).offset = ((NI) -3);
6294 }
6295 goto LA6_;
6296 LA10_: ;
6297 {
6298 (*arg).offset += value;
6299 }
6300 LA6_: ;
6301 }
N_NIMCALL(NI,finish__types_2917)6302 N_LIB_PRIVATE N_NIMCALL(NI, finish__types_2917)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg) {
6303 NI result;
6304 result = (NI)0;
6305 {
6306 NIM_BOOL T3_;
6307 T3_ = (NIM_BOOL)0;
6308 T3_ = ((*arg).maxAlign == ((NI) -3));
6309 if (T3_) goto LA4_;
6310 T3_ = ((*arg).offset == ((NI) -3));
6311 LA4_: ;
6312 if (!T3_) goto LA5_;
6313 result = ((NI) -3);
6314 (*arg).offset = ((NI) -3);
6315 }
6316 goto LA1_;
6317 LA5_: ;
6318 {
6319 NI T8_;
6320 T8_ = (NI)0;
6321 T8_ = align__types_2868((*arg).offset, (*arg).maxAlign);
6322 result = (NI)(T8_ - (*arg).offset);
6323 (*arg).offset += result;
6324 }
6325 LA1_: ;
6326 return result;
6327 }
N_INLINE(Exception *,nimBorrowCurrentException)6328 static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
6329 Exception* result;
6330 result = NIM_NIL;
6331 result = currException__system_2566;
6332 return result;
6333 }
N_INLINE(void,popCurrentException)6334 static N_INLINE(void, popCurrentException)(void) {
6335 asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
6336 }
N_NIMCALL(NIM_BOOL,isObjectWithTypeFieldPredicate__types_485)6337 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObjectWithTypeFieldPredicate__types_485)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
6338 NIM_BOOL result;
6339 NIM_BOOL T1_;
6340 NIM_BOOL T2_;
6341 NIM_BOOL T3_;
6342 NIM_BOOL T6_;
6343 result = (NIM_BOOL)0;
6344 T1_ = (NIM_BOOL)0;
6345 T2_ = (NIM_BOOL)0;
6346 T3_ = (NIM_BOOL)0;
6347 T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
6348 if (!(T3_)) goto LA4_;
6349 T3_ = ((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
6350 LA4_: ;
6351 T2_ = T3_;
6352 if (!(T2_)) goto LA5_;
6353 T6_ = (NIM_BOOL)0;
6354 T6_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
6355 if (!(T6_)) goto LA7_;
6356 T6_ = !(((IL64(4294969344) & (*(*t).sym).flags) == 0));
6357 LA7_: ;
6358 T2_ = !(T6_);
6359 LA5_: ;
6360 T1_ = T2_;
6361 if (!(T1_)) goto LA8_;
6362 T1_ = !((((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0));
6363 LA8_: ;
6364 result = T1_;
6365 return result;
6366 }
N_NIMCALL(void,mergeBranch__types_2914)6367 N_LIB_PRIVATE N_NIMCALL(void, mergeBranch__types_2914)(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* arg, tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw value) {
6368 {
6369 NIM_BOOL T3_;
6370 NIM_BOOL T4_;
6371 NIM_BOOL T5_;
6372 T3_ = (NIM_BOOL)0;
6373 T4_ = (NIM_BOOL)0;
6374 T5_ = (NIM_BOOL)0;
6375 T5_ = (value.maxAlign == ((NI) -3));
6376 if (T5_) goto LA6_;
6377 T5_ = ((*arg).maxAlign == ((NI) -3));
6378 LA6_: ;
6379 T4_ = T5_;
6380 if (T4_) goto LA7_;
6381 T4_ = (value.offset == ((NI) -3));
6382 LA7_: ;
6383 T3_ = T4_;
6384 if (T3_) goto LA8_;
6385 T3_ = ((*arg).offset == ((NI) -3));
6386 LA8_: ;
6387 if (!T3_) goto LA9_;
6388 (*arg).maxAlign = ((NI) -3);
6389 (*arg).offset = ((NI) -3);
6390 }
6391 goto LA1_;
6392 LA9_: ;
6393 {
6394 (*arg).offset = (((*arg).offset >= value.offset) ? (*arg).offset : value.offset);
6395 (*arg).maxAlign = (((*arg).maxAlign >= value.maxAlign) ? (*arg).maxAlign : value.maxAlign);
6396 }
6397 LA1_: ;
6398 }
N_NIMCALL(void,computeUnionObjectOffsetsFoldFunction__types_3067)6399 N_LIB_PRIVATE N_NIMCALL(void, computeUnionObjectOffsetsFoldFunction__types_3067)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL packed_0, tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* accum) {
6400 switch ((*n).kind) {
6401 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
6402 {
6403 (*accum).offset = ((NI) -3);
6404 (*accum).maxAlign = ((NI) -3);
6405 liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_188), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__PpBJsMJcrcWrpLTS6mci1g_189, NIM_FALSE);
6406 }
6407 break;
6408 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
6409 {
6410 tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw accumRoot;
6411 accumRoot = (*accum);
6412 {
6413 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** child;
6414 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
6415 NI i;
6416 NI L;
6417 NI T4_;
6418 child = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6419 colontmp_ = NIM_NIL;
6420 colontmp_ = (*n)._kind_6.sons;
6421 i = ((NI) 0);
6422 T4_ = (colontmp_ ? colontmp_->Sup.len : 0);
6423 L = T4_;
6424 {
6425 while (1) {
6426 tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw branchAccum;
6427 NI T7_;
6428 if (!(i < L)) goto LA6;
6429 child = &colontmp_->data[i];
6430 nimZeroMem((void*)(&branchAccum), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
6431 branchAccum.offset = accumRoot.offset;
6432 branchAccum.maxAlign = ((NI) 1);
6433 computeUnionObjectOffsetsFoldFunction__types_3067(conf, (*child), packed_0, (&branchAccum));
6434 T7_ = (NI)0;
6435 T7_ = finish__types_2917((&branchAccum));
6436 (void)(T7_);
6437 mergeBranch__types_2914(accum, branchAccum);
6438 i += ((NI) 1);
6439 } LA6: ;
6440 }
6441 }
6442 }
6443 break;
6444 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6445 {
6446 NI size;
6447 NI align;
6448 size = ((NI) -3);
6449 align = ((NI) -3);
6450 {
6451 if (!((*(*n)._kind_4.sym)._kind_2.bitsize == ((NI) 0))) goto LA11_;
6452 computeSizeAlign__types_2924(conf, (*(*n)._kind_4.sym).typ);
6453 size = ((NI) ((*(*(*n)._kind_4.sym).typ).size));
6454 {
6455 if (!packed_0) goto LA15_;
6456 align = ((NI) 1);
6457 }
6458 goto LA13_;
6459 LA15_: ;
6460 {
6461 align = ((NI) ((*(*(*n)._kind_4.sym).typ).align));
6462 }
6463 LA13_: ;
6464 }
6465 LA11_: ;
6466 align__types_2911(accum, align);
6467 {
6468 if (!(((NI) 0) < (*(*n)._kind_4.sym)._kind_2.alignment)) goto LA20_;
6469 align__types_2911(accum, (*(*n)._kind_4.sym)._kind_2.alignment);
6470 }
6471 LA20_: ;
6472 (*(*n)._kind_4.sym).offset = (*accum).offset;
6473 inc__types_2900(accum, size);
6474 }
6475 break;
6476 default:
6477 {
6478 (*accum).maxAlign = ((NI) -3);
6479 (*accum).offset = ((NI) -3);
6480 }
6481 break;
6482 }
6483 }
N_NIMCALL(NI64,computeSubObjectAlign__types_2927)6484 N_LIB_PRIVATE N_NIMCALL(NI64, computeSubObjectAlign__types_2927)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6485 NI64 result;
6486 { result = (NI64)0;
6487 switch ((*n).kind) {
6488 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
6489 {
6490 result = computeSubObjectAlign__types_2927(conf, (*n)._kind_6.sons->data[((NI) 0)]);
6491 {
6492 NI i;
6493 NI colontmp_;
6494 NI i_2;
6495 i = (NI)0;
6496 colontmp_ = (NI)0;
6497 colontmp_ = len__ast_3198(n);
6498 i_2 = ((NI) 1);
6499 {
6500 while (1) {
6501 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
6502 if (!(i_2 < colontmp_)) goto LA4;
6503 i = i_2;
6504 child = (*n)._kind_6.sons->data[i];
6505 switch ((*child).kind) {
6506 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
6507 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
6508 {
6509 NI64 align;
6510 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
6511 T6_ = NIM_NIL;
6512 T6_ = lastSon__ast_4832(child);
6513 align = computeSubObjectAlign__types_2927(conf, T6_);
6514 {
6515 if (!(align < IL64(0))) goto LA9_;
6516 result = align;
6517 goto BeforeRet_;
6518 }
6519 LA9_: ;
6520 result = ((result >= align) ? result : align);
6521 }
6522 break;
6523 default:
6524 {
6525 internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_190), TM__PpBJsMJcrcWrpLTS6mci1g_191);
6526 }
6527 break;
6528 }
6529 i_2 += ((NI) 1);
6530 } LA4: ;
6531 }
6532 }
6533 }
6534 break;
6535 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
6536 {
6537 result = IL64(1);
6538 {
6539 NI i_3;
6540 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_2;
6541 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp__2;
6542 NI i_4;
6543 NI L;
6544 NI T14_;
6545 i_3 = (NI)0;
6546 child_2 = NIM_NIL;
6547 colontmp__2 = NIM_NIL;
6548 colontmp__2 = (*n)._kind_6.sons;
6549 i_4 = ((NI) 0);
6550 T14_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
6551 L = T14_;
6552 {
6553 while (1) {
6554 NI64 align_2;
6555 if (!(i_4 < L)) goto LA16;
6556 i_3 = i_4;
6557 child_2 = colontmp__2->data[i_4];
6558 align_2 = computeSubObjectAlign__types_2927(conf, (*n)._kind_6.sons->data[i_3]);
6559 {
6560 if (!(align_2 < IL64(0))) goto LA19_;
6561 result = align_2;
6562 goto BeforeRet_;
6563 }
6564 LA19_: ;
6565 result = ((result >= align_2) ? result : align_2);
6566 i_4 += ((NI) 1);
6567 } LA16: ;
6568 }
6569 }
6570 }
6571 break;
6572 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6573 {
6574 computeSizeAlign__types_2924(conf, (*(*n)._kind_4.sym).typ);
6575 result = ((NI64) ((*(*(*n)._kind_4.sym).typ).align));
6576 }
6577 break;
6578 default:
6579 {
6580 result = IL64(1);
6581 }
6582 break;
6583 }
6584 }BeforeRet_: ;
6585 return result;
6586 }
N_NIMCALL(NI,alignmentMax__types_2907)6587 N_LIB_PRIVATE N_NIMCALL(NI, alignmentMax__types_2907)(NI a, NI b) {
6588 NI result;
6589 result = (NI)0;
6590 {
6591 NIM_BOOL T3_;
6592 NIM_BOOL T5_;
6593 T3_ = (NIM_BOOL)0;
6594 T3_ = (a == ((NI) -2));
6595 if (T3_) goto LA4_;
6596 T3_ = (b == ((NI) -2));
6597 LA4_: ;
6598 T5_ = (NIM_BOOL)0;
6599 T5_ = NIM_UNLIKELY(T3_);
6600 if (!T5_) goto LA6_;
6601 raiseIllegalTypeRecursion__types_2877();
6602 }
6603 LA6_: ;
6604 {
6605 NIM_BOOL T10_;
6606 T10_ = (NIM_BOOL)0;
6607 T10_ = (a == ((NI) -3));
6608 if (T10_) goto LA11_;
6609 T10_ = (b == ((NI) -3));
6610 LA11_: ;
6611 if (!T10_) goto LA12_;
6612 result = ((NI) -3);
6613 }
6614 goto LA8_;
6615 LA12_: ;
6616 {
6617 result = ((a >= b) ? a : b);
6618 }
6619 LA8_: ;
6620 return result;
6621 }
N_NIMCALL(void,setOffsetsToUnknown__types_2978)6622 N_LIB_PRIVATE N_NIMCALL(void, setOffsetsToUnknown__types_2978)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6623 {
6624 NIM_BOOL T3_;
6625 T3_ = (NIM_BOOL)0;
6626 T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
6627 if (!(T3_)) goto LA4_;
6628 T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19));
6629 LA4_: ;
6630 if (!T3_) goto LA5_;
6631 (*(*n)._kind_4.sym).offset = ((NI) -3);
6632 }
6633 goto LA1_;
6634 LA5_: ;
6635 {
6636 {
6637 NI i;
6638 NI colontmp_;
6639 NI i_2;
6640 i = (NI)0;
6641 colontmp_ = (NI)0;
6642 colontmp_ = safeLen__ast_3191(n);
6643 i_2 = ((NI) 0);
6644 {
6645 while (1) {
6646 if (!(i_2 < colontmp_)) goto LA10;
6647 i = i_2;
6648 setOffsetsToUnknown__types_2978((*n)._kind_6.sons->data[i]);
6649 i_2 += ((NI) 1);
6650 } LA10: ;
6651 }
6652 }
6653 }
6654 LA1_: ;
6655 }
N_NIMCALL(void,computeObjectOffsetsFoldFunction__types_2994)6656 N_LIB_PRIVATE N_NIMCALL(void, computeObjectOffsetsFoldFunction__types_2994)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL packed_0, tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw* accum) {
6657 {
6658 NIM_BOOL T3_;
6659 T3_ = (NIM_BOOL)0;
6660 T3_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
6661 if (!(T3_)) goto LA4_;
6662 T3_ = ((*(*n).typ).size == IL64(-2));
6663 LA4_: ;
6664 if (!T3_) goto LA5_;
6665 raiseIllegalTypeRecursion__types_2877();
6666 }
6667 LA5_: ;
6668 switch ((*n).kind) {
6669 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
6670 {
6671 NI maxChildAlign;
6672 computeObjectOffsetsFoldFunction__types_2994(conf, (*n)._kind_6.sons->data[((NI) 0)], packed_0, accum);
6673 {
6674 if (!((*accum).offset == ((NI) -3))) goto LA10_;
6675 maxChildAlign = ((NI) -3);
6676 }
6677 goto LA8_;
6678 LA10_: ;
6679 {
6680 maxChildAlign = ((NI) 1);
6681 }
6682 LA8_: ;
6683 {
6684 if (!!(packed_0)) goto LA15_;
6685 {
6686 NI i;
6687 NI colontmp_;
6688 NI i_2;
6689 i = (NI)0;
6690 colontmp_ = (NI)0;
6691 colontmp_ = len__ast_3198(n);
6692 i_2 = ((NI) 1);
6693 {
6694 while (1) {
6695 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
6696 if (!(i_2 < colontmp_)) goto LA19;
6697 i = i_2;
6698 child = (*n)._kind_6.sons->data[i];
6699 switch ((*child).kind) {
6700 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
6701 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
6702 {
6703 NI align;
6704 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
6705 NI64 T22_;
6706 T21_ = NIM_NIL;
6707 T21_ = lastSon__ast_4832((*n)._kind_6.sons->data[i]);
6708 T22_ = (NI64)0;
6709 T22_ = computeSubObjectAlign__types_2927(conf, T21_);
6710 align = ((NI) (T22_));
6711 maxChildAlign = alignmentMax__types_2907(maxChildAlign, align);
6712 }
6713 break;
6714 default:
6715 {
6716 internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_192), TM__PpBJsMJcrcWrpLTS6mci1g_193);
6717 }
6718 break;
6719 }
6720 i_2 += ((NI) 1);
6721 } LA19: ;
6722 }
6723 }
6724 }
6725 LA15_: ;
6726 {
6727 if (!(maxChildAlign == ((NI) -3))) goto LA26_;
6728 setOffsetsToUnknown__types_2978(n);
6729 (*accum).offset = ((NI) -3);
6730 (*accum).maxAlign = ((NI) -3);
6731 }
6732 goto LA24_;
6733 LA26_: ;
6734 {
6735 tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw accumRoot;
6736 align__types_2911(accum, maxChildAlign);
6737 accumRoot = (*accum);
6738 {
6739 NI i_3;
6740 NI colontmp__2;
6741 NI i_4;
6742 i_3 = (NI)0;
6743 colontmp__2 = (NI)0;
6744 colontmp__2 = len__ast_3198(n);
6745 i_4 = ((NI) 1);
6746 {
6747 while (1) {
6748 tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw branchAccum;
6749 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
6750 NI T33_;
6751 if (!(i_4 < colontmp__2)) goto LA31;
6752 i_3 = i_4;
6753 nimZeroMem((void*)(&branchAccum), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
6754 branchAccum.offset = accumRoot.offset;
6755 branchAccum.maxAlign = ((NI) 1);
6756 T32_ = NIM_NIL;
6757 T32_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
6758 computeObjectOffsetsFoldFunction__types_2994(conf, T32_, packed_0, (&branchAccum));
6759 T33_ = (NI)0;
6760 T33_ = finish__types_2917((&branchAccum));
6761 (void)(T33_);
6762 mergeBranch__types_2914(accum, branchAccum);
6763 i_4 += ((NI) 1);
6764 } LA31: ;
6765 }
6766 }
6767 }
6768 LA24_: ;
6769 }
6770 break;
6771 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
6772 {
6773 {
6774 NI i_5;
6775 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child_2;
6776 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp__3;
6777 NI i_6;
6778 NI L;
6779 NI T36_;
6780 i_5 = (NI)0;
6781 child_2 = NIM_NIL;
6782 colontmp__3 = NIM_NIL;
6783 colontmp__3 = (*n)._kind_6.sons;
6784 i_6 = ((NI) 0);
6785 T36_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
6786 L = T36_;
6787 {
6788 while (1) {
6789 if (!(i_6 < L)) goto LA38;
6790 i_5 = i_6;
6791 child_2 = colontmp__3->data[i_6];
6792 computeObjectOffsetsFoldFunction__types_2994(conf, child_2, packed_0, accum);
6793 i_6 += ((NI) 1);
6794 } LA38: ;
6795 }
6796 }
6797 }
6798 break;
6799 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6800 {
6801 NI size;
6802 NI align_2;
6803 size = ((NI) -3);
6804 align_2 = ((NI) -3);
6805 {
6806 if (!((*(*n)._kind_4.sym)._kind_2.bitsize == ((NI) 0))) goto LA42_;
6807 computeSizeAlign__types_2924(conf, (*(*n)._kind_4.sym).typ);
6808 size = ((NI) ((*(*(*n)._kind_4.sym).typ).size));
6809 {
6810 if (!packed_0) goto LA46_;
6811 align_2 = ((NI) 1);
6812 }
6813 goto LA44_;
6814 LA46_: ;
6815 {
6816 align_2 = ((NI) ((*(*(*n)._kind_4.sym).typ).align));
6817 }
6818 LA44_: ;
6819 }
6820 LA42_: ;
6821 align__types_2911(accum, align_2);
6822 {
6823 if (!(((NI) 0) < (*(*n)._kind_4.sym)._kind_2.alignment)) goto LA51_;
6824 align__types_2911(accum, (*(*n)._kind_4.sym)._kind_2.alignment);
6825 }
6826 LA51_: ;
6827 (*(*n)._kind_4.sym).offset = (*accum).offset;
6828 inc__types_2900(accum, size);
6829 }
6830 break;
6831 default:
6832 {
6833 (*accum).maxAlign = ((NI) -3);
6834 (*accum).offset = ((NI) -3);
6835 }
6836 break;
6837 }
6838 }
N_NIMCALL(void,computeSizeAlign__types_2924)6839 N_LIB_PRIVATE N_NIMCALL(void, computeSizeAlign__types_2924)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
6840 NIM_BOOL hasSize;
6841 NIM_BOOL hasAlign;
6842 NI64 revertSize;
6843 NI16 revertAlign;
6844 TSafePoint TM__PpBJsMJcrcWrpLTS6mci1g_181;
6845 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag tk;
6846 { hasSize = !(((*typ).size == IL64(-1)));
6847 hasAlign = !(((*typ).align == ((NI16) -1)));
6848 {
6849 NIM_BOOL T3_;
6850 T3_ = (NIM_BOOL)0;
6851 T3_ = hasSize;
6852 if (!(T3_)) goto LA4_;
6853 T3_ = hasAlign;
6854 LA4_: ;
6855 if (!T3_) goto LA5_;
6856 goto BeforeRet_;
6857 }
6858 LA5_: ;
6859 revertSize = (*typ).size;
6860 revertAlign = (*typ).align;
6861 pushSafePoint(&TM__PpBJsMJcrcWrpLTS6mci1g_181);
6862 TM__PpBJsMJcrcWrpLTS6mci1g_181.status = setjmp(TM__PpBJsMJcrcWrpLTS6mci1g_181.context);
6863 if (TM__PpBJsMJcrcWrpLTS6mci1g_181.status == 0) {
6864 {
6865 NIM_BOOL T9_;
6866 T9_ = (NIM_BOOL)0;
6867 T9_ = ((*typ).size == IL64(-2));
6868 if (T9_) goto LA10_;
6869 T9_ = ((*typ).align == ((NI16) -2));
6870 LA10_: ;
6871 if (!T9_) goto LA11_;
6872 popSafePoint();
6873 {
6874 if (!hasSize) goto LA15_;
6875 (*typ).size = revertSize;
6876 }
6877 LA15_: ;
6878 {
6879 if (!hasAlign) goto LA19_;
6880 (*typ).align = revertAlign;
6881 }
6882 LA19_: ;
6883 goto BeforeRet_;
6884 }
6885 LA11_: ;
6886 (*typ).size = IL64(-2);
6887 (*typ).align = ((NI16) -2);
6888 (*typ).paddingAtEnd = ((NI16) 0);
6889 tk = (*typ).kind;
6890 switch (tk) {
6891 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
6892 {
6893 {
6894 if (!((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA24_;
6895 (*typ).size = ((NI64) ((NI)(((NI) 2) * (*conf).target.ptrSize)));
6896 }
6897 goto LA22_;
6898 LA24_: ;
6899 {
6900 (*typ).size = ((NI64) ((*conf).target.ptrSize));
6901 }
6902 LA22_: ;
6903 (*typ).align = ((NI16) ((*conf).target.ptrSize));
6904 }
6905 break;
6906 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
6907 {
6908 (*typ).size = ((NI64) ((*conf).target.ptrSize));
6909 (*typ).align = ((NI16) ((*conf).target.ptrSize));
6910 }
6911 break;
6912 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
6913 {
6914 {
6915 if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA31_;
6916 (*typ).size = ((NI64) ((NI)((*conf).target.ptrSize * ((NI) 2))));
6917 }
6918 goto LA29_;
6919 LA31_: ;
6920 {
6921 (*typ).size = ((NI64) ((*conf).target.ptrSize));
6922 }
6923 LA29_: ;
6924 (*typ).align = ((NI16) ((*conf).target.ptrSize));
6925 }
6926 break;
6927 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
6928 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
6929 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
6930 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
6931 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
6932 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
6933 {
6934 tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
6935 base = lastSon__ast_3743(typ);
6936 {
6937 if (!(base == typ)) goto LA37_;
6938 (*typ).size = IL64(-2);
6939 (*typ).align = ((NI16) -2);
6940 (*typ).paddingAtEnd = ((NI16) -2);
6941 popSafePoint();
6942 {
6943 if (!hasSize) goto LA41_;
6944 (*typ).size = revertSize;
6945 }
6946 LA41_: ;
6947 {
6948 if (!hasAlign) goto LA45_;
6949 (*typ).align = revertAlign;
6950 }
6951 LA45_: ;
6952 goto BeforeRet_;
6953 }
6954 LA37_: ;
6955 (*typ).align = ((NI16) ((*conf).target.ptrSize));
6956 {
6957 NIM_BOOL T49_;
6958 T49_ = (NIM_BOOL)0;
6959 T49_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
6960 if (!(T49_)) goto LA50_;
6961 T49_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0);
6962 LA50_: ;
6963 if (!T49_) goto LA51_;
6964 (*typ).size = ((NI64) ((NI)((*conf).target.ptrSize * ((NI) 2))));
6965 }
6966 goto LA47_;
6967 LA51_: ;
6968 {
6969 (*typ).size = ((NI64) ((*conf).target.ptrSize));
6970 }
6971 LA47_: ;
6972 }
6973 break;
6974 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
6975 {
6976 NI64 elemSize;
6977 tyObject_Int128__9a9axPfb75jdWY25AamJewkA len;
6978 computeSizeAlign__types_2924(conf, (*typ).sons->data[((NI) 1)]);
6979 elemSize = (*(*typ).sons->data[((NI) 1)]).size;
6980 len = lengthOrd__types_1661(conf, (*typ).sons->data[((NI) 0)]);
6981 {
6982 if (!(elemSize < IL64(0))) goto LA57_;
6983 (*typ).size = elemSize;
6984 (*typ).align = ((NI16) (elemSize));
6985 }
6986 goto LA55_;
6987 LA57_: ;
6988 {
6989 NIM_BOOL T60_;
6990 T60_ = (NIM_BOOL)0;
6991 T60_ = lt___int495056_721(len, IL64(0));
6992 if (!T60_) goto LA61_;
6993 (*typ).size = IL64(-3);
6994 (*typ).align = ((NI16) -3);
6995 }
6996 goto LA55_;
6997 LA61_: ;
6998 {
6999 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T64_;
7000 T64_ = star___int495056_514(len, ((NI32) (elemSize)));
7001 (*typ).size = toInt64Checked__int495056_103(T64_, IL64(-4));
7002 (*typ).align = (*(*typ).sons->data[((NI) 1)]).align;
7003 }
7004 LA55_: ;
7005 }
7006 break;
7007 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
7008 {
7009 tyObject_TType__facALICuu8zUj0hjvbTLFg* base_2;
7010 base_2 = lastSon__ast_3743(typ);
7011 computeSizeAlign__types_2924(conf, base_2);
7012 (*typ).size = IL64(0);
7013 (*typ).align = (*base_2).align;
7014 }
7015 break;
7016 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
7017 {
7018 {
7019 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T69_;
7020 NIM_BOOL T70_;
7021 T69_ = firstOrd__types_1353(conf, typ);
7022 T70_ = (NIM_BOOL)0;
7023 T70_ = lt___int495056_305(T69_, Zero__int495056_7);
7024 if (!T70_) goto LA71_;
7025 (*typ).size = IL64(4);
7026 (*typ).align = ((NI16) 4);
7027 }
7028 goto LA67_;
7029 LA71_: ;
7030 {
7031 NI64 lastOrd;
7032 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T74_;
7033 T74_ = lastOrd__types_1470(conf, typ);
7034 lastOrd = toInt64__int495056_88(T74_);
7035 {
7036 if (!(lastOrd < IL64(256))) goto LA77_;
7037 (*typ).size = IL64(1);
7038 (*typ).align = ((NI16) 1);
7039 }
7040 goto LA75_;
7041 LA77_: ;
7042 {
7043 if (!(lastOrd < IL64(65536))) goto LA80_;
7044 (*typ).size = IL64(2);
7045 (*typ).align = ((NI16) 2);
7046 }
7047 goto LA75_;
7048 LA80_: ;
7049 {
7050 if (!(lastOrd < IL64(4294967296))) goto LA83_;
7051 (*typ).size = IL64(4);
7052 (*typ).align = ((NI16) 4);
7053 }
7054 goto LA75_;
7055 LA83_: ;
7056 {
7057 (*typ).size = IL64(8);
7058 (*typ).align = floatInt64Align__options_4700(conf);
7059 }
7060 LA75_: ;
7061 }
7062 LA67_: ;
7063 }
7064 break;
7065 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
7066 {
7067 {
7068 if (!((*(*typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA89_;
7069 (*typ).size = IL64(-1);
7070 (*typ).align = ((NI16) -1);
7071 }
7072 goto LA87_;
7073 LA89_: ;
7074 {
7075 NI64 length;
7076 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T92_;
7077 T92_ = lengthOrd__types_1661(conf, (*typ).sons->data[((NI) 0)]);
7078 length = toInt64__int495056_88(T92_);
7079 {
7080 if (!(length <= IL64(8))) goto LA95_;
7081 (*typ).size = IL64(1);
7082 (*typ).align = ((NI16) 1);
7083 }
7084 goto LA93_;
7085 LA95_: ;
7086 {
7087 if (!(length <= IL64(16))) goto LA98_;
7088 (*typ).size = IL64(2);
7089 (*typ).align = ((NI16) 2);
7090 }
7091 goto LA93_;
7092 LA98_: ;
7093 {
7094 if (!(length <= IL64(32))) goto LA101_;
7095 (*typ).size = IL64(4);
7096 (*typ).align = ((NI16) 4);
7097 }
7098 goto LA93_;
7099 LA101_: ;
7100 {
7101 if (!(length <= IL64(64))) goto LA104_;
7102 (*typ).size = IL64(8);
7103 (*typ).align = floatInt64Align__options_4700(conf);
7104 }
7105 goto LA93_;
7106 LA104_: ;
7107 {
7108 NI64 T107_;
7109 NI64 T110_;
7110 T107_ = (NI64)0;
7111 T107_ = align__types_2864(length, IL64(8));
7112 if (!((NI64)(T107_ % IL64(8)) == IL64(0))) goto LA108_;
7113 T110_ = (NI64)0;
7114 T110_ = align__types_2864(length, IL64(8));
7115 (*typ).size = (NI64)(T110_ / IL64(8));
7116 (*typ).align = floatInt64Align__options_4700(conf);
7117 }
7118 goto LA93_;
7119 LA108_: ;
7120 {
7121 NI64 T112_;
7122 T112_ = (NI64)0;
7123 T112_ = align__types_2864(length, IL64(8));
7124 (*typ).size = (NI64)((NI64)(T112_ / IL64(8)) + IL64(1));
7125 (*typ).align = floatInt64Align__options_4700(conf);
7126 }
7127 LA93_: ;
7128 }
7129 LA87_: ;
7130 }
7131 break;
7132 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
7133 {
7134 computeSizeAlign__types_2924(conf, (*typ).sons->data[((NI) 0)]);
7135 (*typ).size = (*(*typ).sons->data[((NI) 0)]).size;
7136 (*typ).align = (*(*typ).sons->data[((NI) 0)]).align;
7137 (*typ).paddingAtEnd = (*(*typ).sons->data[((NI) 0)]).paddingAtEnd;
7138 }
7139 break;
7140 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
7141 {
7142 TSafePoint TM__PpBJsMJcrcWrpLTS6mci1g_182;
7143 tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw accum;
7144 NI T122_;
7145 NI T123_;
7146 pushSafePoint(&TM__PpBJsMJcrcWrpLTS6mci1g_182);
7147 TM__PpBJsMJcrcWrpLTS6mci1g_182.status = setjmp(TM__PpBJsMJcrcWrpLTS6mci1g_182.context);
7148 if (TM__PpBJsMJcrcWrpLTS6mci1g_182.status == 0) {
7149 nimZeroMem((void*)(&accum), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
7150 accum.maxAlign = ((NI) 1);
7151 {
7152 NI i;
7153 NI colontmp_;
7154 NI i_2;
7155 i = (NI)0;
7156 colontmp_ = (NI)0;
7157 colontmp_ = len__ast_4002(typ);
7158 i_2 = ((NI) 0);
7159 {
7160 while (1) {
7161 tyObject_TType__facALICuu8zUj0hjvbTLFg* child;
7162 if (!(i_2 < colontmp_)) goto LA117;
7163 i = i_2;
7164 child = (*typ).sons->data[i];
7165 computeSizeAlign__types_2924(conf, child);
7166 align__types_2911((&accum), ((NI) ((*child).align)));
7167 {
7168 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
7169 if (!!(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA120_;
7170 sym = (*(*(*typ).n)._kind_6.sons->data[i])._kind_4.sym;
7171 (*sym).offset = accum.offset;
7172 }
7173 LA120_: ;
7174 inc__types_2900((&accum), ((NI) ((*child).size)));
7175 i_2 += ((NI) 1);
7176 } LA117: ;
7177 }
7178 }
7179 T122_ = (NI)0;
7180 T122_ = finish__types_2917((&accum));
7181 (*typ).paddingAtEnd = ((NI16) (T122_));
7182 T123_ = (NI)0;
7183 {
7184 if (!(accum.offset == ((NI) 0))) goto LA126_;
7185 T123_ = ((NI) 1);
7186 }
7187 goto LA124_;
7188 LA126_: ;
7189 {
7190 T123_ = accum.offset;
7191 }
7192 LA124_: ;
7193 (*typ).size = ((NI64) (T123_));
7194 (*typ).align = ((NI16) (accum.maxAlign));
7195 popSafePoint();
7196 }
7197 else {
7198 popSafePoint();
7199 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_))) {
7200 TM__PpBJsMJcrcWrpLTS6mci1g_182.status = 0;
7201 (*typ).paddingAtEnd = ((NI16) -2);
7202 (*typ).size = IL64(-2);
7203 (*typ).align = ((NI16) -2);
7204 popCurrentException();
7205 }
7206 }
7207 if (TM__PpBJsMJcrcWrpLTS6mci1g_182.status != 0) reraiseException();
7208 }
7209 break;
7210 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
7211 {
7212 TSafePoint TM__PpBJsMJcrcWrpLTS6mci1g_184;
7213 tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw volatile accum_2;
7214 NI16 paddingAtEnd;
7215 NI T170_;
7216 pushSafePoint(&TM__PpBJsMJcrcWrpLTS6mci1g_184);
7217 TM__PpBJsMJcrcWrpLTS6mci1g_184.status = setjmp(TM__PpBJsMJcrcWrpLTS6mci1g_184.context);
7218 if (TM__PpBJsMJcrcWrpLTS6mci1g_184.status == 0) {
7219 {
7220 tyObject_TType__facALICuu8zUj0hjvbTLFg* volatile st;
7221 if (!!(((*typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA134_;
7222 st = (*typ).sons->data[((NI) 0)];
7223 {
7224 while (1) {
7225 NI T138_;
7226 if (!((TM__PpBJsMJcrcWrpLTS6mci1g_5[(NU)((*st).kind)>>3] &(1U<<((NU)((*st).kind)&7U)))!=0)) goto LA137;
7227 T138_ = (NI)0;
7228 T138_ = len__ast_4002(st);
7229 st = (*st).sons->data[(NI)(T138_ - ((NI) 1))];
7230 } LA137: ;
7231 }
7232 computeSizeAlign__types_2924(conf, st);
7233 {
7234 if (!((*conf).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2))) goto LA141_;
7235 nimZeroMem((void*)(&accum_2), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
7236 accum_2.offset = (NI)(((NI) ((*st).size)) - ((NI) ((*st).paddingAtEnd)));
7237 accum_2.maxAlign = ((NI) ((*st).align));
7238 }
7239 goto LA139_;
7240 LA141_: ;
7241 {
7242 nimZeroMem((void*)(&accum_2), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
7243 accum_2.offset = ((NI) ((*st).size));
7244 accum_2.maxAlign = ((NI) ((*st).align));
7245 }
7246 LA139_: ;
7247 }
7248 goto LA132_;
7249 LA134_: ;
7250 {
7251 NIM_BOOL T145_;
7252 T145_ = (NIM_BOOL)0;
7253 T145_ = isObjectWithTypeFieldPredicate__types_485(typ);
7254 if (!T145_) goto LA146_;
7255 nimZeroMem((void*)(&accum_2), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
7256 accum_2.offset = (*conf).target.intSize;
7257 accum_2.maxAlign = (*conf).target.intSize;
7258 }
7259 goto LA132_;
7260 LA146_: ;
7261 {
7262 nimZeroMem((void*)(&accum_2), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
7263 accum_2.maxAlign = ((NI) 1);
7264 }
7265 LA132_: ;
7266 {
7267 if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0)) goto LA151_;
7268 {
7269 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
7270 if (!!((accum_2.offset == ((NI) 0)))) goto LA155_;
7271 {
7272 if (!!(((*typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA159_;
7273 info = (*(*typ).sym).info;
7274 }
7275 goto LA157_;
7276 LA159_: ;
7277 {
7278 info = unknownLineInfo__lineinfos_280;
7279 }
7280 LA157_: ;
7281 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_185), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__PpBJsMJcrcWrpLTS6mci1g_186, NIM_FALSE);
7282 nimZeroMem((void*)(&accum_2), sizeof(tyObject_OffsetAccum__jzd9bqLwIuw3ARaSQW79b6yw));
7283 accum_2.offset = ((NI) -3);
7284 accum_2.maxAlign = ((NI) -3);
7285 }
7286 goto LA153_;
7287 LA155_: ;
7288 {
7289 if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 23))&63U)))!=0)) goto LA163_;
7290 computeUnionObjectOffsetsFoldFunction__types_3067(conf, (*typ).n, NIM_TRUE, (&accum_2));
7291 }
7292 goto LA153_;
7293 LA163_: ;
7294 {
7295 computeUnionObjectOffsetsFoldFunction__types_3067(conf, (*typ).n, NIM_FALSE, (&accum_2));
7296 }
7297 LA153_: ;
7298 }
7299 goto LA149_;
7300 LA151_: ;
7301 {
7302 if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 23))&63U)))!=0)) goto LA167_;
7303 accum_2.maxAlign = ((NI) 1);
7304 computeObjectOffsetsFoldFunction__types_2994(conf, (*typ).n, NIM_TRUE, (&accum_2));
7305 }
7306 goto LA149_;
7307 LA167_: ;
7308 {
7309 computeObjectOffsetsFoldFunction__types_2994(conf, (*typ).n, NIM_FALSE, (&accum_2));
7310 }
7311 LA149_: ;
7312 T170_ = (NI)0;
7313 T170_ = finish__types_2917((&accum_2));
7314 paddingAtEnd = ((NI16) (T170_));
7315 {
7316 NIM_BOOL T173_;
7317 NIM_BOOL T174_;
7318 T173_ = (NIM_BOOL)0;
7319 T174_ = (NIM_BOOL)0;
7320 T174_ = !(((*typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
7321 if (!(T174_)) goto LA175_;
7322 T174_ = (((*(*typ).sym).flags & 262208) == 64);
7323 LA175_: ;
7324 T173_ = T174_;
7325 if (!(T173_)) goto LA176_;
7326 T173_ = !((((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 41))&63U)))!=0));
7327 LA176_: ;
7328 if (!T173_) goto LA177_;
7329 (*typ).size = IL64(-3);
7330 (*typ).align = ((NI16) -3);
7331 (*typ).paddingAtEnd = ((NI16) -3);
7332 }
7333 goto LA171_;
7334 LA177_: ;
7335 {
7336 NI T180_;
7337 T180_ = (NI)0;
7338 {
7339 if (!(accum_2.offset == ((NI) 0))) goto LA183_;
7340 T180_ = ((NI) 1);
7341 }
7342 goto LA181_;
7343 LA183_: ;
7344 {
7345 T180_ = accum_2.offset;
7346 }
7347 LA181_: ;
7348 (*typ).size = ((NI64) (T180_));
7349 (*typ).align = ((NI16) (accum_2.maxAlign));
7350 (*typ).paddingAtEnd = paddingAtEnd;
7351 }
7352 LA171_: ;
7353 popSafePoint();
7354 }
7355 else {
7356 popSafePoint();
7357 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_))) {
7358 TM__PpBJsMJcrcWrpLTS6mci1g_184.status = 0;
7359 (*typ).size = IL64(-2);
7360 (*typ).align = ((NI16) -2);
7361 (*typ).paddingAtEnd = ((NI16) -2);
7362 popCurrentException();
7363 }
7364 }
7365 if (TM__PpBJsMJcrcWrpLTS6mci1g_184.status != 0) reraiseException();
7366 }
7367 break;
7368 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
7369 {
7370 {
7371 NI T191_;
7372 tyObject_TType__facALICuu8zUj0hjvbTLFg* T194_;
7373 tyObject_TType__facALICuu8zUj0hjvbTLFg* T195_;
7374 tyObject_TType__facALICuu8zUj0hjvbTLFg* T196_;
7375 tyObject_TType__facALICuu8zUj0hjvbTLFg* T197_;
7376 T191_ = (NI)0;
7377 T191_ = len__ast_4002(typ);
7378 if (!(((NI) 1) < T191_)) goto LA192_;
7379 T194_ = NIM_NIL;
7380 T194_ = lastSon__ast_3743(typ);
7381 computeSizeAlign__types_2924(conf, T194_);
7382 T195_ = NIM_NIL;
7383 T195_ = lastSon__ast_3743(typ);
7384 (*typ).size = (*T195_).size;
7385 T196_ = NIM_NIL;
7386 T196_ = lastSon__ast_3743(typ);
7387 (*typ).align = (*T196_).align;
7388 T197_ = NIM_NIL;
7389 T197_ = lastSon__ast_3743(typ);
7390 (*typ).paddingAtEnd = (*T197_).paddingAtEnd;
7391 }
7392 LA192_: ;
7393 }
7394 break;
7395 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
7396 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
7397 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
7398 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
7399 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
7400 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
7401 {
7402 tyObject_TType__facALICuu8zUj0hjvbTLFg* T199_;
7403 tyObject_TType__facALICuu8zUj0hjvbTLFg* T200_;
7404 tyObject_TType__facALICuu8zUj0hjvbTLFg* T201_;
7405 tyObject_TType__facALICuu8zUj0hjvbTLFg* T202_;
7406 T199_ = NIM_NIL;
7407 T199_ = lastSon__ast_3743(typ);
7408 computeSizeAlign__types_2924(conf, T199_);
7409 T200_ = NIM_NIL;
7410 T200_ = lastSon__ast_3743(typ);
7411 (*typ).size = (*T200_).size;
7412 T201_ = NIM_NIL;
7413 T201_ = lastSon__ast_3743(typ);
7414 (*typ).align = (*T201_).align;
7415 T202_ = NIM_NIL;
7416 T202_ = lastSon__ast_3743(typ);
7417 (*typ).paddingAtEnd = (*T202_).paddingAtEnd;
7418 }
7419 break;
7420 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
7421 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
7422 {
7423 {
7424 tyObject_TType__facALICuu8zUj0hjvbTLFg* T208_;
7425 tyObject_TType__facALICuu8zUj0hjvbTLFg* T209_;
7426 tyObject_TType__facALICuu8zUj0hjvbTLFg* T210_;
7427 tyObject_TType__facALICuu8zUj0hjvbTLFg* T211_;
7428 if (!(((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA206_;
7429 T208_ = NIM_NIL;
7430 T208_ = lastSon__ast_3743(typ);
7431 computeSizeAlign__types_2924(conf, T208_);
7432 T209_ = NIM_NIL;
7433 T209_ = lastSon__ast_3743(typ);
7434 (*typ).size = (*T209_).size;
7435 T210_ = NIM_NIL;
7436 T210_ = lastSon__ast_3743(typ);
7437 (*typ).align = (*T210_).align;
7438 T211_ = NIM_NIL;
7439 T211_ = lastSon__ast_3743(typ);
7440 (*typ).paddingAtEnd = (*T211_).paddingAtEnd;
7441 }
7442 goto LA204_;
7443 LA206_: ;
7444 {
7445 (*typ).size = IL64(-3);
7446 (*typ).align = ((NI16) -3);
7447 (*typ).paddingAtEnd = ((NI16) -3);
7448 }
7449 LA204_: ;
7450 }
7451 break;
7452 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
7453 {
7454 tyObject_TType__facALICuu8zUj0hjvbTLFg* T214_;
7455 tyObject_TType__facALICuu8zUj0hjvbTLFg* T215_;
7456 tyObject_TType__facALICuu8zUj0hjvbTLFg* T216_;
7457 tyObject_TType__facALICuu8zUj0hjvbTLFg* T217_;
7458 T214_ = NIM_NIL;
7459 T214_ = base__types_63(typ);
7460 computeSizeAlign__types_2924(conf, T214_);
7461 T215_ = NIM_NIL;
7462 T215_ = base__types_63(typ);
7463 (*typ).size = (*T215_).size;
7464 T216_ = NIM_NIL;
7465 T216_ = base__types_63(typ);
7466 (*typ).align = (*T216_).align;
7467 T217_ = NIM_NIL;
7468 T217_ = base__types_63(typ);
7469 (*typ).paddingAtEnd = (*T217_).paddingAtEnd;
7470 }
7471 break;
7472 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
7473 {
7474 (*typ).size = IL64(-2);
7475 (*typ).align = ((NI16) -2);
7476 (*typ).paddingAtEnd = ((NI16) -2);
7477 }
7478 break;
7479 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
7480 {
7481 {
7482 tyObject_TType__facALICuu8zUj0hjvbTLFg* T224_;
7483 tyObject_TType__facALICuu8zUj0hjvbTLFg* T225_;
7484 tyObject_TType__facALICuu8zUj0hjvbTLFg* T226_;
7485 tyObject_TType__facALICuu8zUj0hjvbTLFg* T227_;
7486 if (!!(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA222_;
7487 T224_ = NIM_NIL;
7488 T224_ = lastSon__ast_3743(typ);
7489 computeSizeAlign__types_2924(conf, T224_);
7490 T225_ = NIM_NIL;
7491 T225_ = lastSon__ast_3743(typ);
7492 (*typ).size = (*T225_).size;
7493 T226_ = NIM_NIL;
7494 T226_ = lastSon__ast_3743(typ);
7495 (*typ).align = (*T226_).align;
7496 T227_ = NIM_NIL;
7497 T227_ = lastSon__ast_3743(typ);
7498 (*typ).paddingAtEnd = (*T227_).paddingAtEnd;
7499 }
7500 goto LA220_;
7501 LA222_: ;
7502 {
7503 (*typ).size = IL64(-3);
7504 (*typ).align = ((NI16) -3);
7505 (*typ).paddingAtEnd = ((NI16) -3);
7506 }
7507 LA220_: ;
7508 }
7509 break;
7510 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
7511 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
7512 {
7513 (*typ).size = ((NI64) (((NI16) ((*conf).target.intSize))));
7514 (*typ).align = ((NI16) ((*conf).target.intSize));
7515 (*typ).paddingAtEnd = ((NI16) 0);
7516 }
7517 break;
7518 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
7519 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
7520 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
7521 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
7522 {
7523 (*typ).size = IL64(1);
7524 (*typ).align = ((NI16) 1);
7525 (*typ).paddingAtEnd = ((NI16) 0);
7526 }
7527 break;
7528 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
7529 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
7530 {
7531 (*typ).size = IL64(2);
7532 (*typ).align = ((NI16) 2);
7533 (*typ).paddingAtEnd = ((NI16) 0);
7534 }
7535 break;
7536 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
7537 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
7538 {
7539 (*typ).size = IL64(4);
7540 (*typ).align = ((NI16) 4);
7541 (*typ).paddingAtEnd = ((NI16) 0);
7542 }
7543 break;
7544 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
7545 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
7546 {
7547 (*typ).size = IL64(8);
7548 (*typ).align = ((NI16) 8);
7549 (*typ).paddingAtEnd = ((NI16) 0);
7550 }
7551 break;
7552 default:
7553 {
7554 (*typ).size = IL64(-3);
7555 (*typ).align = ((NI16) -3);
7556 (*typ).paddingAtEnd = ((NI16) -3);
7557 }
7558 break;
7559 }
7560 popSafePoint();
7561 }
7562 else {
7563 popSafePoint();
7564 }
7565 {
7566 {
7567 if (!hasSize) goto LA239_;
7568 (*typ).size = revertSize;
7569 }
7570 LA239_: ;
7571 {
7572 if (!hasAlign) goto LA243_;
7573 (*typ).align = revertAlign;
7574 }
7575 LA243_: ;
7576 if (TM__PpBJsMJcrcWrpLTS6mci1g_181.status != 0) nimLeaveFinally();
7577 }
7578 if (TM__PpBJsMJcrcWrpLTS6mci1g_181.status != 0) reraiseException();
7579 }BeforeRet_: ;
7580 }
N_NIMCALL(NI64,getSize__types_3336)7581 N_LIB_PRIVATE N_NIMCALL(NI64, getSize__types_3336)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
7582 NI64 result;
7583 result = (NI64)0;
7584 computeSizeAlign__types_2924(conf, typ);
7585 result = (*typ).size;
7586 return result;
7587 }
N_NIMCALL(tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng,classify__types_3581)7588 N_LIB_PRIVATE N_NIMCALL(tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng, classify__types_3581)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
7589 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng result;
7590 result = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
7591 {
7592 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
7593 result = ((tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng) 0);
7594 }
7595 goto LA1_;
7596 LA3_: ;
7597 {
7598 tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
7599 T6_ = NIM_NIL;
7600 T6_ = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_194);
7601 switch ((*T6_).kind) {
7602 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
7603 {
7604 result = ((tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng) 2);
7605 }
7606 break;
7607 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
7608 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
7609 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
7610 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
7611 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
7612 {
7613 result = ((tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng) 1);
7614 }
7615 break;
7616 default:
7617 {
7618 result = ((tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng) 0);
7619 }
7620 break;
7621 }
7622 }
7623 LA1_: ;
7624 return result;
7625 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipConv__types_3597)7626 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3597)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7627 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7628 result = NIM_NIL;
7629 result = n;
7630 switch ((*n).kind) {
7631 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
7632 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
7633 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
7634 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
7635 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
7636 {
7637 {
7638 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng T4_;
7639 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng T5_;
7640 T4_ = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
7641 T4_ = classify__types_3581((*(*n)._kind_6.sons->data[((NI) 0)]).typ);
7642 T5_ = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
7643 T5_ = classify__types_3581((*n).typ);
7644 if (!(T4_ == T5_)) goto LA6_;
7645 result = (*n)._kind_6.sons->data[((NI) 0)];
7646 }
7647 LA6_: ;
7648 }
7649 break;
7650 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
7651 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
7652 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
7653 {
7654 {
7655 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng T11_;
7656 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng T12_;
7657 T11_ = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
7658 T11_ = classify__types_3581((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
7659 T12_ = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
7660 T12_ = classify__types_3581((*n).typ);
7661 if (!(T11_ == T12_)) goto LA13_;
7662 result = (*n)._kind_6.sons->data[((NI) 1)];
7663 }
7664 LA13_: ;
7665 }
7666 break;
7667 default:
7668 {
7669 }
7670 break;
7671 }
7672 return result;
7673 }
N_NIMCALL(NIM_BOOL,isUnsigned__types_154)7674 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnsigned__types_154)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
7675 NIM_BOOL result;
7676 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
7677 result = (NIM_BOOL)0;
7678 T1_ = NIM_NIL;
7679 T1_ = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_167);
7680 result = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*T1_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T1_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
7681 return result;
7682 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)7683 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
7684 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
7685 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
7686 (*x).typeId_0 += ((NI) 1);
7687 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
7688 result.module = (*x).module;
7689 result.item = (*x).typeId_0;
7690 return result;
7691 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,takeType__types_3642)7692 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, takeType__types_3642)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* arg, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
7693 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
7694 result = NIM_NIL;
7695 {
7696 if (!((*arg).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA3_;
7697 result = formal;
7698 }
7699 goto LA1_;
7700 LA3_: ;
7701 {
7702 NIM_BOOL T6_;
7703 tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
7704 tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
7705 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T11_;
7706 T6_ = (NIM_BOOL)0;
7707 T6_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48) || (*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
7708 if (!(T6_)) goto LA7_;
7709 T6_ = isEmptyContainer__types_3626(arg);
7710 LA7_: ;
7711 if (!T6_) goto LA8_;
7712 T10_ = NIM_NIL;
7713 T10_ = skipTypes__ast_3735(arg, TM__PpBJsMJcrcWrpLTS6mci1g_2);
7714 T11_ = nextTypeId__ast_3151(idgen);
7715 a = copyType__ast_4046(T10_, T11_, (*arg).owner);
7716 copyTypeProps__modulegraphs_8872(g, ((NI) ((*idgen).module)), a, arg);
7717 asgnRef((void**) (&(*a).sons->data[((*arg).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))]), (*formal).sons->data[((NI) 0)]);
7718 result = a;
7719 }
7720 goto LA1_;
7721 LA8_: ;
7722 {
7723 NIM_BOOL T13_;
7724 T13_ = (NIM_BOOL)0;
7725 T13_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19));
7726 if (!(T13_)) goto LA14_;
7727 T13_ = ((*arg).kind == (*formal).kind);
7728 LA14_: ;
7729 if (!T13_) goto LA15_;
7730 result = formal;
7731 }
7732 goto LA1_;
7733 LA15_: ;
7734 {
7735 result = arg;
7736 }
7737 LA1_: ;
7738 return result;
7739 }
N_NIMCALL(NI64,getAlign__types_3332)7740 N_LIB_PRIVATE N_NIMCALL(NI64, getAlign__types_3332)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
7741 NI64 result;
7742 result = (NI64)0;
7743 computeSizeAlign__types_2924(conf, typ);
7744 result = ((NI64) ((*typ).align));
7745 return result;
7746 }
N_NIMCALL(void,addPragmaAndCallConvMismatch__types_3795)7747 N_LIB_PRIVATE N_NIMCALL(void, addPragmaAndCallConvMismatch__types_3795)(NimStringDesc** message, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
7748 tyTuple__8O9aaJHSzUqLkwUvcQd5m9aA T1_;
7749 tySet_tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA convMismatch;
7750 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw _;
7751 NimStringDesc* gotPragmas;
7752 NimStringDesc* expectedPragmas;
7753 T1_ = getProcConvMismatch__types_3695(conf, formal, actual, ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0));
7754 convMismatch = T1_.Field0;
7755 _ = T1_.Field1;
7756 gotPragmas = ((NimStringDesc*) NIM_NIL);
7757 expectedPragmas = ((NimStringDesc*) NIM_NIL);
7758 {
7759 tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA reason;
7760 NI i;
7761 reason = (tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA)0;
7762 i = ((NI) 0);
7763 {
7764 while (1) {
7765 if (!(i <= ((NI) 4))) goto LA4;
7766 {
7767 if (!((convMismatch &((NU8)1<<((NU)(((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) (i)))&7U)))!=0)) goto LA7_;
7768 reason = ((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) (i));
7769 switch (reason) {
7770 case ((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 4):
7771 {
7772 tyArray__Re75IspeoxXy2oCZHwcRrA T10_;
7773 NimStringDesc* T11_;
7774 nimZeroMem((void*)T10_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7775 T10_[0] = reprEnum((NI)(*actual).callConv, (&NTItcallingconvention__yjAJ8w0h1PBaSwSGJ3P7IA_));
7776 T10_[1] = reprEnum((NI)(*formal).callConv, (&NTItcallingconvention__yjAJ8w0h1PBaSwSGJ3P7IA_));
7777 T11_ = NIM_NIL;
7778 T11_ = nsuFormatOpenArray(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_202), T10_, 2);
7779 unsureAsgnRef((void**) (&(*message)), resizeString((*message), (T11_ ? T11_->Sup.len : 0) + 0));
7780 appendString((*message), T11_);
7781 }
7782 break;
7783 case ((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 0):
7784 {
7785 expectedPragmas = resizeString(expectedPragmas, 14);
7786 appendString(expectedPragmas, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_203));
7787 }
7788 break;
7789 case ((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 1):
7790 {
7791 expectedPragmas = resizeString(expectedPragmas, 8);
7792 appendString(expectedPragmas, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_204));
7793 }
7794 break;
7795 case ((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 2):
7796 {
7797 NimStringDesc* T15_;
7798 NimStringDesc* T16_;
7799 NimStringDesc* T17_;
7800 NimStringDesc* T18_;
7801 T15_ = NIM_NIL;
7802 T16_ = NIM_NIL;
7803 T16_ = dollar___ast_3858((*actual).lockLevel);
7804 T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + 9);
7805 appendString(T15_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_157));
7806 appendString(T15_, T16_);
7807 appendString(T15_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
7808 gotPragmas = resizeString(gotPragmas, (T15_ ? T15_->Sup.len : 0) + 0);
7809 appendString(gotPragmas, T15_);
7810 T17_ = NIM_NIL;
7811 T18_ = NIM_NIL;
7812 T18_ = dollar___ast_3858((*formal).lockLevel);
7813 T17_ = rawNewString((T18_ ? T18_->Sup.len : 0) + 9);
7814 appendString(T17_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_157));
7815 appendString(T17_, T18_);
7816 appendString(T17_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_89));
7817 expectedPragmas = resizeString(expectedPragmas, (T17_ ? T17_->Sup.len : 0) + 0);
7818 appendString(expectedPragmas, T17_);
7819 }
7820 break;
7821 case ((tyEnum_ProcConvMismatch__FZDJuk7ClYW6Ufv15TTSjA) 3):
7822 {
7823 }
7824 break;
7825 }
7826 }
7827 LA7_: ;
7828 i += ((NI) 1);
7829 } LA4: ;
7830 }
7831 }
7832 {
7833 tyArray__Re75IspeoxXy2oCZHwcRrA T24_;
7834 NimStringDesc* T25_;
7835 if (!(((NI) 0) < (expectedPragmas ? expectedPragmas->Sup.len : 0))) goto LA22_;
7836 gotPragmas = setLengthStr(gotPragmas, ((NI) (((((NI) 0) >= (NI)((gotPragmas ? gotPragmas->Sup.len : 0) - ((NI) 2))) ? ((NI) 0) : (NI)((gotPragmas ? gotPragmas->Sup.len : 0) - ((NI) 2))))));
7837 expectedPragmas = setLengthStr(expectedPragmas, ((NI) (((((NI) 0) >= (NI)((expectedPragmas ? expectedPragmas->Sup.len : 0) - ((NI) 2))) ? ((NI) 0) : (NI)((expectedPragmas ? expectedPragmas->Sup.len : 0) - ((NI) 2))))));
7838 nimZeroMem((void*)T24_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7839 T24_[0] = copyString(gotPragmas);
7840 T24_[1] = copyString(expectedPragmas);
7841 T25_ = NIM_NIL;
7842 T25_ = nsuFormatOpenArray(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_205), T24_, 2);
7843 unsureAsgnRef((void**) (&(*message)), resizeString((*message), (T25_ ? T25_->Sup.len : 0) + 0));
7844 appendString((*message), T25_);
7845 }
7846 LA22_: ;
7847 }
N_NIMCALL(void,typeMismatch__types_3870)7848 N_LIB_PRIVATE N_NIMCALL(void, typeMismatch__types_3870)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7849 {
7850 NIM_BOOL T3_;
7851 NimStringDesc* actualStr;
7852 NimStringDesc* formalStr;
7853 NimStringDesc* desc;
7854 NimStringDesc* x;
7855 NIM_BOOL verbose;
7856 NIM_BOOL T13_;
7857 NimStringDesc* msg;
7858 NimStringDesc* T32_;
7859 T3_ = (NIM_BOOL)0;
7860 T3_ = !(((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)));
7861 if (!(T3_)) goto LA4_;
7862 T3_ = !(((*actual).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)));
7863 LA4_: ;
7864 if (!T3_) goto LA5_;
7865 actualStr = typeToString__types_50(actual, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
7866 formalStr = typeToString__types_50(formal, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
7867 desc = typeToString__types_50(formal, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
7868 {
7869 if (!eqStrings(formalStr, desc)) goto LA9_;
7870 x = formalStr;
7871 }
7872 goto LA7_;
7873 LA9_: ;
7874 {
7875 NimStringDesc* T12_;
7876 T12_ = NIM_NIL;
7877 T12_ = rawNewString((formalStr ? formalStr->Sup.len : 0) + (desc ? desc->Sup.len : 0) + 3);
7878 appendString(T12_, formalStr);
7879 appendString(T12_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_195));
7880 appendString(T12_, desc);
7881 x = T12_;
7882 }
7883 LA7_: ;
7884 T13_ = (NIM_BOOL)0;
7885 T13_ = eqStrings(actualStr, formalStr);
7886 if (T13_) goto LA14_;
7887 T13_ = (((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 36))&63U)))!=0);
7888 LA14_: ;
7889 verbose = T13_;
7890 msg = copyString(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_196));
7891 {
7892 if (!verbose) goto LA17_;
7893 msg = resizeString(msg, 1);
7894 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_197));
7895 }
7896 LA17_: ;
7897 {
7898 NIM_BOOL T21_;
7899 NimStringDesc* T24_;
7900 T21_ = (NIM_BOOL)0;
7901 T21_ = isDefined__options_2279(conf, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_198));
7902 if (!T21_) goto LA22_;
7903 T24_ = NIM_NIL;
7904 T24_ = nsuFormatSingleElem(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_199), actualStr);
7905 msg = resizeString(msg, (T24_ ? T24_->Sup.len : 0) + 0);
7906 appendString(msg, T24_);
7907 }
7908 goto LA19_;
7909 LA22_: ;
7910 {
7911 tyArray__Re75IspeoxXy2oCZHwcRrA T26_;
7912 NimStringDesc* T27_;
7913 nimZeroMem((void*)T26_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
7914 T26_[0] = copyString(actualStr);
7915 T26_[1] = renderTree__renderer_46(n, 0);
7916 T27_ = NIM_NIL;
7917 T27_ = nsuFormatOpenArray(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_200), T26_, 2);
7918 msg = resizeString(msg, (T27_ ? T27_->Sup.len : 0) + 0);
7919 appendString(msg, T27_);
7920 }
7921 LA19_: ;
7922 {
7923 if (!verbose) goto LA30_;
7924 addDeclaredLoc__astmsgs_33((&msg), conf, actual);
7925 msg = resizeString(msg, 1);
7926 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_197));
7927 }
7928 LA30_: ;
7929 T32_ = NIM_NIL;
7930 T32_ = nsuFormatSingleElem(((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_201), x);
7931 msg = resizeString(msg, (T32_ ? T32_->Sup.len : 0) + 0);
7932 appendString(msg, T32_);
7933 {
7934 if (!verbose) goto LA35_;
7935 addDeclaredLoc__astmsgs_33((&msg), conf, formal);
7936 }
7937 LA35_: ;
7938 {
7939 NIM_BOOL T39_;
7940 tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ T43_;
7941 T39_ = (NIM_BOOL)0;
7942 T39_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
7943 if (!(T39_)) goto LA40_;
7944 T39_ = ((*actual).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
7945 LA40_: ;
7946 if (!T39_) goto LA41_;
7947 addPragmaAndCallConvMismatch__types_3795((&msg), formal, actual, conf);
7948 T43_ = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0;
7949 T43_ = compatibleEffects__types_3425(formal, actual);
7950 switch (T43_) {
7951 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0):
7952 {
7953 }
7954 break;
7955 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 1):
7956 {
7957 msg = resizeString(msg, 22);
7958 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_206));
7959 }
7960 break;
7961 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 2):
7962 {
7963 msg = resizeString(msg, 33);
7964 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_207));
7965 }
7966 break;
7967 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 3):
7968 {
7969 msg = resizeString(msg, 20);
7970 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_208));
7971 }
7972 break;
7973 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 4):
7974 {
7975 msg = resizeString(msg, 33);
7976 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_209));
7977 }
7978 break;
7979 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 5):
7980 {
7981 msg = resizeString(msg, 19);
7982 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_210));
7983 }
7984 break;
7985 case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 6):
7986 {
7987 msg = resizeString(msg, 30);
7988 appendString(msg, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_211));
7989 }
7990 break;
7991 }
7992 }
7993 LA41_: ;
7994 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__PpBJsMJcrcWrpLTS6mci1g_212, NIM_FALSE);
7995 }
7996 LA5_: ;
7997 }
N_INLINE(NIM_BOOL,contains__types_1647)7998 static N_INLINE(NIM_BOOL, contains__types_1647)(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA s, NF value) {
7999 NIM_BOOL result;
8000 NIM_BOOL T1_;
8001 result = (NIM_BOOL)0;
8002 T1_ = (NIM_BOOL)0;
8003 T1_ = (s.a <= value);
8004 if (!(T1_)) goto LA2_;
8005 T1_ = (value <= s.b);
8006 LA2_: ;
8007 result = T1_;
8008 return result;
8009 }
N_INLINE(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA,dotdot___types_1617)8010 static N_INLINE(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA, dotdot___types_1617)(NF a, NF b) {
8011 tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA result;
8012 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA));
8013 nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA));
8014 result.a = a;
8015 result.b = b;
8016 return result;
8017 }
N_NIMCALL(NIM_BOOL,floatRangeCheck__types_1613)8018 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, floatRangeCheck__types_1613)(NF x, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8019 NIM_BOOL result;
8020 result = (NIM_BOOL)0;
8021 switch ((*t).kind) {
8022 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
8023 {
8024 result = NIM_TRUE;
8025 }
8026 break;
8027 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
8028 {
8029 NF T3_;
8030 NF T4_;
8031 tyObject_HSlice__vOYTm9cLQaRc5TUw9atOyHnA T5_;
8032 T3_ = (NF)0;
8033 T3_ = firstFloat__types_1445(t);
8034 T4_ = (NF)0;
8035 T4_ = lastFloat__types_1588(t);
8036 T5_ = dotdot___types_1617(T3_, T4_);
8037 result = contains__types_1647(T5_, x);
8038 }
8039 break;
8040 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
8041 {
8042 result = floatRangeCheck__types_1613(x, (*t).sons->data[((NI) 0)]);
8043 }
8044 break;
8045 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
8046 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
8047 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
8048 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
8049 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
8050 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
8051 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
8052 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
8053 {
8054 tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
8055 T8_ = NIM_NIL;
8056 T8_ = lastSon__ast_3743(t);
8057 result = floatRangeCheck__types_1613(x, T8_);
8058 }
8059 break;
8060 default:
8061 {
8062 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* T10_;
8063 NimStringDesc* T11_;
8064 T10_ = NIM_NIL;
8065 T10_ = newPartialConfigRef__options_2497();
8066 T11_ = NIM_NIL;
8067 T11_ = rawNewString((reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 33);
8068 appendString(T11_, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_213));
8069 appendString(T11_, reprEnum((NI)(*t).kind, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
8070 internalErrorImpl__msgs_1431(T10_, unknownLineInfo__lineinfos_280, T11_, TM__PpBJsMJcrcWrpLTS6mci1g_214);
8071 result = NIM_FALSE;
8072 }
8073 break;
8074 }
8075 return result;
8076 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipHiddenSubConv__types_3674)8077 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipHiddenSubConv__types_3674)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
8078 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8079 result = NIM_NIL;
8080 {
8081 tyObject_TType__facALICuu8zUj0hjvbTLFg* formal;
8082 tyObject_TType__facALICuu8zUj0hjvbTLFg* arg;
8083 tyObject_TType__facALICuu8zUj0hjvbTLFg* dest;
8084 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59))) goto LA3_;
8085 formal = (*n).typ;
8086 result = (*n)._kind_6.sons->data[((NI) 1)];
8087 arg = (*result).typ;
8088 dest = takeType__types_3642(formal, arg, g, idgen);
8089 {
8090 NIM_BOOL T7_;
8091 T7_ = (NIM_BOOL)0;
8092 T7_ = (dest == arg);
8093 if (!(T7_)) goto LA8_;
8094 T7_ = !(((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)));
8095 LA8_: ;
8096 if (!T7_) goto LA9_;
8097 result = n;
8098 }
8099 goto LA5_;
8100 LA9_: ;
8101 {
8102 result = copyTree__ast_4431(result);
8103 asgnRef((void**) (&(*result).typ), dest);
8104 }
8105 LA5_: ;
8106 }
8107 goto LA1_;
8108 LA3_: ;
8109 {
8110 result = n;
8111 }
8112 LA1_: ;
8113 return result;
8114 }
N_NIMCALL(tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ,equalParam__types_1865)8115 N_LIB_PRIVATE N_NIMCALL(tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ, equalParam__types_1865)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b) {
8116 tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ result;
8117 result = (tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ)0;
8118 {
8119 NIM_BOOL T3_;
8120 T3_ = (NIM_BOOL)0;
8121 T3_ = sameTypeOrNil__types_1848((*a).typ, (*b).typ, 4);
8122 if (!(T3_)) goto LA4_;
8123 T3_ = exprStructuralEquivalent__trees_56((*a).constraint, (*b).constraint, NIM_FALSE);
8124 LA4_: ;
8125 if (!T3_) goto LA5_;
8126 {
8127 if (!((*a).ast == (*b).ast)) goto LA9_;
8128 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 1);
8129 }
8130 goto LA7_;
8131 LA9_: ;
8132 {
8133 NIM_BOOL T12_;
8134 T12_ = (NIM_BOOL)0;
8135 T12_ = !(((*a).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8136 if (!(T12_)) goto LA13_;
8137 T12_ = !(((*b).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8138 LA13_: ;
8139 if (!T12_) goto LA14_;
8140 {
8141 NIM_BOOL T18_;
8142 T18_ = (NIM_BOOL)0;
8143 T18_ = exprStructuralEquivalent__trees_56((*a).ast, (*b).ast, NIM_FALSE);
8144 if (!T18_) goto LA19_;
8145 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 1);
8146 }
8147 goto LA16_;
8148 LA19_: ;
8149 {
8150 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 2);
8151 }
8152 LA16_: ;
8153 }
8154 goto LA7_;
8155 LA14_: ;
8156 {
8157 if (!!(((*a).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA23_;
8158 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 1);
8159 }
8160 goto LA7_;
8161 LA23_: ;
8162 {
8163 if (!!(((*b).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA26_;
8164 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 2);
8165 }
8166 goto LA7_;
8167 LA26_: ;
8168 LA7_: ;
8169 }
8170 goto LA1_;
8171 LA5_: ;
8172 {
8173 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 0);
8174 }
8175 LA1_: ;
8176 return result;
8177 }
N_NIMCALL(tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ,equalParams__types_96)8178 N_LIB_PRIVATE N_NIMCALL(tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ, equalParams__types_96)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
8179 tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ result;
8180 { result = (tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ)0;
8181 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 1);
8182 {
8183 NI T3_;
8184 NI T4_;
8185 T3_ = (NI)0;
8186 T3_ = len__ast_3198(a);
8187 T4_ = (NI)0;
8188 T4_ = len__ast_3198(b);
8189 if (!!((T3_ == T4_))) goto LA5_;
8190 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 0);
8191 }
8192 goto LA1_;
8193 LA5_: ;
8194 {
8195 {
8196 NI i;
8197 NI colontmp_;
8198 NI i_2;
8199 i = (NI)0;
8200 colontmp_ = (NI)0;
8201 colontmp_ = len__ast_3198(a);
8202 i_2 = ((NI) 1);
8203 {
8204 while (1) {
8205 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
8206 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n;
8207 tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ T11_;
8208 if (!(i_2 < colontmp_)) goto LA10;
8209 i = i_2;
8210 m = (*(*a)._kind_6.sons->data[i])._kind_4.sym;
8211 n = (*(*b)._kind_6.sons->data[i])._kind_4.sym;
8212 T11_ = (tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ)0;
8213 T11_ = equalParam__types_1865(m, n);
8214 switch (T11_) {
8215 case ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 0):
8216 {
8217 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 0);
8218 goto BeforeRet_;
8219 }
8220 break;
8221 case ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 1):
8222 {
8223 }
8224 break;
8225 case ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 2):
8226 {
8227 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 2);
8228 }
8229 break;
8230 }
8231 {
8232 if (!!(((*(*m).name).id == (*(*n).name).id))) goto LA17_;
8233 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 0);
8234 goto BeforeRet_;
8235 }
8236 LA17_: ;
8237 i_2 += ((NI) 1);
8238 } LA10: ;
8239 }
8240 }
8241 {
8242 NIM_BOOL T21_;
8243 T21_ = (NIM_BOOL)0;
8244 T21_ = sameTypeOrNil__types_1848((*a).typ, (*b).typ, 4);
8245 if (!!(T21_)) goto LA22_;
8246 {
8247 NIM_BOOL T26_;
8248 T26_ = (NIM_BOOL)0;
8249 T26_ = ((*a).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
8250 if (T26_) goto LA27_;
8251 T26_ = ((*b).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
8252 LA27_: ;
8253 if (!T26_) goto LA28_;
8254 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 0);
8255 }
8256 goto LA24_;
8257 LA28_: ;
8258 {
8259 result = ((tyEnum_TParamsEquality__fvN026oaoXOuZ9ajGPibaYQ) 2);
8260 }
8261 LA24_: ;
8262 }
8263 LA22_: ;
8264 }
8265 LA1_: ;
8266 }BeforeRet_: ;
8267 return result;
8268 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipHidden__types_3613)8269 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipHidden__types_3613)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
8270 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8271 result = NIM_NIL;
8272 result = n;
8273 {
8274 while (1) {
8275 switch ((*result).kind) {
8276 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
8277 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
8278 {
8279 {
8280 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng T6_;
8281 tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng T7_;
8282 T6_ = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
8283 T6_ = classify__types_3581((*(*result)._kind_6.sons->data[((NI) 1)]).typ);
8284 T7_ = (tyEnum_OrdinalType__ZU6odCXXrXxl9axSbawmvng)0;
8285 T7_ = classify__types_3581((*result).typ);
8286 if (!(T6_ == T7_)) goto LA8_;
8287 result = (*result)._kind_6.sons->data[((NI) 1)];
8288 }
8289 goto LA4_;
8290 LA8_: ;
8291 {
8292 goto LA1;
8293 }
8294 LA4_: ;
8295 }
8296 break;
8297 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
8298 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
8299 {
8300 result = (*result)._kind_6.sons->data[((NI) 0)];
8301 }
8302 break;
8303 default:
8304 {
8305 goto LA1;
8306 }
8307 break;
8308 }
8309 }
8310 } LA1: ;
8311 return result;
8312 }
N_NIMCALL(void,addTypeDeclVerboseMaybe__types_53)8313 N_LIB_PRIVATE N_NIMCALL(void, addTypeDeclVerboseMaybe__types_53)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
8314 {
8315 NimStringDesc* T5_;
8316 if (!(((*conf).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 36))&63U)))!=0)) goto LA3_;
8317 T5_ = NIM_NIL;
8318 T5_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 7));
8319 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T5_ ? T5_->Sup.len : 0) + 0));
8320 appendString((*result), T5_);
8321 addDeclaredLoc__astmsgs_33(result, conf, typ);
8322 }
8323 goto LA1_;
8324 LA3_: ;
8325 {
8326 NimStringDesc* T7_;
8327 T7_ = NIM_NIL;
8328 T7_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
8329 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T7_ ? T7_->Sup.len : 0) + 0));
8330 appendString((*result), T7_);
8331 }
8332 LA1_: ;
8333 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,commonSuperclass__types_2747)8334 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonSuperclass__types_2747)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b) {
8335 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
8336 tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
8337 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA ancestors;
8338 tyObject_TType__facALICuu8zUj0hjvbTLFg* y;
8339 { result = NIM_NIL;
8340 {
8341 NIM_BOOL T3_;
8342 T3_ = (NIM_BOOL)0;
8343 T3_ = sameObjectTypes__types_2047(a, b);
8344 if (!T3_) goto LA4_;
8345 result = a;
8346 goto BeforeRet_;
8347 }
8348 LA4_: ;
8349 x = a;
8350 nimZeroMem((void*)(&ancestors), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
8351 initIntSet__pureZcollectionsZintsets_238((&ancestors));
8352 {
8353 while (1) {
8354 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym410_;
8355 if (!!((x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7;
8356 x = skipTypes__ast_3735(x, TM__PpBJsMJcrcWrpLTS6mci1g_5);
8357 xX60gensym410_ = x;
8358 incl__pureZcollectionsZintsets_55((&ancestors), (NI)((NI)((NU64)(((NI) ((*xX60gensym410_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym410_).Sup.itemId.item))));
8359 x = (*x).sons->data[((NI) 0)];
8360 } LA7: ;
8361 }
8362 y = b;
8363 {
8364 while (1) {
8365 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
8366 if (!!((y == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA9;
8367 t = y;
8368 y = skipTypes__ast_3735(y, TM__PpBJsMJcrcWrpLTS6mci1g_5);
8369 {
8370 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym413_;
8371 NIM_BOOL T12_;
8372 xX60gensym413_ = y;
8373 T12_ = (NIM_BOOL)0;
8374 T12_ = contains__astalgo_3496((&ancestors), (NI)((NI)((NU64)(((NI) ((*xX60gensym413_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym413_).Sup.itemId.item))));
8375 if (!T12_) goto LA13_;
8376 {
8377 if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)))) goto LA17_;
8378 t = y;
8379 }
8380 LA17_: ;
8381 result = t;
8382 goto BeforeRet_;
8383 }
8384 LA13_: ;
8385 y = (*y).sons->data[((NI) 0)];
8386 } LA9: ;
8387 }
8388 }BeforeRet_: ;
8389 return result;
8390 }
N_NIMCALL(NIM_BOOL,isTyRef__types_633)8391 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTyRef__types_633)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8392 NIM_BOOL result;
8393 NIM_BOOL T1_;
8394 NIM_BOOL T3_;
8395 result = (NIM_BOOL)0;
8396 T1_ = (NIM_BOOL)0;
8397 T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
8398 if (T1_) goto LA2_;
8399 T3_ = (NIM_BOOL)0;
8400 T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
8401 if (!(T3_)) goto LA4_;
8402 T3_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
8403 LA4_: ;
8404 T1_ = T3_;
8405 LA2_: ;
8406 result = T1_;
8407 return result;
8408 }
N_NIMCALL(NIM_BOOL,containsTyRef__types_648)8409 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsTyRef__types_648)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
8410 NIM_BOOL result;
8411 result = (NIM_BOOL)0;
8412 result = searchTypeFor__types_470(typ, isTyRef__types_633);
8413 return result;
8414 }
N_NIMCALL(NIM_BOOL,isDefectException__types_4029)8415 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefectException__types_4029)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8416 NIM_BOOL result;
8417 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
8418 { result = (NIM_BOOL)0;
8419 t_2 = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_215);
8420 {
8421 while (1) {
8422 if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA2;
8423 {
8424 NIM_BOOL T5_;
8425 NIM_BOOL T6_;
8426 NIM_BOOL T7_;
8427 T5_ = (NIM_BOOL)0;
8428 T6_ = (NIM_BOOL)0;
8429 T7_ = (NIM_BOOL)0;
8430 T7_ = !(((*t_2).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8431 if (!(T7_)) goto LA8_;
8432 T7_ = !(((*(*t_2).sym).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8433 LA8_: ;
8434 T6_ = T7_;
8435 if (!(T6_)) goto LA9_;
8436 T6_ = (((*(*(*t_2).sym).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
8437 LA9_: ;
8438 T5_ = T6_;
8439 if (!(T5_)) goto LA10_;
8440 T5_ = eqStrings((*(*(*t_2).sym).name).s, ((NimStringDesc*) &TM__PpBJsMJcrcWrpLTS6mci1g_216));
8441 LA10_: ;
8442 if (!T5_) goto LA11_;
8443 result = NIM_TRUE;
8444 goto BeforeRet_;
8445 }
8446 LA11_: ;
8447 {
8448 if (!((*t_2).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA15_;
8449 goto LA1;
8450 }
8451 LA15_: ;
8452 t_2 = skipTypes__ast_3735((*t_2).sons->data[((NI) 0)], TM__PpBJsMJcrcWrpLTS6mci1g_215);
8453 } LA2: ;
8454 } LA1: ;
8455 result = NIM_FALSE;
8456 goto BeforeRet_;
8457 }BeforeRet_: ;
8458 return result;
8459 }
N_NIMCALL(NIM_BOOL,isCharArrayPtr__types_4087)8460 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCharArrayPtr__types_4087)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowPointerToChar) {
8461 NIM_BOOL result;
8462 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
8463 result = (NIM_BOOL)0;
8464 t_2 = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_167);
8465 {
8466 tyObject_TType__facALICuu8zUj0hjvbTLFg* pointsTo;
8467 if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA3_;
8468 pointsTo = skipTypes__ast_3735((*t_2).sons->data[((NI) 0)], TM__PpBJsMJcrcWrpLTS6mci1g_167);
8469 switch ((*pointsTo).kind) {
8470 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
8471 {
8472 result = ((*(*pointsTo).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8473 }
8474 break;
8475 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
8476 {
8477 NIM_BOOL T7_;
8478 NIM_BOOL T8_;
8479 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T10_;
8480 tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
8481 T7_ = (NIM_BOOL)0;
8482 T8_ = (NIM_BOOL)0;
8483 T8_ = ((*(*pointsTo).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
8484 if (!(T8_)) goto LA9_;
8485 T10_ = firstOrd__types_1353(((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL), (*pointsTo).sons->data[((NI) 0)]);
8486 T8_ = eqeq___int495056_759(T10_, IL64(0));
8487 LA9_: ;
8488 T7_ = T8_;
8489 if (!(T7_)) goto LA11_;
8490 T12_ = NIM_NIL;
8491 T12_ = skipTypes__ast_3735((*pointsTo).sons->data[((NI) 0)], TM__PpBJsMJcrcWrpLTS6mci1g_217);
8492 T7_ = ((*T12_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T12_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35));
8493 LA11_: ;
8494 result = T7_;
8495 }
8496 break;
8497 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
8498 {
8499 result = allowPointerToChar;
8500 }
8501 break;
8502 default:
8503 {
8504 }
8505 break;
8506 }
8507 }
8508 LA3_: ;
8509 return result;
8510 }
N_NIMCALL(NIM_BOOL,isSinkTypeForParam__types_4055)8511 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSinkTypeForParam__types_4055)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8512 NIM_BOOL result;
8513 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
8514 result = (NIM_BOOL)0;
8515 T1_ = NIM_NIL;
8516 T1_ = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_2);
8517 result = ((*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
8518 return result;
8519 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,baseOfDistinct__types_3363)8520 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, baseOfDistinct__types_3363)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
8521 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
8522 result = NIM_NIL;
8523 {
8524 if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA3_;
8525 result = (*t).sons->data[((NI) 0)];
8526 }
8527 goto LA1_;
8528 LA3_: ;
8529 {
8530 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T6_;
8531 tyObject_TType__facALICuu8zUj0hjvbTLFg* parent;
8532 tyObject_TType__facALICuu8zUj0hjvbTLFg* it;
8533 T6_ = nextTypeId__ast_3151(idgen);
8534 result = copyType__ast_4046(t, T6_, (*t).owner);
8535 copyTypeProps__modulegraphs_8872(g, ((NI) ((*idgen).module)), result, t);
8536 parent = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
8537 it = result;
8538 {
8539 while (1) {
8540 if (!((*it).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*it).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*it).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA8;
8541 parent = it;
8542 it = lastSon__ast_3743(it);
8543 } LA8: ;
8544 }
8545 {
8546 NIM_BOOL T11_;
8547 T11_ = (NIM_BOOL)0;
8548 T11_ = ((*it).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
8549 if (!(T11_)) goto LA12_;
8550 T11_ = !((parent == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
8551 LA12_: ;
8552 if (!T11_) goto LA13_;
8553 asgnRef((void**) (&(*parent).sons->data[((NI) 0)]), (*it).sons->data[((NI) 0)]);
8554 }
8555 LA13_: ;
8556 }
8557 LA1_: ;
8558 return result;
8559 }
N_INLINE(NI,nextTry__stdZpackedsets_41)8560 static N_INLINE(NI, nextTry__stdZpackedsets_41)(NI h, NI maxHash, NI* perturb) {
8561 NI result;
8562 NU perturb2;
8563 result = (NI)0;
8564 perturb2 = (NU)((NU64)(((NU) ((*perturb)))) >> (NU64)(((NI) 5)));
8565 (*perturb) = ((NI) (perturb2));
8566 result = (NI)((NI)((NI)((NI)(((NI) 5) * h) + ((NI) 1)) + (*perturb)) & maxHash);
8567 return result;
8568 }
N_NIMCALL(void,assign__types_3929)8569 N_LIB_PRIVATE N_NIMCALL(void, assign__types_3929)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* src) {
8570 {
8571 if (!((*src).elems <= ((NI) 34))) goto LA3_;
8572 unsureAsgnRef((void**) (&(*dest).data), NIM_NIL);
8573 (*dest).max = ((NI) 0);
8574 (*dest).counter = (*src).counter;
8575 unsureAsgnRef((void**) (&(*dest).head), ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL));
8576 (*dest).elems = (*src).elems;
8577 nimCopyMem((void*)(*dest).a, (NIM_CONST void*)(*src).a, sizeof(tyArray__emiAJ8okywrJw7ZHLzlXbQ));
8578 }
8579 goto LA1_;
8580 LA3_: ;
8581 {
8582 NI T6_;
8583 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* it;
8584 (*dest).counter = (*src).counter;
8585 (*dest).max = (*src).max;
8586 (*dest).elems = (*src).elems;
8587 T6_ = ((*src).data ? (*src).data->Sup.len : 0);
8588 unsureAsgnRef((void**) (&(*dest).data), (tySequence__Bre9bNyuQOg1EJKitjSzn8w*) newSeq((&NTItrunkseq__Bre9bNyuQOg1EJKitjSzn8w_), ((NI) (T6_))));
8589 it = (*src).head;
8590 {
8591 while (1) {
8592 NI h;
8593 NI perturb;
8594 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* n;
8595 if (!!((it == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA8;
8596 h = (NI)((*it).key & (*dest).max);
8597 perturb = (*it).key;
8598 {
8599 while (1) {
8600 if (!!(((*dest).data->data[h] == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA10;
8601 h = nextTry__stdZpackedsets_41(h, (*dest).max, (&perturb));
8602 } LA10: ;
8603 }
8604 n = NIM_NIL;
8605 n = (tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) newObj((&NTItrunk__jMZvnc6V09aC24Isyj9alOEA_), sizeof(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA));
8606 asgnRef((void**) (&(*n).next), (*dest).head);
8607 (*n).key = (*it).key;
8608 nimCopyMem((void*)(*n).bits, (NIM_CONST void*)(*it).bits, sizeof(tyArray__VqSA39cBDWnwnJySTumCdjw));
8609 unsureAsgnRef((void**) (&(*dest).head), n);
8610 asgnRef((void**) (&(*dest).data->data[h]), n);
8611 it = (*it).next;
8612 } LA8: ;
8613 }
8614 }
8615 LA1_: ;
8616 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipConvTakeType__types_3623)8617 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvTakeType__types_3623)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
8618 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8619 result = NIM_NIL;
8620 result = skipConv__types_3597(n);
8621 asgnRef((void**) (&(*result).typ), (*n).typ);
8622 return result;
8623 }
N_NIMCALL(NIM_BOOL,isTupleRecursive__types_3902)8624 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTupleRecursive__types_3902)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* cycleDetector) {
8625 NIM_BOOL result;
8626 { result = (NIM_BOOL)0;
8627 {
8628 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
8629 result = NIM_FALSE;
8630 goto BeforeRet_;
8631 }
8632 LA3_: ;
8633 {
8634 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym562_;
8635 NIM_BOOL T7_;
8636 xX60gensym562_ = t;
8637 T7_ = (NIM_BOOL)0;
8638 T7_ = containsOrIncl__astalgo_402(cycleDetector, (NI)((NI)((NU64)(((NI) ((*xX60gensym562_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym562_).Sup.itemId.item))));
8639 if (!T7_) goto LA8_;
8640 result = NIM_TRUE;
8641 goto BeforeRet_;
8642 }
8643 LA8_: ;
8644 switch ((*t).kind) {
8645 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
8646 {
8647 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA cycleDetectorCopy;
8648 nimZeroMem((void*)(&cycleDetectorCopy), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
8649 {
8650 NI i;
8651 NI colontmp_;
8652 NI i_2;
8653 i = (NI)0;
8654 colontmp_ = (NI)0;
8655 colontmp_ = len__ast_4002(t);
8656 i_2 = ((NI) 0);
8657 {
8658 while (1) {
8659 if (!(i_2 < colontmp_)) goto LA13;
8660 i = i_2;
8661 assign__types_3929((&cycleDetectorCopy), (&(*cycleDetector)));
8662 {
8663 NIM_BOOL T16_;
8664 T16_ = (NIM_BOOL)0;
8665 T16_ = isTupleRecursive__types_3902((*t).sons->data[i], (&cycleDetectorCopy));
8666 if (!T16_) goto LA17_;
8667 result = NIM_TRUE;
8668 goto BeforeRet_;
8669 }
8670 LA17_: ;
8671 i_2 += ((NI) 1);
8672 } LA13: ;
8673 }
8674 }
8675 }
8676 break;
8677 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
8678 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
8679 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
8680 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
8681 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
8682 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
8683 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
8684 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
8685 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
8686 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
8687 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
8688 {
8689 tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
8690 T20_ = NIM_NIL;
8691 T20_ = lastSon__ast_3743(t);
8692 result = isTupleRecursive__types_3902(T20_, cycleDetector);
8693 goto BeforeRet_;
8694 }
8695 break;
8696 default:
8697 {
8698 result = NIM_FALSE;
8699 goto BeforeRet_;
8700 }
8701 break;
8702 }
8703 }BeforeRet_: ;
8704 return result;
8705 }
N_NIMCALL(NIM_BOOL,isTupleRecursive__types_3996)8706 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTupleRecursive__types_3996)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8707 NIM_BOOL result;
8708 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA cycleDetector;
8709 result = (NIM_BOOL)0;
8710 nimZeroMem((void*)(&cycleDetector), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
8711 initIntSet__pureZcollectionsZintsets_238((&cycleDetector));
8712 result = isTupleRecursive__types_3902(t, (&cycleDetector));
8713 return result;
8714 }
N_NIMCALL(void,addTypeHeader__types_216)8715 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) {
8716 NimStringDesc* T1_;
8717 T1_ = NIM_NIL;
8718 T1_ = typeToString__types_50(typ, prefer);
8719 unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T1_ ? T1_->Sup.len : 0) + 0));
8720 appendString((*result), T1_);
8721 {
8722 if (!getDeclarationPath) goto LA4_;
8723 addDeclaredLoc__astmsgs_17(result, conf, (*typ).sym);
8724 }
8725 LA4_: ;
8726 }
N_NIMCALL(NI64,computeSize__types_3317)8727 N_LIB_PRIVATE N_NIMCALL(NI64, computeSize__types_3317)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
8728 NI64 result;
8729 result = (NI64)0;
8730 computeSizeAlign__types_2924(conf, typ);
8731 result = (*typ).size;
8732 return result;
8733 }
N_NIMCALL(NIM_BOOL,isException__types_4000)8734 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isException__types_4000)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8735 NIM_BOOL result;
8736 tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
8737 { result = (NIM_BOOL)0;
8738 t_2 = skipTypes__ast_3735(t, TM__PpBJsMJcrcWrpLTS6mci1g_167);
8739 {
8740 while (1) {
8741 if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA2;
8742 {
8743 NIM_BOOL T5_;
8744 T5_ = (NIM_BOOL)0;
8745 T5_ = !(((*t_2).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8746 if (!(T5_)) goto LA6_;
8747 T5_ = ((*(*t_2).sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 268));
8748 LA6_: ;
8749 if (!T5_) goto LA7_;
8750 result = NIM_TRUE;
8751 goto BeforeRet_;
8752 }
8753 LA7_: ;
8754 {
8755 if (!((*t_2).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA11_;
8756 goto LA1;
8757 }
8758 LA11_: ;
8759 t_2 = skipTypes__ast_3735((*t_2).sons->data[((NI) 0)], TM__PpBJsMJcrcWrpLTS6mci1g_215);
8760 } LA2: ;
8761 } LA1: ;
8762 result = NIM_FALSE;
8763 goto BeforeRet_;
8764 }BeforeRet_: ;
8765 return result;
8766 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,safeSkipTypes__types_3552)8767 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, safeSkipTypes__types_3552)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds) {
8768 tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
8769 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA seen;
8770 result = NIM_NIL;
8771 result = t;
8772 nimZeroMem((void*)(&seen), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
8773 initIntSet__pureZcollectionsZintsets_238((&seen));
8774 {
8775 while (1) {
8776 NIM_BOOL T3_;
8777 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym529_;
8778 NIM_BOOL T5_;
8779 T3_ = (NIM_BOOL)0;
8780 T3_ = ((kinds[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0);
8781 if (!(T3_)) goto LA4_;
8782 xX60gensym529_ = result;
8783 T5_ = (NIM_BOOL)0;
8784 T5_ = containsOrIncl__astalgo_402((&seen), (NI)((NI)((NU64)(((NI) ((*xX60gensym529_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym529_).Sup.itemId.item))));
8785 T3_ = !(T5_);
8786 LA4_: ;
8787 if (!T3_) goto LA2;
8788 result = lastSon__ast_3743(result);
8789 } LA2: ;
8790 }
8791 return result;
8792 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,lookupFieldAgain__types_4062)8793 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupFieldAgain__types_4062)(tyObject_TType__facALICuu8zUj0hjvbTLFg* ty, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field) {
8794 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
8795 tyObject_TType__facALICuu8zUj0hjvbTLFg* ty_2;
8796 result = NIM_NIL;
8797 ty_2 = ty;
8798 {
8799 while (1) {
8800 if (!!((ty_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA2;
8801 ty_2 = skipTypes__ast_3735(ty_2, TM__PpBJsMJcrcWrpLTS6mci1g_5);
8802 result = lookupInRecord__astalgo_84((*ty_2).n, (*field).name);
8803 {
8804 if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA5_;
8805 goto LA1;
8806 }
8807 LA5_: ;
8808 ty_2 = (*ty_2).sons->data[((NI) 0)];
8809 } LA2: ;
8810 } LA1: ;
8811 {
8812 if (!(result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA9_;
8813 result = field;
8814 }
8815 LA9_: ;
8816 return result;
8817 }
N_NIMCALL(tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw,analyseObjectWithTypeFieldAux__types_520)8818 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw, analyseObjectWithTypeFieldAux__types_520)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker) {
8819 tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw result;
8820 tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw res;
8821 { result = (tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw)0;
8822 res = (tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw)0;
8823 result = ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 0);
8824 {
8825 if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
8826 goto BeforeRet_;
8827 }
8828 LA3_: ;
8829 switch ((*t).kind) {
8830 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
8831 {
8832 {
8833 if (!!(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA8_;
8834 {
8835 NIM_BOOL T12_;
8836 T12_ = (NIM_BOOL)0;
8837 T12_ = searchTypeNodeForAux__types_397((*t).n, isObjectWithTypeFieldPredicate__types_485, marker);
8838 if (!T12_) goto LA13_;
8839 result = ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 2);
8840 goto BeforeRet_;
8841 }
8842 LA13_: ;
8843 }
8844 LA8_: ;
8845 {
8846 NI i;
8847 NI colontmp_;
8848 NI i_2;
8849 i = (NI)0;
8850 colontmp_ = (NI)0;
8851 colontmp_ = len__ast_4002(t);
8852 i_2 = ((NI) 0);
8853 {
8854 while (1) {
8855 tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
8856 if (!(i_2 < colontmp_)) goto LA17;
8857 i = i_2;
8858 x = (*t).sons->data[i];
8859 {
8860 if (!!((x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA20_;
8861 x = skipTypes__ast_3735(x, TM__PpBJsMJcrcWrpLTS6mci1g_5);
8862 }
8863 LA20_: ;
8864 res = analyseObjectWithTypeFieldAux__types_520(x, marker);
8865 {
8866 if (!(res == ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 2))) goto LA24_;
8867 result = ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 2);
8868 goto BeforeRet_;
8869 }
8870 LA24_: ;
8871 {
8872 if (!(res == ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 1))) goto LA28_;
8873 result = ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 1);
8874 }
8875 LA28_: ;
8876 i_2 += ((NI) 1);
8877 } LA17: ;
8878 }
8879 }
8880 {
8881 if (!(result == ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 0))) goto LA32_;
8882 {
8883 NIM_BOOL T36_;
8884 T36_ = (NIM_BOOL)0;
8885 T36_ = isObjectWithTypeFieldPredicate__types_485(t);
8886 if (!T36_) goto LA37_;
8887 result = ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 1);
8888 }
8889 LA37_: ;
8890 }
8891 LA32_: ;
8892 }
8893 break;
8894 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
8895 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
8896 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
8897 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
8898 {
8899 tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
8900 T40_ = NIM_NIL;
8901 T40_ = lastSon__ast_3743(t);
8902 result = analyseObjectWithTypeFieldAux__types_520(T40_, marker);
8903 }
8904 break;
8905 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
8906 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
8907 {
8908 {
8909 NI i_3;
8910 NI colontmp__2;
8911 NI i_4;
8912 i_3 = (NI)0;
8913 colontmp__2 = (NI)0;
8914 colontmp__2 = len__ast_4002(t);
8915 i_4 = ((NI) 0);
8916 {
8917 while (1) {
8918 if (!(i_4 < colontmp__2)) goto LA44;
8919 i_3 = i_4;
8920 res = analyseObjectWithTypeFieldAux__types_520((*t).sons->data[i_3], marker);
8921 {
8922 if (!!((res == ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 0)))) goto LA47_;
8923 result = ((tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw) 2);
8924 goto BeforeRet_;
8925 }
8926 LA47_: ;
8927 i_4 += ((NI) 1);
8928 } LA44: ;
8929 }
8930 }
8931 }
8932 break;
8933 default:
8934 {
8935 }
8936 break;
8937 }
8938 }BeforeRet_: ;
8939 return result;
8940 }
N_NIMCALL(tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw,analyseObjectWithTypeField__types_585)8941 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw, analyseObjectWithTypeField__types_585)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8942 tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw result;
8943 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
8944 result = (tyEnum_TTypeFieldResult__aBXTX9cIKT9b0yNlXSu9aPT9cw)0;
8945 nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
8946 initIntSet__pureZcollectionsZintsets_238((&marker));
8947 result = analyseObjectWithTypeFieldAux__types_520(t, (&marker));
8948 return result;
8949 }
N_NIMCALL(NIM_BOOL,isHiddenPointer__types_651)8950 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isHiddenPointer__types_651)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
8951 NIM_BOOL result;
8952 result = (NIM_BOOL)0;
8953 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));
8954 return result;
8955 }
N_NIMCALL(NIM_BOOL,containsHiddenPointer__types_658)8956 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsHiddenPointer__types_658)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
8957 NIM_BOOL result;
8958 result = (NIM_BOOL)0;
8959 result = searchTypeFor__types_470(typ, isHiddenPointer__types_651);
8960 return result;
8961 }
N_NIMCALL(NIM_BOOL,sameBackendType__types_2650)8962 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameBackendType__types_2650)(tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y) {
8963 NIM_BOOL result;
8964 tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg c;
8965 result = (NIM_BOOL)0;
8966 nimZeroMem((void*)(&c), sizeof(tyObject_TSameTypeClosure__UjPoGeLOOcdElE05vDOvTg));
8967 initSameTypeClosure__types_1699((&c));
8968 c.flags |= ((NU8)1)<<((((tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw) 0)) & 7);
8969 c.cmp = ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 1);
8970 result = sameTypeAux__types_1803(x, y, (&c));
8971 return result;
8972 }
N_NIMCALL(void,compiler_typesDatInit000)8973 N_LIB_PRIVATE N_NIMCALL(void, compiler_typesDatInit000)(void) {
8974 static TNimNode* TM__PpBJsMJcrcWrpLTS6mci1g_3_2[2];
8975 static TNimNode* TM__PpBJsMJcrcWrpLTS6mci1g_6_2[2];
8976 static TNimNode* TM__PpBJsMJcrcWrpLTS6mci1g_7_8[8];
8977 NI TM__PpBJsMJcrcWrpLTS6mci1g_9;
8978 static char* NIM_CONST TM__PpBJsMJcrcWrpLTS6mci1g_8[8] = {
8979 "preferName",
8980 "preferDesc",
8981 "preferExported",
8982 "preferModuleInfo",
8983 "preferGenericArg",
8984 "preferTypeName",
8985 "preferResolved",
8986 "preferMixed"};
8987 static TNimNode TM__PpBJsMJcrcWrpLTS6mci1g_0[16];
8988 NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_.size = sizeof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ);
8989 NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_.align = NIM_ALIGNOF(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ);
8990 NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_.kind = 18;
8991 NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_.base = 0;
8992 NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_.flags = 1;
8993 TM__PpBJsMJcrcWrpLTS6mci1g_3_2[0] = &TM__PpBJsMJcrcWrpLTS6mci1g_0[1];
8994 TM__PpBJsMJcrcWrpLTS6mci1g_0[1].kind = 1;
8995 TM__PpBJsMJcrcWrpLTS6mci1g_0[1].offset = offsetof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ, Field0);
8996 TM__PpBJsMJcrcWrpLTS6mci1g_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
8997 TM__PpBJsMJcrcWrpLTS6mci1g_0[1].name = "Field0";
8998 TM__PpBJsMJcrcWrpLTS6mci1g_3_2[1] = &TM__PpBJsMJcrcWrpLTS6mci1g_0[2];
8999 TM__PpBJsMJcrcWrpLTS6mci1g_0[2].kind = 1;
9000 TM__PpBJsMJcrcWrpLTS6mci1g_0[2].offset = offsetof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ, Field1);
9001 TM__PpBJsMJcrcWrpLTS6mci1g_0[2].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
9002 TM__PpBJsMJcrcWrpLTS6mci1g_0[2].name = "Field1";
9003 TM__PpBJsMJcrcWrpLTS6mci1g_0[0].len = 2; TM__PpBJsMJcrcWrpLTS6mci1g_0[0].kind = 2; TM__PpBJsMJcrcWrpLTS6mci1g_0[0].sons = &TM__PpBJsMJcrcWrpLTS6mci1g_3_2[0];
9004 NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_.node = &TM__PpBJsMJcrcWrpLTS6mci1g_0[0];
9005 NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_.size = sizeof(tySequence__8Np6tlClE5az1CyqZdN19bQ*);
9006 NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_.align = NIM_ALIGNOF(tySequence__8Np6tlClE5az1CyqZdN19bQ*);
9007 NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_.kind = 24;
9008 NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_.base = (&NTItupleLa58int_b58intT__1v9bKyksXWMsm0vNwmZ4EuQ_);
9009 NTIseqLtupleLa58int_b58intTT__8Np6tlClE5az1CyqZdN19bQ_.marker = Marker_tySequence__8Np6tlClE5az1CyqZdN19bQ;
9010 NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_.size = sizeof(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw);
9011 NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_.align = NIM_ALIGNOF(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw);
9012 NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_.kind = 17;
9013 NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
9014 NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_.flags = 1;
9015 TM__PpBJsMJcrcWrpLTS6mci1g_6_2[0] = &TM__PpBJsMJcrcWrpLTS6mci1g_0[4];
9016 TM__PpBJsMJcrcWrpLTS6mci1g_0[4].kind = 1;
9017 TM__PpBJsMJcrcWrpLTS6mci1g_0[4].offset = offsetof(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw, colonstate_);
9018 TM__PpBJsMJcrcWrpLTS6mci1g_0[4].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
9019 TM__PpBJsMJcrcWrpLTS6mci1g_0[4].name = ":state";
9020 TM__PpBJsMJcrcWrpLTS6mci1g_6_2[1] = &TM__PpBJsMJcrcWrpLTS6mci1g_0[5];
9021 NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_.size = sizeof(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw);
9022 NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_.align = NIM_ALIGNOF(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw);
9023 NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_.kind = 14;
9024 NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_.base = 0;
9025 NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_.flags = 3;
9026 for (TM__PpBJsMJcrcWrpLTS6mci1g_9 = 0; TM__PpBJsMJcrcWrpLTS6mci1g_9 < 8; TM__PpBJsMJcrcWrpLTS6mci1g_9++) {
9027 TM__PpBJsMJcrcWrpLTS6mci1g_0[TM__PpBJsMJcrcWrpLTS6mci1g_9+6].kind = 1;
9028 TM__PpBJsMJcrcWrpLTS6mci1g_0[TM__PpBJsMJcrcWrpLTS6mci1g_9+6].offset = TM__PpBJsMJcrcWrpLTS6mci1g_9;
9029 TM__PpBJsMJcrcWrpLTS6mci1g_0[TM__PpBJsMJcrcWrpLTS6mci1g_9+6].name = TM__PpBJsMJcrcWrpLTS6mci1g_8[TM__PpBJsMJcrcWrpLTS6mci1g_9];
9030 TM__PpBJsMJcrcWrpLTS6mci1g_7_8[TM__PpBJsMJcrcWrpLTS6mci1g_9] = &TM__PpBJsMJcrcWrpLTS6mci1g_0[TM__PpBJsMJcrcWrpLTS6mci1g_9+6];
9031 }
9032 TM__PpBJsMJcrcWrpLTS6mci1g_0[14].len = 8; TM__PpBJsMJcrcWrpLTS6mci1g_0[14].kind = 2; TM__PpBJsMJcrcWrpLTS6mci1g_0[14].sons = &TM__PpBJsMJcrcWrpLTS6mci1g_7_8[0];
9033 NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_.node = &TM__PpBJsMJcrcWrpLTS6mci1g_0[14];
9034 TM__PpBJsMJcrcWrpLTS6mci1g_0[5].kind = 1;
9035 TM__PpBJsMJcrcWrpLTS6mci1g_0[5].offset = offsetof(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw, preferToplevel1);
9036 TM__PpBJsMJcrcWrpLTS6mci1g_0[5].typ = (&NTItprefereddesc__tnd4qt9c4xddV8oKV5zyusw_);
9037 TM__PpBJsMJcrcWrpLTS6mci1g_0[5].name = "preferToplevel1";
9038 TM__PpBJsMJcrcWrpLTS6mci1g_0[3].len = 2; TM__PpBJsMJcrcWrpLTS6mci1g_0[3].kind = 2; TM__PpBJsMJcrcWrpLTS6mci1g_0[3].sons = &TM__PpBJsMJcrcWrpLTS6mci1g_6_2[0];
9039 NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_.node = &TM__PpBJsMJcrcWrpLTS6mci1g_0[3];
9040 NTIrefobject__ik3gfZ9aJJHPxASsunXJrEA_.size = sizeof(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw*);
9041 NTIrefobject__ik3gfZ9aJJHPxASsunXJrEA_.align = NIM_ALIGNOF(tyObject_Env_typesdotnim_typeToString___aFpjIZ5GhrcXv4WiFpqyxw*);
9042 NTIrefobject__ik3gfZ9aJJHPxASsunXJrEA_.kind = 22;
9043 NTIrefobject__ik3gfZ9aJJHPxASsunXJrEA_.base = (&NTIobject__aFpjIZ5GhrcXv4WiFpqyxw_);
9044 NTIrefobject__ik3gfZ9aJJHPxASsunXJrEA_.marker = Marker_tyRef__ik3gfZ9aJJHPxASsunXJrEA;
9045 NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_.size = sizeof(tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA);
9046 NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_.align = NIM_ALIGNOF(tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA);
9047 NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_.kind = 17;
9048 NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_.base = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
9049 TM__PpBJsMJcrcWrpLTS6mci1g_0[15].len = 0; TM__PpBJsMJcrcWrpLTS6mci1g_0[15].kind = 2;
9050 NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_.node = &TM__PpBJsMJcrcWrpLTS6mci1g_0[15];
9051 NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_.size = sizeof(tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA*);
9052 NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_.align = NIM_ALIGNOF(tyObject_IllegalTypeRecursionError__eSlcgGR6dDg1zp0Mnw4yVA*);
9053 NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_.kind = 22;
9054 NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_.base = (&NTIillegaltyperecursionerror__eSlcgGR6dDg1zp0Mnw4yVA_);
9055 NTIrefillegaltyperecursionerror__SFgbIvdx8bC9cxnXgi8Zn1A_.marker = Marker_tyRef__SFgbIvdx8bC9cxnXgi8Zn1A;
9056 }
9057
9058