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