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