1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
22 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
23 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
24 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
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_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
36 typedef struct NimStringDesc NimStringDesc;
37 typedef struct TGenericSeq TGenericSeq;
38 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
39 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
40 typedef struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug;
41 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
42 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
43 typedef struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw;
44 typedef struct tySequence__eiMlYcU7NrAOGD2H36QOOQ tySequence__eiMlYcU7NrAOGD2H36QOOQ;
45 typedef struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ;
46 typedef struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg;
47 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
48 typedef struct tySequence__oYkV9aFZe0MXcEAprJaOUsA tySequence__oYkV9aFZe0MXcEAprJaOUsA;
49 typedef struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q;
50 typedef struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA tySequence__Mh9agqM29bm9aP5AUL1x7dZGA;
51 typedef struct tySequence__arD7Tw6eD6lvOczWZl9buNg tySequence__arD7Tw6eD6lvOczWZl9buNg;
52 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
53 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
54 typedef struct tySequence__jWKvSdankQPoT5bw9cBU9aiw tySequence__jWKvSdankQPoT5bw9cBU9aiw;
55 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
56 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
57 typedef struct tySequence__xSqu3cxq5WeFlOO3YgE6yA tySequence__xSqu3cxq5WeFlOO3YgE6yA;
58 typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w;
59 typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
60 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
61 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
62 typedef struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ;
63 typedef struct tySequence__Hkw5zrAn53wlKDHdJF1GFA tySequence__Hkw5zrAn53wlKDHdJF1GFA;
64 typedef struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ;
65 typedef struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w;
66 typedef struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg;
67 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
68 typedef struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ;
69 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
70 typedef struct tyTuple__KNXySARiHvEh2wA9asnyYmw tyTuple__KNXySARiHvEh2wA9asnyYmw;
71 typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
72 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
73 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
74 typedef struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag tyTuple__Y6Ewh3MCxsjd1bsriN6Gag;
75 typedef struct tySequence__vGU8AyGT6KxtLJwEg0BpNw tySequence__vGU8AyGT6KxtLJwEg0BpNw;
76 typedef struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw tyTuple__KvKIqRIx9anKcDMu8DPSkHw;
77 typedef NU8 tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog;
78 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
79 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
80 NI elems;
81 NI counter;
82 NI max;
83 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
84 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
85 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
86 };
87 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
88 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
89 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
90 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
91 struct TNimType {
92 NI size;
93 NI align;
94 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
95 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
96 TNimType* base;
97 TNimNode* node;
98 void* finalizer;
99 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
100 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
101 };
102 struct RootObj {
103 TNimType* m_type;
104 };
105 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
106 NI32 module;
107 NI32 item;
108 };
109 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
110   RootObj Sup;
111 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
112 };
113 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
114 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
115 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
116 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
117 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
118 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
119 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
120 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
121 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
122 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
123 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
124 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
125 };
126 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
127   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
128 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
129 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
130 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
131 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
132 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
133 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
134 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
135 NI64 size;
136 NI16 align;
137 NI16 paddingAtEnd;
138 NI16 lockLevel;
139 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
140 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
141 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
142 };
143 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
144 NU16 line;
145 NI16 col;
146 NI32 fileIndex;
147 };
148 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
149 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
150 struct TGenericSeq {
151 NI len;
152 NI reserved;
153 };
154 struct NimStringDesc {
155   TGenericSeq Sup;
156 NIM_CHAR data[SEQ_DECL_SIZE];
157 };
158 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
159 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
160 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
161 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
162 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
163 union{
164 struct {NI64 intVal;
165 } _kind_1;
166 struct {NF floatVal;
167 } _kind_2;
168 struct {NimStringDesc* strVal;
169 } _kind_3;
170 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
171 } _kind_4;
172 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
173 } _kind_5;
174 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
175 } _kind_6;
176 };
177 };
178 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
179 typedef NU8 tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg;
180 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
181 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
182   RootObj Sup;
183 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
184 };
185 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__d88NmFOoQ1OEoX9af4f9aptg[38];
186 struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q {
187 NI counter;
188 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* data;
189 };
190 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__RcJNn9bSvWdJgUmA1O6sbHA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
191 typedef NU32 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ;
192 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__39auogS0nN05zO6JrT7za9cQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
193 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__DZXD9cPwIfL76eNszoUR9aVA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
194 typedef struct {
195 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
196 void* ClE_0;
197 } tyProc__7JwrY3AhkVNlleAJXClX9cw;
198 typedef NU32 tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
199 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__qlV9aWvA5wrWVg9bI5PqwJyA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
200 typedef N_NIMCALL_PTR(tyObject_TType__facALICuu8zUj0hjvbTLFg*, tyProc__IDzB9bjws1yntQXPpMRrBvA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
201 typedef struct {
202 N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
203 void* ClE_0;
204 } tyProc__3cacbJ4la9bDJNibHybQSnA;
205 typedef struct {
206 N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, void* ClE_0);
207 void* ClE_0;
208 } tyProc__fMj9boIZZOt9cLWRnD3rtKhA;
209 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
210 NI counter;
211 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
212 };
213 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
214 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dc, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op, NI col);
215 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
216 struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w {
217 tySequence__Bis5AbpONWcIRrPyPJS8Yw* data;
218 NI counter;
219 };
220 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
221 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
222 NI counter;
223 };
224 struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ {
225 tySequence__Hkw5zrAn53wlKDHdJF1GFA* data;
226 NI counter;
227 };
228 struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug {
229   tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
230 tyObject_TType__facALICuu8zUj0hjvbTLFg* enforceVoidContext;
231 tyObject_TType__facALICuu8zUj0hjvbTLFg* voidType;
232 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
233 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope;
234 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* moduleScope;
235 tySequence__eiMlYcU7NrAOGD2H36QOOQ* imports;
236 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* topLevelScope;
237 tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
238 tyArray__d88NmFOoQ1OEoX9af4f9aptg intTypeCache;
239 tyObject_TType__facALICuu8zUj0hjvbTLFg* nilTypeCache;
240 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* matchedConcept;
241 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* friendModules;
242 NI instCounter;
243 NI* templInstCounter;
244 NI inGenericContext;
245 NI inStaticContext;
246 NI inUnrolledContext;
247 NI compilesContextId;
248 NI compilesContextIdGenerator;
249 NI inGenericInst;
250 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* converters;
251 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* patterns;
252 tySequence__oYkV9aFZe0MXcEAprJaOUsA* optionStack;
253 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMapping;
254 tySequence__arD7Tw6eD6lvOczWZl9buNg* libs;
255 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstExpr;
256 tyProc__39auogS0nN05zO6JrT7za9cQ semExpr;
257 tyProc__39auogS0nN05zO6JrT7za9cQ semTryExpr;
258 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semTryConstExpr;
259 tyProc__DZXD9cPwIfL76eNszoUR9aVA computeRequiresInit;
260 tyProc__7JwrY3AhkVNlleAJXClX9cw hasUnresolvedArgs;
261 tyProc__39auogS0nN05zO6JrT7za9cQ semOperand;
262 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstBoolExpr;
263 tyProc__qlV9aWvA5wrWVg9bI5PqwJyA semOverloadedCall;
264 tyProc__IDzB9bjws1yntQXPpMRrBvA semTypeNode;
265 tyProc__3cacbJ4la9bDJNibHybQSnA semInferredLambda;
266 tyProc__fMj9boIZZOt9cLWRnD3rtKhA semGenerateInstance;
267 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles;
268 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA pureEnumFields;
269 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA userPragmas;
270 tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* evalContext;
271 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents;
272 tySequence__jWKvSdankQPoT5bw9cBU9aiw* generics;
273 NI topStmts;
274 NI lastGenericIdx;
275 NI hloLoopDetector;
276 NI inParallelStmt;
277 tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ instTypeBoundOp;
278 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* selfName;
279 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
280 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
281 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA signatures;
282 NimStringDesc* recursiveDep;
283 NIM_BOOL suggestionsMade;
284 NIM_BOOL isAmbiguous;
285 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
286 NI inTypeContext;
287 NI inConceptDecl;
288 tySequence__xSqu3cxq5WeFlOO3YgE6yA* unusedImports;
289 tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections;
290 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap;
291 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastTLineInfo;
292 tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ sideEffects;
293 NI inUncheckedAssignSection;
294 };
295 typedef NU8 tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
296 typedef NU8 tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg;
297 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
298 typedef NU8 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ;
299 struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ {
300 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
301 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ mode;
302 union{
303 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported;
304 } _mode_2;
305 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
306 } _mode_3;
307 };
308 };
309 struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg {
310 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key;
311 RootObj* val;
312 };
313 struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ {
314 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym;
315 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
316 };
317 struct tyTuple__KNXySARiHvEh2wA9asnyYmw {
318 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
319 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
320 };
321 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
322 NI Field0;
323 NI Field1;
324 };
325 struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
326 NI Field0;
327 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
328 };
329 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
330 NI Field0;
331 NI Field1;
332 NI Field2;
333 };
334 struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw {
335 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
336 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
337 };
338 struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag {
339 NI Field0;
340 NI Field1;
341 tySequence__vGU8AyGT6KxtLJwEg0BpNw* Field2;
342 };
343 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
344   TGenericSeq Sup;
345   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
346 };
347 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
348   TGenericSeq Sup;
349   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
350 };
351 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
352   TGenericSeq Sup;
353   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
354 };
355 struct tySequence__eiMlYcU7NrAOGD2H36QOOQ {
356   TGenericSeq Sup;
357   tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ data[SEQ_DECL_SIZE];
358 };
359 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
360   TGenericSeq Sup;
361   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
362 };
363 struct tySequence__oYkV9aFZe0MXcEAprJaOUsA {
364   TGenericSeq Sup;
365   tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* data[SEQ_DECL_SIZE];
366 };
367 struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA {
368   TGenericSeq Sup;
369   tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
370 };
371 struct tySequence__arD7Tw6eD6lvOczWZl9buNg {
372   TGenericSeq Sup;
373   tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* data[SEQ_DECL_SIZE];
374 };
375 struct tySequence__jWKvSdankQPoT5bw9cBU9aiw {
376   TGenericSeq Sup;
377   tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE];
378 };
379 struct tySequence__xSqu3cxq5WeFlOO3YgE6yA {
380   TGenericSeq Sup;
381   tyTuple__KNXySARiHvEh2wA9asnyYmw data[SEQ_DECL_SIZE];
382 };
383 struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
384   TGenericSeq Sup;
385   tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];
386 };
387 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
388   TGenericSeq Sup;
389   tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
390 };
391 struct tySequence__vGU8AyGT6KxtLJwEg0BpNw {
392   TGenericSeq Sup;
393   tyTuple__KvKIqRIx9anKcDMu8DPSkHw data[SEQ_DECL_SIZE];
394 };
395 struct tySequence__Hkw5zrAn53wlKDHdJF1GFA {
396   TGenericSeq Sup;
397   tyTuple__Y6Ewh3MCxsjd1bsriN6Gag data[SEQ_DECL_SIZE];
398 };
399 static N_INLINE(void, nimZeroMem)(void* p, NI size);
400 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
401 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
402 N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
403 N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog, classifyViewTypeAux__typeallowed_503)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
404 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
405 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
406 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
407 static N_INLINE(void, combine__typeallowed_486)(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog* dest, tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog b);
408 N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog, classifyViewTypeNode__typeallowed_506)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
409 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
410 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
411 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
412 N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog, classifyViewType__typeallowed_564)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
413 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, typeAllowedAux__typeallowed_19)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg flags);
414 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
415 static N_INLINE(NIM_BOOL, isInlineIterator__ast_4989)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
416 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, typeAllowedNode__typeallowed_25)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg flags);
417 N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog, directViewType__typeallowed_568)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
418 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__FLm9aU7VXleJfAvJR1cpHXQ_2 = {
419 0x10, 0xa8, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00,
420 0x00}
421 ;
422 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__FLm9aU7VXleJfAvJR1cpHXQ_3 = {
423 0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
424 0x00}
425 ;
426 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__FLm9aU7VXleJfAvJR1cpHXQ_4 = {
427 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
428 0x00}
429 ;
N_INLINE(void,nimSetMem__systemZmemory_7)430 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
431 	void* T1_;
432 	T1_ = (void*)0;
433 	T1_ = memset(a, v, ((size_t) (size)));
434 }
N_INLINE(void,nimZeroMem)435 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
436 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
437 }
N_INLINE(void,initIntSet__pureZcollectionsZintsets_238)438 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
439 	initPackedSet__pureZcollectionsZintsets_16(Result);
440 }
N_INLINE(NI,len__ast_4002)441 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
442 	NI result;
443 	NI T1_;
444 	result = (NI)0;
445 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
446 	result = T1_;
447 	return result;
448 }
N_INLINE(void,combine__typeallowed_486)449 static N_INLINE(void, combine__typeallowed_486)(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog* dest, tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog b) {
450 	switch ((*dest)) {
451 	case ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0):
452 	case ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 2):
453 	{
454 		(*dest) = b;
455 	}
456 	break;
457 	case ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 1):
458 	{
459 		{
460 			if (!(b == ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 2))) goto LA5_;
461 			(*dest) = b;
462 		}
463 		LA5_: ;
464 	}
465 	break;
466 	}
467 }
N_INLINE(NI,len__ast_3198)468 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
469 	NI result;
470 	NI T1_;
471 	result = (NI)0;
472 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
473 	result = T1_;
474 	return result;
475 }
N_INLINE(NI,safeLen__ast_3191)476 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
477 	NI result;
478 	result = (NI)0;
479 	{
480 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
481 		result = ((NI) 0);
482 	}
483 	goto LA1_;
484 	LA3_: ;
485 	{
486 		result = len__ast_3198(n);
487 	}
488 	LA1_: ;
489 	return result;
490 }
N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog,classifyViewTypeNode__typeallowed_506)491 N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog, classifyViewTypeNode__typeallowed_506)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
492 	tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog result;
493 	result = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
494 	switch ((*n).kind) {
495 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
496 	{
497 		result = classifyViewTypeAux__typeallowed_503(marker, (*n).typ);
498 	}
499 	break;
500 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
501 	{
502 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
503 		T3_ = NIM_NIL;
504 		T3_ = lastSon__ast_4832(n);
505 		result = classifyViewTypeNode__typeallowed_506(marker, T3_);
506 	}
507 	break;
508 	default:
509 	{
510 		result = ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0);
511 		{
512 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
513 			child = NIM_NIL;
514 			{
515 				NI i;
516 				NI colontmp_;
517 				NI i_2;
518 				i = (NI)0;
519 				colontmp_ = (NI)0;
520 				colontmp_ = safeLen__ast_3191(n);
521 				i_2 = ((NI) 0);
522 				{
523 					while (1) {
524 						tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T9_;
525 						if (!(i_2 < colontmp_)) goto LA8;
526 						i = i_2;
527 						child = (*n)._kind_6.sons->data[i];
528 						T9_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
529 						T9_ = classifyViewTypeNode__typeallowed_506(marker, child);
530 						combine__typeallowed_486((&result), T9_);
531 						{
532 							if (!(result == ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 2))) goto LA12_;
533 							goto LA5;
534 						}
535 						LA12_: ;
536 						i_2 += ((NI) 1);
537 					} LA8: ;
538 				}
539 			}
540 		} LA5: ;
541 	}
542 	break;
543 	}
544 	return result;
545 }
N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog,classifyViewTypeAux__typeallowed_503)546 N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog, classifyViewTypeAux__typeallowed_503)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
547 	tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog result;
548 {	result = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
549 	{
550 		tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym87_;
551 		NIM_BOOL T3_;
552 		xX60gensym87_ = t;
553 		T3_ = (NIM_BOOL)0;
554 		T3_ = containsOrIncl__astalgo_402(marker, (NI)((NI)((NU32)(((NI) ((*xX60gensym87_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym87_).Sup.itemId.item))));
555 		if (!T3_) goto LA4_;
556 		result = ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0);
557 		goto BeforeRet_;
558 	}
559 	LA4_: ;
560 	switch ((*t).kind) {
561 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
562 	{
563 		result = ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 2);
564 	}
565 	break;
566 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
567 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
568 	{
569 		result = ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 1);
570 	}
571 	break;
572 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
573 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
574 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
575 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
576 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
577 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
578 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
579 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
580 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
581 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
582 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
583 	{
584 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
585 		T9_ = NIM_NIL;
586 		T9_ = lastSon__ast_3743(t);
587 		result = classifyViewTypeAux__typeallowed_503(marker, T9_);
588 	}
589 	break;
590 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
591 	{
592 		{
593 			NI T13_;
594 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
595 			T13_ = (NI)0;
596 			T13_ = len__ast_4002(t);
597 			if (!(((NI) 0) < T13_)) goto LA14_;
598 			T16_ = NIM_NIL;
599 			T16_ = lastSon__ast_3743(t);
600 			result = classifyViewTypeAux__typeallowed_503(marker, T16_);
601 		}
602 		goto LA11_;
603 		LA14_: ;
604 		{
605 			result = ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0);
606 		}
607 		LA11_: ;
608 	}
609 	break;
610 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
611 	{
612 		result = ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0);
613 		{
614 			NI i;
615 			NI colontmp_;
616 			NI i_2;
617 			i = (NI)0;
618 			colontmp_ = (NI)0;
619 			colontmp_ = len__ast_4002(t);
620 			i_2 = ((NI) 0);
621 			{
622 				while (1) {
623 					tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T22_;
624 					if (!(i_2 < colontmp_)) goto LA21;
625 					i = i_2;
626 					T22_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
627 					T22_ = classifyViewTypeAux__typeallowed_503(marker, (*t).sons->data[i]);
628 					combine__typeallowed_486((&result), T22_);
629 					{
630 						if (!(result == ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 2))) goto LA25_;
631 						goto LA19;
632 					}
633 					LA25_: ;
634 					i_2 += ((NI) 1);
635 				} LA21: ;
636 			}
637 		} LA19: ;
638 	}
639 	break;
640 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
641 	{
642 		result = ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0);
643 		{
644 			if (!!(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA30_;
645 			result = classifyViewTypeNode__typeallowed_506(marker, (*t).n);
646 		}
647 		LA30_: ;
648 		{
649 			tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T36_;
650 			if (!!(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA34_;
651 			T36_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
652 			T36_ = classifyViewTypeAux__typeallowed_503(marker, (*t).sons->data[((NI) 0)]);
653 			combine__typeallowed_486((&result), T36_);
654 		}
655 		LA34_: ;
656 	}
657 	break;
658 	default:
659 	{
660 		result = ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0);
661 	}
662 	break;
663 	}
664 	}BeforeRet_: ;
665 	return result;
666 }
N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog,classifyViewType__typeallowed_564)667 N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog, classifyViewType__typeallowed_564)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
668 	tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog result;
669 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
670 	result = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
671 	nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
672 	initIntSet__pureZcollectionsZintsets_238((&marker));
673 	result = classifyViewTypeAux__typeallowed_503((&marker), t);
674 	return result;
675 }
N_NIMCALL(NIM_BOOL,requiresInit__typeallowed_578)676 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, requiresInit__typeallowed_578)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
677 	NIM_BOOL result;
678 	NIM_BOOL T1_;
679 	tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T3_;
680 	result = (NIM_BOOL)0;
681 	T1_ = (NIM_BOOL)0;
682 	T1_ = !((((*t).flags & 917504) == 0));
683 	if (T1_) goto LA2_;
684 	T3_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
685 	T3_ = classifyViewType__typeallowed_564(t);
686 	T1_ = !((T3_ == ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0)));
687 	LA2_: ;
688 	result = T1_;
689 	return result;
690 }
N_INLINE(NIM_BOOL,isInlineIterator__ast_4989)691 static N_INLINE(NIM_BOOL, isInlineIterator__ast_4989)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
692 	NIM_BOOL result;
693 	NIM_BOOL T1_;
694 	NIM_BOOL T2_;
695 	result = (NIM_BOOL)0;
696 	T1_ = (NIM_BOOL)0;
697 	T2_ = (NIM_BOOL)0;
698 	T2_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
699 	if (!(T2_)) goto LA3_;
700 	T2_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0);
701 	LA3_: ;
702 	T1_ = T2_;
703 	if (!(T1_)) goto LA4_;
704 	T1_ = !(((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
705 	LA4_: ;
706 	result = T1_;
707 	return result;
708 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,typeAllowedNode__typeallowed_25)709 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, typeAllowedNode__typeallowed_25)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg flags) {
710 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
711 	result = NIM_NIL;
712 	{
713 		if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
714 		result = typeAllowedAux__typeallowed_19(marker, (*n).typ, kind, c, flags);
715 		{
716 			if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA7_;
717 			switch ((*n).kind) {
718 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
719 			{
720 			}
721 			break;
722 			default:
723 			{
724 				{
725 					NI i;
726 					NI colontmp_;
727 					NI i_2;
728 					i = (NI)0;
729 					colontmp_ = (NI)0;
730 					colontmp_ = len__ast_3198(n);
731 					i_2 = ((NI) 0);
732 					{
733 						while (1) {
734 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
735 							if (!(i_2 < colontmp_)) goto LA13;
736 							i = i_2;
737 							it = (*n)._kind_6.sons->data[i];
738 							result = typeAllowedNode__typeallowed_25(marker, it, kind, c, flags);
739 							{
740 								if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA16_;
741 								goto LA11;
742 							}
743 							LA16_: ;
744 							i_2 += ((NI) 1);
745 						} LA13: ;
746 					}
747 				} LA11: ;
748 			}
749 			break;
750 			}
751 		}
752 		LA7_: ;
753 	}
754 	LA3_: ;
755 	return result;
756 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,typeAllowedAux__typeallowed_19)757 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, typeAllowedAux__typeallowed_19)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* marker, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg flags) {
758 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
759 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
760 {	result = NIM_NIL;
761 	result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
762 	{
763 		if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
764 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
765 		goto BeforeRet_;
766 	}
767 	LA3_: ;
768 	{
769 		tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym6_;
770 		NIM_BOOL T7_;
771 		xX60gensym6_ = typ;
772 		T7_ = (NIM_BOOL)0;
773 		T7_ = containsOrIncl__astalgo_402(marker, (NI)((NI)((NU32)(((NI) ((*xX60gensym6_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym6_).Sup.itemId.item))));
774 		if (!T7_) goto LA8_;
775 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
776 		goto BeforeRet_;
777 	}
778 	LA8_: ;
779 	t = skipTypes__ast_3735(typ, TM__FLm9aU7VXleJfAvJR1cpHXQ_2);
780 	switch ((*t).kind) {
781 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
782 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
783 	{
784 		{
785 			NIM_BOOL T13_;
786 			T13_ = (NIM_BOOL)0;
787 			T13_ = ((13312 &((NU32)1<<((NU)(kind)&31U)))!=0);
788 			if (!(T13_)) goto LA14_;
789 			T13_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0));
790 			LA14_: ;
791 			if (!T13_) goto LA15_;
792 			result = t;
793 		}
794 		goto LA11_;
795 		LA15_: ;
796 		{
797 			NIM_BOOL T18_;
798 			NIM_BOOL T20_;
799 			NIM_BOOL T21_;
800 			T18_ = (NIM_BOOL)0;
801 			T18_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
802 			if (!(T18_)) goto LA19_;
803 			T20_ = (NIM_BOOL)0;
804 			T21_ = (NIM_BOOL)0;
805 			T21_ = !((kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11)));
806 			if (!(T21_)) goto LA22_;
807 			T21_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0));
808 			LA22_: ;
809 			T20_ = T21_;
810 			if (T20_) goto LA23_;
811 			T20_ = (kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
812 			LA23_: ;
813 			T18_ = T20_;
814 			LA19_: ;
815 			if (!T18_) goto LA24_;
816 			result = t;
817 		}
818 		goto LA11_;
819 		LA24_: ;
820 		{
821 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
822 			t2 = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__FLm9aU7VXleJfAvJR1cpHXQ_2);
823 			switch ((*t2).kind) {
824 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
825 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
826 			{
827 				{
828 					if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 1))&7U)))!=0))) goto LA30_;
829 					result = t2;
830 				}
831 				LA30_: ;
832 			}
833 			break;
834 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
835 			{
836 				{
837 					NIM_BOOL T35_;
838 					NIM_BOOL T36_;
839 					T35_ = (NIM_BOOL)0;
840 					T36_ = (NIM_BOOL)0;
841 					T36_ = !((kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
842 					if (!(T36_)) goto LA37_;
843 					T36_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0));
844 					LA37_: ;
845 					T35_ = T36_;
846 					if (T35_) goto LA38_;
847 					T35_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 3))&7U)))!=0);
848 					LA38_: ;
849 					if (!T35_) goto LA39_;
850 					result = t;
851 				}
852 				goto LA33_;
853 				LA39_: ;
854 				{
855 					result = typeAllowedAux__typeallowed_19(marker, (*t2).sons->data[((NI) 0)], kind, c, (flags | 8));
856 				}
857 				LA33_: ;
858 			}
859 			break;
860 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
861 			{
862 				{
863 					NIM_BOOL T45_;
864 					T45_ = (NIM_BOOL)0;
865 					T45_ = !((kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
866 					if (!(T45_)) goto LA46_;
867 					T45_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0));
868 					LA46_: ;
869 					if (!T45_) goto LA47_;
870 					result = t;
871 				}
872 				goto LA43_;
873 				LA47_: ;
874 				{
875 					result = typeAllowedAux__typeallowed_19(marker, (*t2).sons->data[((NI) 0)], kind, c, flags);
876 				}
877 				LA43_: ;
878 			}
879 			break;
880 			case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
881 			{
882 				result = t;
883 			}
884 			break;
885 			default:
886 			{
887 				{
888 					NIM_BOOL T54_;
889 					T54_ = (NIM_BOOL)0;
890 					T54_ = !(((2056 &((NU32)1<<((NU)(kind)&31U)))!=0));
891 					if (!(T54_)) goto LA55_;
892 					T54_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0));
893 					LA55_: ;
894 					if (!T54_) goto LA56_;
895 					result = t;
896 				}
897 				goto LA52_;
898 				LA56_: ;
899 				{
900 					result = typeAllowedAux__typeallowed_19(marker, t2, kind, c, flags);
901 				}
902 				LA52_: ;
903 			}
904 			break;
905 			}
906 		}
907 		LA11_: ;
908 	}
909 	break;
910 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
911 	{
912 		{
913 			NIM_BOOL T62_;
914 			T62_ = (NIM_BOOL)0;
915 			T62_ = ((1792 &((NU32)1<<((NU)(kind)&31U)))!=0);
916 			if (!(T62_)) goto LA63_;
917 			T62_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 5))&7U)))!=0);
918 			LA63_: ;
919 			if (!T62_) goto LA64_;
920 			result = t;
921 		}
922 		goto LA60_;
923 		LA64_: ;
924 		{
925 			tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg f;
926 			{
927 				NIM_BOOL T69_;
928 				T69_ = (NIM_BOOL)0;
929 				T69_ = isInlineIterator__ast_4989(typ);
930 				if (!(T69_)) goto LA70_;
931 				T69_ = ((3848 &((NU32)1<<((NU)(kind)&31U)))!=0);
932 				LA70_: ;
933 				if (!T69_) goto LA71_;
934 				result = t;
935 			}
936 			LA71_: ;
937 			{
938 				if (!((12288 &((NU32)1<<((NU)(kind)&31U)))!=0)) goto LA75_;
939 				f = (flags | 16);
940 			}
941 			goto LA73_;
942 			LA75_: ;
943 			{
944 				f = flags;
945 			}
946 			LA73_: ;
947 			{
948 				NI i;
949 				NI colontmp_;
950 				NI i_2;
951 				i = (NI)0;
952 				colontmp_ = (NI)0;
953 				colontmp_ = len__ast_4002(t);
954 				i_2 = ((NI) 1);
955 				{
956 					while (1) {
957 						if (!(i_2 < colontmp_)) goto LA80;
958 						i = i_2;
959 						{
960 							if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA83_;
961 							goto LA78;
962 						}
963 						LA83_: ;
964 						result = typeAllowedAux__typeallowed_19(marker, (*t).sons->data[i], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), c, (f & ~ 8));
965 						i_2 += ((NI) 1);
966 					} LA80: ;
967 				}
968 			} LA78: ;
969 			{
970 				NIM_BOOL T87_;
971 				T87_ = (NIM_BOOL)0;
972 				T87_ = (result == 0);
973 				if (!(T87_)) goto LA88_;
974 				T87_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
975 				LA88_: ;
976 				if (!T87_) goto LA89_;
977 				result = typeAllowedAux__typeallowed_19(marker, (*t).sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11), c, flags);
978 			}
979 			LA89_: ;
980 		}
981 		LA60_: ;
982 	}
983 	break;
984 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
985 	{
986 		{
987 			NIM_BOOL T94_;
988 			T94_ = (NIM_BOOL)0;
989 			T94_ = ((1792 &((NU32)1<<((NU)(kind)&31U)))!=0);
990 			if (!(T94_)) goto LA95_;
991 			T94_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 6))&7U)))!=0);
992 			LA95_: ;
993 			if (!T94_) goto LA96_;
994 			result = t;
995 		}
996 		goto LA92_;
997 		LA96_: ;
998 		{
999 			result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
1000 		}
1001 		LA92_: ;
1002 	}
1003 	break;
1004 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
1005 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
1006 	{
1007 		{
1008 			NIM_BOOL T102_;
1009 			T102_ = (NIM_BOOL)0;
1010 			T102_ = !(((2056 &((NU32)1<<((NU)(kind)&31U)))!=0));
1011 			if (T102_) goto LA103_;
1012 			T102_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 4))&7U)))!=0);
1013 			LA103_: ;
1014 			if (!T102_) goto LA104_;
1015 			result = t;
1016 		}
1017 		LA104_: ;
1018 	}
1019 	break;
1020 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64):
1021 	{
1022 		{
1023 			NIM_BOOL T109_;
1024 			T109_ = (NIM_BOOL)0;
1025 			T109_ = !(((8 &((NU32)1<<((NU)(kind)&31U)))!=0));
1026 			if (T109_) goto LA110_;
1027 			T109_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 4))&7U)))!=0);
1028 			LA110_: ;
1029 			if (!T109_) goto LA111_;
1030 			result = t;
1031 		}
1032 		LA111_: ;
1033 	}
1034 	break;
1035 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
1036 	{
1037 		{
1038 			if (!!(((8 &((NU32)1<<((NU)(kind)&31U)))!=0))) goto LA116_;
1039 			result = t;
1040 		}
1041 		LA116_: ;
1042 	}
1043 	break;
1044 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63):
1045 	{
1046 		{
1047 			if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 0))&7U)))!=0))) goto LA121_;
1048 			result = t;
1049 		}
1050 		LA121_: ;
1051 	}
1052 	break;
1053 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
1054 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
1055 	{
1056 		{
1057 			NIM_BOOL T126_;
1058 			T126_ = (NIM_BOOL)0;
1059 			T126_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 25))&63U)))!=0);
1060 			if (T126_) goto LA127_;
1061 			T126_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 2))&7U)))!=0);
1062 			LA127_: ;
1063 			if (!T126_) goto LA128_;
1064 		}
1065 		goto LA124_;
1066 		LA128_: ;
1067 		{
1068 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T133_;
1069 			if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA131_;
1070 			T133_ = NIM_NIL;
1071 			T133_ = lastSon__ast_3743(t);
1072 			result = typeAllowedAux__typeallowed_19(marker, T133_, kind, c, flags);
1073 		}
1074 		goto LA124_;
1075 		LA131_: ;
1076 		{
1077 			if (!!(((2056 &((NU32)1<<((NU)(kind)&31U)))!=0))) goto LA135_;
1078 			result = t;
1079 		}
1080 		goto LA124_;
1081 		LA135_: ;
1082 		LA124_: ;
1083 	}
1084 	break;
1085 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
1086 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
1087 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
1088 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0):
1089 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
1090 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
1091 	{
1092 		result = t;
1093 	}
1094 	break;
1095 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
1096 	{
1097 		{
1098 			NIM_BOOL T141_;
1099 			T141_ = (NIM_BOOL)0;
1100 			T141_ = !((kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10)));
1101 			if (!(T141_)) goto LA142_;
1102 			T141_ = !((kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
1103 			LA142_: ;
1104 			if (!T141_) goto LA143_;
1105 			result = t;
1106 		}
1107 		LA143_: ;
1108 	}
1109 	break;
1110 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
1111 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
1112 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
1113 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
1114 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
1115 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
1116 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
1117 	{
1118 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
1119 	}
1120 	break;
1121 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
1122 	{
1123 		{
1124 			if (!!((kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)))) goto LA149_;
1125 			result = t;
1126 		}
1127 		LA149_: ;
1128 	}
1129 	break;
1130 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
1131 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
1132 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
1133 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
1134 	{
1135 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T152_;
1136 		T152_ = NIM_NIL;
1137 		T152_ = lastSon__ast_3743(t);
1138 		result = typeAllowedAux__typeallowed_19(marker, T152_, kind, c, flags);
1139 	}
1140 	break;
1141 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
1142 	{
1143 		{
1144 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T156_;
1145 			T156_ = NIM_NIL;
1146 			T156_ = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__FLm9aU7VXleJfAvJR1cpHXQ_3);
1147 			if (!!(((*T156_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*T156_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T156_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T156_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*T156_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T156_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*T156_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20)))) goto LA157_;
1148 			result = t;
1149 		}
1150 		LA157_: ;
1151 	}
1152 	break;
1153 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
1154 	{
1155 		{
1156 			NIM_BOOL T162_;
1157 			NIM_BOOL T163_;
1158 			T162_ = (NIM_BOOL)0;
1159 			T163_ = (NIM_BOOL)0;
1160 			T163_ = !((kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
1161 			if (T163_) goto LA164_;
1162 			T163_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 3))&7U)))!=0);
1163 			LA164_: ;
1164 			T162_ = T163_;
1165 			if (!(T162_)) goto LA165_;
1166 			T162_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0));
1167 			LA165_: ;
1168 			if (!T162_) goto LA166_;
1169 			result = t;
1170 		}
1171 		goto LA160_;
1172 		LA166_: ;
1173 		{
1174 			result = typeAllowedAux__typeallowed_19(marker, (*t).sons->data[((NI) 0)], kind, c, (flags | 8));
1175 		}
1176 		LA160_: ;
1177 	}
1178 	break;
1179 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
1180 	{
1181 		{
1182 			NIM_BOOL T172_;
1183 			T172_ = (NIM_BOOL)0;
1184 			T172_ = !((kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
1185 			if (T172_) goto LA173_;
1186 			T172_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 3))&7U)))!=0);
1187 			LA173_: ;
1188 			if (!T172_) goto LA174_;
1189 			result = t;
1190 		}
1191 		goto LA170_;
1192 		LA174_: ;
1193 		{
1194 			result = typeAllowedAux__typeallowed_19(marker, (*t).sons->data[((NI) 0)], kind, c, (flags | 8));
1195 		}
1196 		LA170_: ;
1197 	}
1198 	break;
1199 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
1200 	{
1201 		{
1202 			NIM_BOOL T180_;
1203 			NIM_BOOL T181_;
1204 			T180_ = (NIM_BOOL)0;
1205 			T181_ = (NIM_BOOL)0;
1206 			T181_ = !((kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
1207 			if (T181_) goto LA182_;
1208 			T181_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 3))&7U)))!=0);
1209 			LA182_: ;
1210 			T180_ = T181_;
1211 			if (T180_) goto LA183_;
1212 			T180_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46) || (*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47) || (*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
1213 			LA183_: ;
1214 			if (!T180_) goto LA184_;
1215 			result = t;
1216 		}
1217 		goto LA178_;
1218 		LA184_: ;
1219 		{
1220 			result = typeAllowedAux__typeallowed_19(marker, (*t).sons->data[((NI) 0)], kind, c, flags);
1221 		}
1222 		LA178_: ;
1223 	}
1224 	break;
1225 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
1226 	{
1227 		{
1228 			NIM_BOOL T190_;
1229 			T190_ = (NIM_BOOL)0;
1230 			T190_ = !((kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
1231 			if (!(T190_)) goto LA191_;
1232 			T190_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 1))&7U)))!=0));
1233 			LA191_: ;
1234 			if (!T190_) goto LA192_;
1235 			result = t;
1236 		}
1237 		goto LA188_;
1238 		LA192_: ;
1239 		{
1240 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T195_;
1241 			T195_ = NIM_NIL;
1242 			T195_ = lastSon__ast_3743(t);
1243 			result = typeAllowedAux__typeallowed_19(marker, T195_, kind, c, (flags & ~ 2));
1244 		}
1245 		LA188_: ;
1246 	}
1247 	break;
1248 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
1249 	{
1250 		{
1251 			if (!!(((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3)))) goto LA199_;
1252 			result = typeAllowedAux__typeallowed_19(marker, (*t).sons->data[((NI) 0)], kind, c, (flags | 2));
1253 		}
1254 		goto LA197_;
1255 		LA199_: ;
1256 		{
1257 			if (!((768 &((NU32)1<<((NU)(kind)&31U)))!=0)) goto LA202_;
1258 			result = (*t).sons->data[((NI) 0)];
1259 		}
1260 		goto LA197_;
1261 		LA202_: ;
1262 		LA197_: ;
1263 	}
1264 	break;
1265 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
1266 	{
1267 		{
1268 			if (!((*(*t).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA207_;
1269 			result = (*t).sons->data[((NI) 1)];
1270 		}
1271 		goto LA205_;
1272 		LA207_: ;
1273 		{
1274 			if (!!(((*(*t).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3)))) goto LA210_;
1275 			result = typeAllowedAux__typeallowed_19(marker, (*t).sons->data[((NI) 1)], kind, c, flags);
1276 		}
1277 		goto LA205_;
1278 		LA210_: ;
1279 		{
1280 			if (!((768 &((NU32)1<<((NU)(kind)&31U)))!=0)) goto LA213_;
1281 			result = (*t).sons->data[((NI) 1)];
1282 		}
1283 		goto LA205_;
1284 		LA213_: ;
1285 		LA205_: ;
1286 	}
1287 	break;
1288 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
1289 	{
1290 		{
1291 			if (!(kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10))) goto LA218_;
1292 			result = t;
1293 		}
1294 		goto LA216_;
1295 		LA218_: ;
1296 		{
1297 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T221_;
1298 			T221_ = NIM_NIL;
1299 			T221_ = lastSon__ast_3743(t);
1300 			result = typeAllowedAux__typeallowed_19(marker, T221_, kind, c, (flags | 2));
1301 		}
1302 		LA216_: ;
1303 	}
1304 	break;
1305 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
1306 	{
1307 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T223_;
1308 		T223_ = NIM_NIL;
1309 		T223_ = lastSon__ast_3743(t);
1310 		result = typeAllowedAux__typeallowed_19(marker, T223_, kind, c, (flags | 2));
1311 	}
1312 	break;
1313 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
1314 	{
1315 		{
1316 			NI i_3;
1317 			NI colontmp__2;
1318 			NI i_4;
1319 			i_3 = (NI)0;
1320 			colontmp__2 = (NI)0;
1321 			colontmp__2 = len__ast_4002(t);
1322 			i_4 = ((NI) 0);
1323 			{
1324 				while (1) {
1325 					if (!(i_4 < colontmp__2)) goto LA227;
1326 					i_3 = i_4;
1327 					result = typeAllowedAux__typeallowed_19(marker, (*t).sons->data[i_3], kind, c, flags);
1328 					{
1329 						if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA230_;
1330 						goto LA225;
1331 					}
1332 					LA230_: ;
1333 					i_4 += ((NI) 1);
1334 				} LA227: ;
1335 			}
1336 		} LA225: ;
1337 	}
1338 	break;
1339 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
1340 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
1341 	{
1342 		{
1343 			NIM_BOOL T235_;
1344 			NIM_BOOL T236_;
1345 			T235_ = (NIM_BOOL)0;
1346 			T236_ = (NIM_BOOL)0;
1347 			T236_ = ((13312 &((NU32)1<<((NU)(kind)&31U)))!=0);
1348 			if (!(T236_)) goto LA237_;
1349 			T236_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
1350 			LA237_: ;
1351 			T235_ = T236_;
1352 			if (!(T235_)) goto LA238_;
1353 			T235_ = !(((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
1354 			LA238_: ;
1355 			if (!T235_) goto LA239_;
1356 			result = t;
1357 		}
1358 		goto LA233_;
1359 		LA239_: ;
1360 		{
1361 			tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg flags_2;
1362 			flags_2 = (flags | 1);
1363 			{
1364 				NI i_5;
1365 				NI colontmp__3;
1366 				NI i_6;
1367 				i_5 = (NI)0;
1368 				colontmp__3 = (NI)0;
1369 				colontmp__3 = len__ast_4002(t);
1370 				i_6 = ((NI) 0);
1371 				{
1372 					while (1) {
1373 						if (!(i_6 < colontmp__3)) goto LA244;
1374 						i_5 = i_6;
1375 						result = typeAllowedAux__typeallowed_19(marker, (*t).sons->data[i_5], kind, c, flags_2);
1376 						{
1377 							if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA247_;
1378 							goto LA242;
1379 						}
1380 						LA247_: ;
1381 						i_6 += ((NI) 1);
1382 					} LA244: ;
1383 				}
1384 			} LA242: ;
1385 			{
1386 				NIM_BOOL T251_;
1387 				T251_ = (NIM_BOOL)0;
1388 				T251_ = (result == 0);
1389 				if (!(T251_)) goto LA252_;
1390 				T251_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
1391 				LA252_: ;
1392 				if (!T251_) goto LA253_;
1393 				result = typeAllowedNode__typeallowed_25(marker, (*t).n, kind, c, flags_2);
1394 			}
1395 			LA253_: ;
1396 		}
1397 		LA233_: ;
1398 	}
1399 	break;
1400 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3):
1401 	{
1402 		{
1403 			if (!((768 &((NU32)1<<((NU)(kind)&31U)))!=0)) goto LA258_;
1404 			result = t;
1405 		}
1406 		LA258_: ;
1407 	}
1408 	break;
1409 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
1410 	{
1411 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
1412 	}
1413 	break;
1414 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
1415 	{
1416 		{
1417 			NIM_BOOL T264_;
1418 			NI T265_;
1419 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T267_;
1420 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T270_;
1421 			T264_ = (NIM_BOOL)0;
1422 			T265_ = (NI)0;
1423 			T265_ = len__ast_4002(t);
1424 			T264_ = (T265_ == ((NI) 1));
1425 			if (!(T264_)) goto LA266_;
1426 			T267_ = NIM_NIL;
1427 			T267_ = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__FLm9aU7VXleJfAvJR1cpHXQ_4);
1428 			T264_ = ((*T267_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T267_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T267_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
1429 			LA266_: ;
1430 			if (!T264_) goto LA268_;
1431 			T270_ = NIM_NIL;
1432 			T270_ = lastSon__ast_3743(t);
1433 			result = typeAllowedAux__typeallowed_19(marker, T270_, kind, c, (flags | 2));
1434 		}
1435 		goto LA262_;
1436 		LA268_: ;
1437 		{
1438 			result = t;
1439 		}
1440 		LA262_: ;
1441 	}
1442 	break;
1443 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
1444 	{
1445 		{
1446 			if (!!((kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)))) goto LA275_;
1447 			result = t;
1448 		}
1449 		goto LA273_;
1450 		LA275_: ;
1451 		{
1452 			result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
1453 		}
1454 		LA273_: ;
1455 	}
1456 	break;
1457 	}
1458 	}BeforeRet_: ;
1459 	return result;
1460 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,typeAllowed__typeallowed_472)1461 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, typeAllowed__typeallowed_472)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg flags) {
1462 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
1463 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marker;
1464 	result = NIM_NIL;
1465 	nimZeroMem((void*)(&marker), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
1466 	initIntSet__pureZcollectionsZintsets_238((&marker));
1467 	result = typeAllowedAux__typeallowed_19((&marker), t, kind, c, flags);
1468 	return result;
1469 }
N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog,directViewType__typeallowed_568)1470 N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog, directViewType__typeallowed_568)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
1471 	tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog result;
1472 	result = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
1473 	switch ((*t).kind) {
1474 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
1475 	{
1476 		result = ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 2);
1477 	}
1478 	break;
1479 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
1480 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
1481 	{
1482 		result = ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 1);
1483 	}
1484 	break;
1485 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
1486 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
1487 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
1488 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
1489 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
1490 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
1491 	{
1492 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T4_;
1493 		T4_ = NIM_NIL;
1494 		T4_ = lastSon__ast_3743(t);
1495 		result = directViewType__typeallowed_568(T4_);
1496 	}
1497 	break;
1498 	default:
1499 	{
1500 		result = ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0);
1501 	}
1502 	break;
1503 	}
1504 	return result;
1505 }
1506