1 #include <OOC/SymbolTable.d>
2 #include <__oo2c.h>
3 #include <setjmp.h>
4 
OOC_SymbolTable__WriterDesc_INIT(OOC_SymbolTable__Writer w,IO__ByteChannel ch,IO__ByteChannel chDoc)5 void OOC_SymbolTable__WriterDesc_INIT(OOC_SymbolTable__Writer w, IO__ByteChannel ch, IO__ByteChannel chDoc) {
6   register OOC_INT64 i0,i1,i2;
7 
8   i0 = (OOC_INT64)chDoc;
9   _assert((i0!=(OOC_INT64)0), 127, 45423);
10   i1 = (OOC_INT64)w;
11   i2 = (OOC_INT64)ch;
12   ADT_Object_Storage__WriterDesc_INIT((ADT_Object_Storage__Writer)i1, (IO__ByteChannel)i2);
13   i0 = (OOC_INT64)ADT_Object_Storage__ConnectWriter((IO__ByteChannel)i0);
14   *(OOC_INT64*)((_check_pointer(i1, 45466))+304) = i0;
15   return;
16   ;
17 }
18 
OOC_SymbolTable__ReaderDesc_INIT(OOC_SymbolTable__Reader r,IO__ByteChannel ch,IO__ByteChannel chDoc)19 void OOC_SymbolTable__ReaderDesc_INIT(OOC_SymbolTable__Reader r, IO__ByteChannel ch, IO__ByteChannel chDoc) {
20   register OOC_INT64 i0,i1,i2;
21 
22   i0 = (OOC_INT64)ch;
23   i1 = (OOC_INT64)r;
24   ADT_Object_Storage__ReaderDesc_INIT((ADT_Object_Storage__Reader)i1, (IO__ByteChannel)i0);
25   i0 = (OOC_INT64)chDoc;
26   i2 = i0==(OOC_INT64)0;
27   if (i2) goto l3;
28   i0 = (OOC_INT64)ADT_Object_Storage__ConnectReader((IO__ByteChannel)i0);
29   *(OOC_INT64*)((_check_pointer(i1, 45672))+304) = i0;
30   goto l4;
31 l3:
32   *(OOC_INT64*)((_check_pointer(i1, 45637))+304) = (OOC_INT64)0;
33 l4:
34   return;
35   ;
36 }
37 
OOC_SymbolTable__InitNamespace(OOC_SymbolTable__Namespace ns)38 void OOC_SymbolTable__InitNamespace(OOC_SymbolTable__Namespace ns) {
39 
40   return;
41   ;
42 }
43 
OOC_SymbolTable__NamespaceDesc_IdentifyLocal2(OOC_SymbolTable__Namespace ns,OOC_SymbolTable__Item sourceContext,OOC_SymbolTable__Name name,OOC_CHAR8 ignorePosition,OOC_CHAR8 * baseNotExported)44 OOC_SymbolTable__Declaration OOC_SymbolTable__NamespaceDesc_IdentifyLocal2(OOC_SymbolTable__Namespace ns, OOC_SymbolTable__Item sourceContext, OOC_SymbolTable__Name name, OOC_CHAR8 ignorePosition, OOC_CHAR8 *baseNotExported) {
45 
46   _failed_function(45848); return 0;
47   ;
48 }
49 
OOC_SymbolTable__NamespaceDesc_IdentifyLocal(OOC_SymbolTable__Namespace ns,OOC_SymbolTable__Item sourceContext,OOC_SymbolTable__Name name,OOC_CHAR8 ignorePosition)50 OOC_SymbolTable__Declaration OOC_SymbolTable__NamespaceDesc_IdentifyLocal(OOC_SymbolTable__Namespace ns, OOC_SymbolTable__Item sourceContext, OOC_SymbolTable__Name name, OOC_CHAR8 ignorePosition) {
51   register OOC_INT64 i0,i1,i2,i3;
52   OOC_CHAR8 baseNotExported;
53 
54   baseNotExported = 0u;
55   i0 = (OOC_INT64)ns;
56   i1 = (OOC_INT64)sourceContext;
57   i2 = (OOC_INT64)name;
58   i3 = ignorePosition;
59   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 47750)))), OOC_SymbolTable__NamespaceDesc_IdentifyLocal2)),OOC_SymbolTable__NamespaceDesc_IdentifyLocal2)((OOC_SymbolTable__Namespace)i0, (OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Name)i2, i3, (void*)(OOC_INT64)&baseNotExported);
60   return (OOC_SymbolTable__Declaration)i0;
61   ;
62 }
63 
OOC_SymbolTable__NamespaceDesc_Identify2(OOC_SymbolTable__Namespace ns,OOC_SymbolTable__Item sourceContext,OOC_SymbolTable__Name name,OOC_CHAR8 ignorePosition,OOC_CHAR8 * baseNotExported)64 OOC_SymbolTable__Declaration OOC_SymbolTable__NamespaceDesc_Identify2(OOC_SymbolTable__Namespace ns, OOC_SymbolTable__Item sourceContext, OOC_SymbolTable__Name name, OOC_CHAR8 ignorePosition, OOC_CHAR8 *baseNotExported) {
65 
66   _failed_function(47880); return 0;
67   ;
68 }
69 
OOC_SymbolTable__NamespaceDesc_Identify(OOC_SymbolTable__Namespace ns,OOC_SymbolTable__Item sourceContext,OOC_SymbolTable__Name name,OOC_CHAR8 ignorePosition)70 OOC_SymbolTable__Declaration OOC_SymbolTable__NamespaceDesc_Identify(OOC_SymbolTable__Namespace ns, OOC_SymbolTable__Item sourceContext, OOC_SymbolTable__Name name, OOC_CHAR8 ignorePosition) {
71   register OOC_INT64 i0,i1,i2,i3;
72   OOC_CHAR8 baseNotExported;
73 
74   baseNotExported = 0u;
75   i0 = (OOC_INT64)ns;
76   i1 = (OOC_INT64)sourceContext;
77   i2 = (OOC_INT64)name;
78   i3 = ignorePosition;
79   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 48804)))), OOC_SymbolTable__NamespaceDesc_Identify2)),OOC_SymbolTable__NamespaceDesc_Identify2)((OOC_SymbolTable__Namespace)i0, (OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Name)i2, i3, (void*)(OOC_INT64)&baseNotExported);
80   return (OOC_SymbolTable__Declaration)i0;
81   ;
82 }
83 
OOC_SymbolTable__NamespaceDesc_GetSuperProcByIndex(OOC_SymbolTable__Namespace ns,OOC_INT32 index)84 OOC_SymbolTable__ProcDecl OOC_SymbolTable__NamespaceDesc_GetSuperProcByIndex(OOC_SymbolTable__Namespace ns, OOC_INT32 index) {
85 
86   _assert(0u, 127, 49072);
87   _failed_function(48913); return 0;
88   ;
89 }
90 
OOC_SymbolTable__WriteType(ADT_Storable__Writer w,OOC_SymbolTable__Type type,OOC_SymbolTable__Type srcCodeType)91 static void OOC_SymbolTable__WriteType(ADT_Storable__Writer w, OOC_SymbolTable__Type type, OOC_SymbolTable__Type srcCodeType) {
92   register OOC_INT64 i0,i1;
93 
94   i0 = (OOC_INT64)w;
95   i1 = (OOC_INT64)srcCodeType;
96   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 49211)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i1);
97   return;
98   ;
99 }
100 
OOC_SymbolTable__ReadType(ADT_Storable__Reader r,OOC_SymbolTable__Type * type,OOC_SymbolTable__Type * srcCodeType)101 static void OOC_SymbolTable__ReadType(ADT_Storable__Reader r, OOC_SymbolTable__Type *type, OOC_SymbolTable__Type *srcCodeType) {
102   register OOC_INT64 i0,i1;
103   Object__Object obj;
104 
105   i0 = (OOC_INT64)r;
106   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 49384)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
107   i0 = (OOC_INT64)obj;
108   i1 = i0==(OOC_INT64)0;
109   if (i1) goto l3;
110   i0 = _type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 49505)))), &_td_OOC_SymbolTable__TypeDesc, 49505);
111   *srcCodeType = (OOC_SymbolTable__Type)i0;
112   *type = (OOC_SymbolTable__Type)i0;
113   goto l4;
114 l3:
115   *srcCodeType = (OOC_SymbolTable__Type)(OOC_INT64)0;
116   *type = (OOC_SymbolTable__Type)(OOC_INT64)0;
117 l4:
118   return;
119   ;
120 }
121 
OOC_SymbolTable__InitPosition(OOC_SymbolTable__Position position,OOC_INT32 pos,OOC_INT32 line,OOC_INT32 column)122 void OOC_SymbolTable__InitPosition(OOC_SymbolTable__Position position, OOC_INT32 pos, OOC_INT32 line, OOC_INT32 column) {
123   register OOC_INT64 i0,i1;
124 
125   i0 = (OOC_INT64)position;
126   i1 = pos;
127   *(OOC_INT32*)(_check_pointer(i0, 49712)) = i1;
128   i1 = line;
129   *(OOC_INT32*)((_check_pointer(i0, 49738))+4) = i1;
130   i1 = column;
131   *(OOC_INT32*)((_check_pointer(i0, 49766))+8) = i1;
132   return;
133   ;
134 }
135 
OOC_SymbolTable__PositionDesc_Store(OOC_SymbolTable__Position position,ADT_Storable__Writer w)136 void OOC_SymbolTable__PositionDesc_Store(OOC_SymbolTable__Position position, ADT_Storable__Writer w) {
137   register OOC_INT64 i0,i1,i2;
138 
139   i0 = (OOC_INT64)position;
140   i1 = (OOC_INT64)w;
141   i2 = *(OOC_INT32*)(_check_pointer(i0, 49971));
142   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 49951)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i1, i2);
143   i2 = *(OOC_INT32*)((_check_pointer(i0, 50004))+4);
144   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 49984)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i1, i2);
145   i0 = *(OOC_INT32*)((_check_pointer(i0, 50038))+8);
146   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 50018)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i1, i0);
147   return;
148   ;
149 }
150 
OOC_SymbolTable__PositionDesc_Load(OOC_SymbolTable__Position position,ADT_Storable__Reader r)151 void OOC_SymbolTable__PositionDesc_Load(OOC_SymbolTable__Position position, ADT_Storable__Reader r) {
152   register OOC_INT64 i0,i1;
153 
154   i0 = (OOC_INT64)position;
155   i1 = (OOC_INT64)r;
156   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 50206)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i1, (void*)(_check_pointer(i0, 50225)));
157   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 50238)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i1, (void*)((_check_pointer(i0, 50257))+4));
158   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 50271)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i1, (void*)((_check_pointer(i0, 50290))+8));
159   return;
160   ;
161 }
162 
OOC_SymbolTable__InitName(OOC_SymbolTable__Name name,OOC_Scanner_InputBuffer__CharArray str,OOC_INT32 pos,OOC_INT32 line,OOC_INT32 column)163 void OOC_SymbolTable__InitName(OOC_SymbolTable__Name name, OOC_Scanner_InputBuffer__CharArray str, OOC_INT32 pos, OOC_INT32 line, OOC_INT32 column) {
164   register OOC_INT64 i0,i1,i2,i3;
165 
166   i0 = column;
167   i1 = line;
168   i2 = pos;
169   i3 = (OOC_INT64)name;
170   OOC_SymbolTable__InitPosition((OOC_SymbolTable__Position)i3, i2, i1, i0);
171   i0 = (OOC_INT64)str;
172   *(OOC_INT64*)((_check_pointer(i3, 50503))+16) = i0;
173   return;
174   ;
175 }
176 
OOC_SymbolTable__NameDesc_Store(OOC_SymbolTable__Name name,ADT_Storable__Writer w)177 void OOC_SymbolTable__NameDesc_Store(OOC_SymbolTable__Name name, ADT_Storable__Writer w) {
178   register OOC_INT64 i0,i1,i2;
179   OOC_INT32 len;
180 
181   i0 = (OOC_INT64)name;
182   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 50727))+16);
183   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 50727))+16);
184   i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 50732)), 0);
185   i1 = Strings__Length((void*)(_check_pointer(i2, 50732)), i1);
186   len = i1;
187   i2 = (OOC_INT64)w;
188   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 50741)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i2, i1);
189   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 50782))+16);
190   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 50764)))), IO_BinaryRider__WriterDesc_WriteBytes)),IO_BinaryRider__WriterDesc_WriteBytes)((IO_BinaryRider__Writer)i2, (void*)(_check_pointer(i0, 50787)), (-1), 0, i1);
191   return;
192   ;
193 }
194 
OOC_SymbolTable__NameDesc_Load(OOC_SymbolTable__Name name,ADT_Storable__Reader r)195 void OOC_SymbolTable__NameDesc_Load(OOC_SymbolTable__Name name, ADT_Storable__Reader r) {
196   register OOC_INT64 i0,i1,i2,i3,i4,i5;
197   OOC_INT32 len;
198   OOC_Scanner_InputBuffer__CharArray str;
199 
200   i0 = (OOC_INT64)name;
201   OOC_SymbolTable__InitPosition((OOC_SymbolTable__Position)i0, (-2), (-1), (-1));
202   i1 = (OOC_INT64)r;
203   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 51055)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i1, (void*)(OOC_INT64)&len);
204   i2 = len;
205   i3 = (OOC_INT64)RT0__NewObject(_td_OOC_Scanner_InputBuffer__CharArray.baseTypes[0], (i2+1));
206   str = (OOC_Scanner_InputBuffer__CharArray)i3;
207   i4 = _check_pointer(i3, 51101);
208   i5 = OOC_ARRAY_LENGTH(i4, 0);
209   *(OOC_UINT8*)(i4+(_check_index(i2, i5, OOC_UINT32, 51101))) = 0u;
210   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 51119)))), IO_BinaryRider__ReaderDesc_ReadBytes)),IO_BinaryRider__ReaderDesc_ReadBytes)((IO_BinaryRider__Reader)i1, (void*)(_check_pointer(i3, 51135)), (-1), 0, i2);
211   *(OOC_INT64*)((_check_pointer(i0, 51155))+16) = i3;
212   return;
213   ;
214 }
215 
OOC_SymbolTable__InitItem(OOC_SymbolTable__Item item,OOC_SymbolTable__Item parent)216 void OOC_SymbolTable__InitItem(OOC_SymbolTable__Item item, OOC_SymbolTable__Item parent) {
217   register OOC_INT64 i0,i1,i2;
218 
219   i0 = (OOC_INT64)item;
220   *(OOC_INT64*)(_check_pointer(i0, 51247)) = 0;
221   *(OOC_INT64*)((_check_pointer(i0, 51276))+16) = 0;
222   *(OOC_INT64*)((_check_pointer(i0, 51306))+24) = 0;
223   i1 = (OOC_INT64)parent;
224   *(OOC_INT64*)((_check_pointer(i0, 51340))+8) = i1;
225   *(OOC_INT64*)((_check_pointer(i0, 51368))+32) = 0;
226   i2 = i1!=0;
227   if (!i2) goto l23;
228   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 51437)))), &_td_OOC_SymbolTable__ModuleDesc);
229   if (i2) goto l5;
230   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 51474)))), &_td_OOC_SymbolTable__ProcDeclDesc);
231 
232   goto l7;
233 l5:
234   i2=1u;
235 l7:
236   if (i2) goto l9;
237   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 51513)))), &_td_OOC_SymbolTable__RecordDesc);
238 
239   goto l11;
240 l9:
241   i2=1u;
242 l11:
243   if (i2) goto l13;
244   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 51550)))), &_td_OOC_SymbolTable__FormalParsDesc);
245 
246   goto l15;
247 l13:
248   i2=1u;
249 l15:
250   if (i2) goto l17;
251   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 51591)))), &_td_OOC_SymbolTable__TypeParsDesc);
252 
253   goto l18;
254 l17:
255   i2=1u;
256 l18:
257   _assert(i2, 127, 51420);
258   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 51622))+16);
259   i2 = i2==0;
260   if (i2) goto l21;
261   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 51707))+24);
262   *(OOC_INT64*)(_check_pointer(i2, 51723)) = i0;
263   goto l22;
264 l21:
265   *(OOC_INT64*)((_check_pointer(i1, 51660))+16) = i0;
266 l22:
267   *(OOC_INT64*)((_check_pointer(i1, 51767))+24) = i0;
268 l23:
269   return;
270   ;
271 }
272 
OOC_SymbolTable__WriteItemList(ADT_Storable__Writer w,OOC_SymbolTable__Item item)273 static void OOC_SymbolTable__WriteItemList(ADT_Storable__Writer w, OOC_SymbolTable__Item item) {
274   register OOC_INT64 i0,i1,i2;
275 
276   i0 = (OOC_INT64)item;
277   i1 = (OOC_INT64)w;
278   i2 = i0!=(OOC_INT64)0;
279   if (!i2) goto l8;
280 
281 l3_loop:
282   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 51930)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i1, (Object__Object)i0);
283   i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 51969));
284   item = (OOC_SymbolTable__Item)i0;
285   i2 = i0!=(OOC_INT64)0;
286   if (i2) goto l3_loop;
287 l8:
288   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 51996)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i1, (Object__Object)(OOC_INT64)0);
289   return;
290   ;
291 }
292 
OOC_SymbolTable__ReadItemList(ADT_Storable__Reader r,OOC_SymbolTable__Item * list,OOC_SymbolTable__Item * last)293 static void OOC_SymbolTable__ReadItemList(ADT_Storable__Reader r, OOC_SymbolTable__Item *list, OOC_SymbolTable__Item *last) {
294   register OOC_INT64 i0,i1,i2,i3;
295   Object__Object obj;
296 
297   *list = (OOC_SymbolTable__Item)(OOC_INT64)0;
298   *last = (OOC_SymbolTable__Item)(OOC_INT64)0;
299   i0 = (OOC_INT64)r;
300   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 52218)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
301   i1 = (OOC_INT64)obj;
302   i2 = i1!=(OOC_INT64)0;
303   if (!i2) goto l16;
304   i2=(OOC_INT64)0;
305 l3_loop:
306   i3 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 52275)))), &_td_OOC_SymbolTable__ItemDesc);
307   if (i3) goto l6;
308   _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 52266)))), 52266);
309   i1=i2;
310   goto l11;
311 l6:
312   i3 = i2!=(OOC_INT64)0;
313   if (i3) goto l9;
314   *list = (OOC_SymbolTable__Item)i1;
315   goto l10;
316 l9:
317   *(OOC_INT64*)(_check_pointer(i2, 52326)) = i1;
318 l10:
319   *last = (OOC_SymbolTable__Item)i1;
320 
321 l11:
322   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 52431)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
323   i2 = (OOC_INT64)obj;
324   i3 = i2!=(OOC_INT64)0;
325   if (!i3) goto l16;
326   {register OOC_INT64 h0=i1;i1=i2;i2=h0;}
327   goto l3_loop;
328 l16:
329   return;
330   ;
331 }
332 
OOC_SymbolTable__ItemDesc_Store(OOC_SymbolTable__Item item,ADT_Storable__Writer w)333 void OOC_SymbolTable__ItemDesc_Store(OOC_SymbolTable__Item item, ADT_Storable__Writer w) {
334   register OOC_INT64 i0,i1,i2;
335 
336   i0 = (OOC_INT64)item;
337   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 52579))+16);
338   i2 = (OOC_INT64)w;
339   OOC_SymbolTable__WriteItemList((ADT_Storable__Writer)i2, (OOC_SymbolTable__Item)i1);
340   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 52618))+8);
341   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 52599)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i2, (Object__Object)i0);
342   return;
343   ;
344 }
345 
OOC_SymbolTable__ItemDesc_Load(OOC_SymbolTable__Item item,ADT_Storable__Reader r)346 void OOC_SymbolTable__ItemDesc_Load(OOC_SymbolTable__Item item, ADT_Storable__Reader r) {
347   register OOC_INT64 i0,i1,i2;
348   Object__Object obj;
349 
350   i0 = (OOC_INT64)item;
351   *(OOC_INT64*)(_check_pointer(i0, 52794)) = 0;
352   i1 = (OOC_INT64)r;
353   OOC_SymbolTable__ReadItemList((ADT_Storable__Reader)i1, (void*)((_check_pointer(i0, 52839))+16), (void*)((_check_pointer(i0, 52858))+24));
354   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 52883)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i1, (void*)(OOC_INT64)&obj);
355   i1 = (OOC_INT64)obj;
356   i2 = i1==0;
357   if (i2) goto l3;
358   *(OOC_INT64*)((_check_pointer(i0, 52972))+8) = (_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 52988)))), &_td_OOC_SymbolTable__ItemDesc, 52988));
359   goto l4;
360 l3:
361   *(OOC_INT64*)((_check_pointer(i0, 52937))+8) = 0;
362 l4:
363   *(OOC_INT64*)((_check_pointer(i0, 53011))+32) = 0;
364   return;
365   ;
366 }
367 
OOC_SymbolTable__ItemDesc_Module(OOC_SymbolTable__Item item)368 OOC_SymbolTable__Module OOC_SymbolTable__ItemDesc_Module(OOC_SymbolTable__Item item) {
369   register OOC_INT64 i0,i1;
370 
371   i0 = (OOC_INT64)item;
372   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 53497))+8);
373   i1 = i1==(OOC_INT64)0;
374   if (i1) goto l3;
375   i1=0u;
376   goto l5;
377 l3:
378   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 53520)))), &_td_OOC_SymbolTable__TypeDesc);
379 
380 l5:
381   if (!i1) goto l8;
382   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 53553)))), &_td_OOC_SymbolTable__TypeDesc, 53553)), 53558)))), OOC_SymbolTable__TypeDesc_Deparam)),OOC_SymbolTable__TypeDesc_Deparam)((OOC_SymbolTable__Type)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 53553)))), &_td_OOC_SymbolTable__TypeDesc, 53553)));
383   item = (OOC_SymbolTable__Item)i0;
384 
385 l8:
386   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 53632))+8);
387   i1 = i1!=(OOC_INT64)0;
388   if (!i1) goto l25;
389 l12_loop:
390   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 53668))+8);
391   item = (OOC_SymbolTable__Item)i0;
392   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 53691))+8);
393   i1 = i1==(OOC_INT64)0;
394   if (i1) goto l15;
395   i1=0u;
396   goto l17;
397 l15:
398   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 53714)))), &_td_OOC_SymbolTable__TypeDesc);
399 
400 l17:
401   if (!i1) goto l20;
402   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 53749)))), &_td_OOC_SymbolTable__TypeDesc, 53749)), 53754)))), OOC_SymbolTable__TypeDesc_Deparam)),OOC_SymbolTable__TypeDesc_Deparam)((OOC_SymbolTable__Type)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 53749)))), &_td_OOC_SymbolTable__TypeDesc, 53749)));
403   item = (OOC_SymbolTable__Item)i0;
404 
405 l20:
406   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 53632))+8);
407   i1 = i1!=(OOC_INT64)0;
408   if (i1) goto l12_loop;
409 l25:
410   return (OOC_SymbolTable__Module)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 53841)))), &_td_OOC_SymbolTable__ModuleDesc, 53841));
411   ;
412 }
413 
OOC_SymbolTable__ItemDesc_InStandardModule(OOC_SymbolTable__Item item)414 OOC_CHAR8 OOC_SymbolTable__ItemDesc_InStandardModule(OOC_SymbolTable__Item item) {
415   register OOC_INT64 i0,i1;
416   OOC_SymbolTable__Module module;
417 
418   i0 = (OOC_INT64)item;
419   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 54113))+8);
420   i1 = i1==(OOC_INT64)0;
421   if (i1) goto l3;
422   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 54216)))), OOC_SymbolTable__ItemDesc_Module)),OOC_SymbolTable__ItemDesc_Module)((OOC_SymbolTable__Item)i0);
423   module = (OOC_SymbolTable__Module)i0;
424   i0 = *(OOC_INT8*)((_check_pointer(i0, 54247))+96);
425   return (i0==0);
426   goto l4;
427 l3:
428   return 1u;
429 l4:
430   _failed_function(53887); return 0;
431   ;
432 }
433 
OOC_SymbolTable__ItemDesc_Procedure(OOC_SymbolTable__Item item)434 OOC_SymbolTable__ProcDecl OOC_SymbolTable__ItemDesc_Procedure(OOC_SymbolTable__Item item) {
435   register OOC_INT64 i0,i1,i2;
436 
437 l1_loop:
438   i0 = (OOC_INT64)item;
439   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 54532))+8);
440   item = (OOC_SymbolTable__Item)i0;
441   i1 = i0==(OOC_INT64)0;
442   if (i1) goto l4;
443   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 54573)))), &_td_OOC_SymbolTable__ProcDeclDesc);
444 
445   goto l6;
446 l4:
447   i2=1u;
448 l6:
449   if (!i2) goto l1_loop;
450 l10:
451   if (i1) goto l12;
452   return (OOC_SymbolTable__ProcDecl)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 54656)))), &_td_OOC_SymbolTable__ProcDeclDesc, 54656));
453   goto l13;
454 l12:
455   return (OOC_SymbolTable__ProcDecl)(OOC_INT64)0;
456 l13:
457   _failed_function(54328); return 0;
458   ;
459 }
460 
OOC_SymbolTable__ItemDesc_AddFlag(OOC_SymbolTable__Item item,OOC_SymbolTable__Name name)461 void OOC_SymbolTable__ItemDesc_AddFlag(OOC_SymbolTable__Item item, OOC_SymbolTable__Name name) {
462   register OOC_INT64 i0,i1,i2;
463   OOC_INT16 id;
464   OOC_SymbolTable__Flag fl;
465   auto void OOC_SymbolTable__ItemDesc_AddFlag_Append(OOC_SymbolTable__Flag *list);
466 
467     void OOC_SymbolTable__ItemDesc_AddFlag_Append(OOC_SymbolTable__Flag *list) {
468       register OOC_INT64 i0,i1;
469 
470       i0 = (OOC_INT64)*list;
471       i1 = i0==(OOC_INT64)0;
472       if (i1) goto l3;
473       OOC_SymbolTable__ItemDesc_AddFlag_Append((void*)(_check_pointer(i0, 55095)));
474       goto l4;
475 l3:
476       i0 = (OOC_INT64)fl;
477       *(OOC_INT64*)(_check_pointer(i0, 55027)) = (OOC_INT64)0;
478       *list = (OOC_SymbolTable__Flag)i0;
479 l4:
480       return;
481       ;
482     }
483 
484 
485   i0 = (OOC_INT64)name;
486   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55157))+16);
487   i1 = (
488   _cmp8((const void*)(_check_pointer(i1, 55161)),(const void*)(OOC_CHAR8*)"NO_COPY"))==0;
489   if (i1) goto l75;
490   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55220))+16);
491   i1 = (
492   _cmp8((const void*)(_check_pointer(i1, 55224)),(const void*)(OOC_CHAR8*)"ABSTRACT"))==0;
493   if (i1) goto l73;
494   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55286))+16);
495   i1 = (
496   _cmp8((const void*)(_check_pointer(i1, 55290)),(const void*)(OOC_CHAR8*)"NO_LENGTH_INFO"))==0;
497   if (i1) goto l71;
498   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55362))+16);
499   i1 = (
500   _cmp8((const void*)(_check_pointer(i1, 55366)),(const void*)(OOC_CHAR8*)"NO_DESCRIPTOR"))==0;
501   if (i1) goto l69;
502   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55437))+16);
503   i1 = (
504   _cmp8((const void*)(_check_pointer(i1, 55441)),(const void*)(OOC_CHAR8*)"NOT_EXTENSIBLE"))==0;
505   if (i1) goto l67;
506   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55588))+16);
507   i1 = (
508   _cmp8((const void*)(_check_pointer(i1, 55592)),(const void*)(OOC_CHAR8*)"UNCHECKED_EXCEPTION"))==0;
509   if (i1) goto l65;
510   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55675))+16);
511   i1 = (
512   _cmp8((const void*)(_check_pointer(i1, 55679)),(const void*)(OOC_CHAR8*)"CSTRING"))==0;
513   if (i1) goto l63;
514   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55739))+16);
515   i1 = (
516   _cmp8((const void*)(_check_pointer(i1, 55743)),(const void*)(OOC_CHAR8*)"NIL_COMPAT"))==0;
517   if (i1) goto l61;
518   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55808))+16);
519   i1 = (
520   _cmp8((const void*)(_check_pointer(i1, 55812)),(const void*)(OOC_CHAR8*)"UNION"))==0;
521   if (i1) goto l59;
522   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55868))+16);
523   i1 = (
524   _cmp8((const void*)(_check_pointer(i1, 55872)),(const void*)(OOC_CHAR8*)"READ_ONLY"))==0;
525   if (i1) goto l57;
526   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 55935))+16);
527   i1 = (
528   _cmp8((const void*)(_check_pointer(i1, 55939)),(const void*)(OOC_CHAR8*)"NO_RETURN"))==0;
529   if (i1) goto l55;
530   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 56002))+16);
531   i1 = (
532   _cmp8((const void*)(_check_pointer(i1, 56006)),(const void*)(OOC_CHAR8*)"DEPRECATED"))==0;
533   if (i1) goto l53;
534   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 56072))+16);
535   i1 = (
536   _cmp8((const void*)(_check_pointer(i1, 56076)),(const void*)(OOC_CHAR8*)"OOC_EXTENSIONS"))==0;
537   if (i1) goto l51;
538   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 56149))+16);
539   i1 = (
540   _cmp8((const void*)(_check_pointer(i1, 56153)),(const void*)(OOC_CHAR8*)"ALIGN1"))==0;
541   if (i1) goto l49;
542   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 56211))+16);
543   i1 = (
544   _cmp8((const void*)(_check_pointer(i1, 56215)),(const void*)(OOC_CHAR8*)"ALIGN2"))==0;
545   if (i1) goto l47;
546   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 56273))+16);
547   i1 = (
548   _cmp8((const void*)(_check_pointer(i1, 56277)),(const void*)(OOC_CHAR8*)"ALIGN4"))==0;
549   if (i1) goto l45;
550   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 56335))+16);
551   i1 = (
552   _cmp8((const void*)(_check_pointer(i1, 56339)),(const void*)(OOC_CHAR8*)"ALIGN8"))==0;
553   if (i1) goto l43;
554   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 56397))+16);
555   i1 = (
556   _cmp8((const void*)(_check_pointer(i1, 56401)),(const void*)(OOC_CHAR8*)"VTABLE"))==0;
557   if (i1) goto l41;
558   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 56459))+16);
559   i1 = (
560   _cmp8((const void*)(_check_pointer(i1, 56463)),(const void*)(OOC_CHAR8*)"NO_TRACED_POINTERS"))==0;
561   if (i1) goto l39;
562   id = (-1);
563   i1=(-1);
564   goto l76;
565 l39:
566   id = 19;
567   i1=19;
568   goto l76;
569 l41:
570   id = 17;
571   i1=17;
572   goto l76;
573 l43:
574   id = 16;
575   i1=16;
576   goto l76;
577 l45:
578   id = 15;
579   i1=15;
580   goto l76;
581 l47:
582   id = 14;
583   i1=14;
584   goto l76;
585 l49:
586   id = 13;
587   i1=13;
588   goto l76;
589 l51:
590   id = 11;
591   i1=11;
592   goto l76;
593 l53:
594   id = 10;
595   i1=10;
596   goto l76;
597 l55:
598   id = 9;
599   i1=9;
600   goto l76;
601 l57:
602   id = 8;
603   i1=8;
604   goto l76;
605 l59:
606   id = 7;
607   i1=7;
608   goto l76;
609 l61:
610   id = 6;
611   i1=6;
612   goto l76;
613 l63:
614   id = 5;
615   i1=5;
616   goto l76;
617 l65:
618   id = 18;
619   i1=18;
620   goto l76;
621 l67:
622   id = 4;
623   i1=4;
624   goto l76;
625 l69:
626   id = 3;
627   i1=3;
628   goto l76;
629 l71:
630   id = 2;
631   i1=2;
632   goto l76;
633 l73:
634   id = 1;
635   i1=1;
636   goto l76;
637 l75:
638   id = 0;
639   i1=0;
640 l76:
641   i2 = (OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__Flag.baseTypes[0]);
642   fl = (OOC_SymbolTable__Flag)i2;
643   *(OOC_INT16*)((_check_pointer(i2, 56585))+8) = i1;
644   *(OOC_INT64*)((_check_pointer(i2, 56602))+16) = i0;
645   i0 = (OOC_INT64)item;
646   OOC_SymbolTable__ItemDesc_AddFlag_Append((void*)((_check_pointer(i0, 56631))+32));
647   return;
648   ;
649 }
650 
OOC_SymbolTable__InitDeclaration(OOC_SymbolTable__Declaration decl,OOC_SymbolTable__Item parent,OOC_SymbolTable__Name name,OOC_INT32 visibleFrom,OOC_INT8 exportMark,OOC_Doc__Document docString)651 void OOC_SymbolTable__InitDeclaration(OOC_SymbolTable__Declaration decl, OOC_SymbolTable__Item parent, OOC_SymbolTable__Name name, OOC_INT32 visibleFrom, OOC_INT8 exportMark, OOC_Doc__Document docString) {
652   register OOC_INT64 i0,i1;
653 
654   i0 = (OOC_INT64)parent;
655   i1 = (OOC_INT64)decl;
656   OOC_SymbolTable__InitItem((OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Item)i0);
657   i0 = (OOC_INT64)name;
658   *(OOC_INT64*)((_check_pointer(i1, 56907))+40) = i0;
659   i0 = visibleFrom;
660   *(OOC_INT32*)((_check_pointer(i1, 56931))+48) = i0;
661   i0 = exportMark;
662   *(OOC_INT8*)((_check_pointer(i1, 56969))+52) = i0;
663   i0 = (OOC_INT64)docString;
664   *(OOC_INT64*)((_check_pointer(i1, 57005))+56) = i0;
665   *(OOC_UINT8*)((_check_pointer(i1, 57039))+64) = 0u;
666   *(OOC_INT64*)((_check_pointer(i1, 57070))+72) = (OOC_INT64)0;
667   *(OOC_INT32*)((_check_pointer(i1, 57097))+80) = 0;
668   return;
669   ;
670 }
671 
OOC_SymbolTable__DeclarationDesc_Store(OOC_SymbolTable__Declaration decl,ADT_Storable__Writer w)672 void OOC_SymbolTable__DeclarationDesc_Store(OOC_SymbolTable__Declaration decl, ADT_Storable__Writer w) {
673   register OOC_INT64 i0,i1,i2,i3,i4;
674 
675   i0 = (OOC_INT64)w;
676   i1 = (OOC_INT64)decl;
677   OOC_SymbolTable__ItemDesc_Store((OOC_SymbolTable__Item)i1, (ADT_Storable__Writer)i0);
678   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 57269))+40);
679   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 57250)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i2);
680   i2 = *(OOC_INT8*)((_check_pointer(i1, 57340))+52);
681   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 57324)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, i2);
682   i2 = *(OOC_INT8*)((_check_pointer(i1, 57367))+52);
683   i2 = i2!=0;
684   if (i2) goto l3;
685   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 57478)))), &_td_OOC_SymbolTable__WriterDesc, 57478)), 57485))+304);
686   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 57478)))), &_td_OOC_SymbolTable__WriterDesc, 57478)), 57485))+304);
687   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 57495)))), ADT_Object_Storage__WriterDesc_WriteObject)),ADT_Object_Storage__WriterDesc_WriteObject)((ADT_Object_Storage__Writer)i3, (Object__Object)(OOC_INT64)0);
688   goto l4;
689 l3:
690   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 57412)))), &_td_OOC_SymbolTable__WriterDesc, 57412)), 57419))+304);
691   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 57446))+56);
692   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 57412)))), &_td_OOC_SymbolTable__WriterDesc, 57412)), 57419))+304);
693   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 57429)))), ADT_Object_Storage__WriterDesc_WriteObject)),ADT_Object_Storage__WriterDesc_WriteObject)((ADT_Object_Storage__Writer)i4, (Object__Object)i3);
694 l4:
695   i1 = *(OOC_UINT8*)((_check_pointer(i1, 57545))+64);
696   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 57528)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i1);
697   return;
698   ;
699 }
700 
OOC_SymbolTable__DeclarationDesc_Load(OOC_SymbolTable__Declaration decl,ADT_Storable__Reader r)701 void OOC_SymbolTable__DeclarationDesc_Load(OOC_SymbolTable__Declaration decl, ADT_Storable__Reader r) {
702   register OOC_INT64 i0,i1,i2,i3;
703   Object__Object obj;
704   OOC_INT32 i;
705 
706   i0 = (OOC_INT64)r;
707   i1 = (OOC_INT64)decl;
708   OOC_SymbolTable__ItemDesc_Load((OOC_SymbolTable__Item)i1, (ADT_Storable__Reader)i0);
709   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 57727)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
710   i2 = (OOC_INT64)obj;
711   *(OOC_INT64*)((_check_pointer(i1, 57755))+40) = (_type_guard(i2, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 57769)))), &_td_OOC_SymbolTable__NameDesc, 57769));
712   *(OOC_INT32*)((_check_pointer(i1, 57938))+48) = (-3);
713   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 58152)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i0, (void*)(OOC_INT64)&i);
714   i2 = i;
715   *(OOC_INT8*)((_check_pointer(i1, 58171))+52) = i2;
716   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 58294)))), &_td_OOC_SymbolTable__ReaderDesc, 58294)), 58301))+304);
717   i2 = i2!=(OOC_INT64)0;
718   if (i2) goto l3;
719   *(OOC_INT64*)((_check_pointer(i1, 58514))+56) = (OOC_INT64)0;
720   goto l8;
721 l3:
722   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 58332)))), &_td_OOC_SymbolTable__ReaderDesc, 58332)), 58339))+304);
723   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 58332)))), &_td_OOC_SymbolTable__ReaderDesc, 58332)), 58339))+304);
724   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 58349)))), ADT_Object_Storage__ReaderDesc_ReadObject)),ADT_Object_Storage__ReaderDesc_ReadObject)((ADT_Object_Storage__Reader)i3, (void*)(OOC_INT64)&obj);
725   i2 = (OOC_INT64)obj;
726   i3 = i2==(OOC_INT64)0;
727   if (i3) goto l6;
728   *(OOC_INT64*)((_check_pointer(i1, 58451))+56) = (_type_guard(i2, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 58473)))), &_td_OOC_Doc__DocumentDesc, 58473));
729   goto l8;
730 l6:
731   *(OOC_INT64*)((_check_pointer(i1, 58407))+56) = (OOC_INT64)0;
732 l8:
733   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 58552)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 58568))+64));
734   *(OOC_INT64*)((_check_pointer(i1, 58590))+72) = (OOC_INT64)0;
735   *(OOC_INT32*)((_check_pointer(i1, 58617))+80) = 0;
736   return;
737   ;
738 }
739 
OOC_SymbolTable__DeclarationDesc_Name(OOC_SymbolTable__Declaration decl)740 Object__String OOC_SymbolTable__DeclarationDesc_Name(OOC_SymbolTable__Declaration decl) {
741   register OOC_INT64 i0,i1;
742 
743   i0 = (OOC_INT64)decl;
744   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 58876))+40);
745   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 58881))+16);
746   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 58876))+40);
747   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 58881))+16);
748   i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 58885)), 0);
749   i0 = (OOC_INT64)Object__NewLatin1((void*)(_check_pointer(i0, 58885)), i1);
750   return (Object__String)i0;
751   ;
752 }
753 
OOC_SymbolTable__DeclarationDesc_IncrUsageCounter(OOC_SymbolTable__Declaration decl)754 void OOC_SymbolTable__DeclarationDesc_IncrUsageCounter(OOC_SymbolTable__Declaration decl) {
755   register OOC_INT64 i0,i1;
756 
757   i0 = (OOC_INT64)decl;
758   i1 = *(OOC_INT32*)((_check_pointer(i0, 58971))+80);
759   *(OOC_INT32*)((_check_pointer(i0, 58971))+80) = (i1+1);
760   return;
761   ;
762 }
763 
OOC_SymbolTable__ExportTypePosition(OOC_SymbolTable__Type type)764 static OOC_CHAR8 OOC_SymbolTable__ExportTypePosition(OOC_SymbolTable__Type type) {
765   register OOC_INT64 i0,i1;
766 
767   i0 = (OOC_INT64)type;
768   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 59391)))), &_td_OOC_SymbolTable__PointerDesc);
769   if (i1) goto l3;
770   i0=0u;
771   goto l4;
772 l3:
773   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 59410))+48);
774   i0 = i0==(OOC_INT64)0;
775 
776 l4:
777   return i0;
778   ;
779 }
780 
OOC_SymbolTable__InitType(OOC_SymbolTable__Type type,OOC_SymbolTable__Item parent,OOC_SymbolTable__Position position)781 void OOC_SymbolTable__InitType(OOC_SymbolTable__Type type, OOC_SymbolTable__Item parent, OOC_SymbolTable__Position position) {
782   register OOC_INT64 i0,i1;
783 
784   i0 = (OOC_INT64)parent;
785   i1 = (OOC_INT64)type;
786   OOC_SymbolTable__InitItem((OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Item)i0);
787   i0 = (OOC_INT64)position;
788   *(OOC_INT64*)((_check_pointer(i1, 59571))+40) = i0;
789   *(OOC_INT64*)((_check_pointer(i1, 59603))+48) = (OOC_INT64)0;
790   *(OOC_INT64*)((_check_pointer(i1, 59632))+56) = (OOC_INT64)0;
791   *(OOC_INT32*)((_check_pointer(i1, 59659))+64) = (-2);
792   *(OOC_INT16*)((_check_pointer(i1, 59690))+68) = 1;
793   *(OOC_UINT8*)((_check_pointer(i1, 59712))+70) = 1u;
794   return;
795   ;
796 }
797 
OOC_SymbolTable__TypeDesc_PreciousTypePars(OOC_SymbolTable__Type type)798 OOC_CHAR8 OOC_SymbolTable__TypeDesc_PreciousTypePars(OOC_SymbolTable__Type type) {
799   register OOC_INT64 i0,i1;
800 
801   i0 = (OOC_INT64)type;
802   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 60070))+56);
803   i1 = i1!=(OOC_INT64)0;
804   if (i1) goto l3;
805   i0=0u;
806   goto l4;
807 l3:
808   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 60094))+56);
809   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 60103))+16);
810   i0 = i0!=(OOC_INT64)0;
811 
812 l4:
813   return i0;
814   ;
815 }
816 
OOC_SymbolTable__TypeDesc_IsCheckedException(OOC_SymbolTable__Type type)817 OOC_CHAR8 OOC_SymbolTable__TypeDesc_IsCheckedException(OOC_SymbolTable__Type type) {
818   register OOC_INT64 i0,i1;
819   OOC_SymbolTable__Type ptr;
820 
821   i0 = (OOC_INT64)type;
822   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60246)))), &_td_OOC_SymbolTable__PointerDesc);
823   if (i1) goto l3;
824   return 1u;
825   goto l8;
826 l3:
827   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60280)))), OOC_SymbolTable__TypeDesc_Deparam)),OOC_SymbolTable__TypeDesc_Deparam)((OOC_SymbolTable__Type)i0);
828   ptr = (OOC_SymbolTable__Type)i0;
829   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60309)))), &_td_OOC_SymbolTable__PointerDesc, 60309)), 60317))+72);
830   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60309)))), &_td_OOC_SymbolTable__PointerDesc, 60309)), 60317))+72);
831   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 60326)))), OOC_SymbolTable__TypeDesc_Deparam)),OOC_SymbolTable__TypeDesc_Deparam)((OOC_SymbolTable__Type)i0);
832   ptr = (OOC_SymbolTable__Type)i0;
833   i1 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60357)))), &_td_OOC_SymbolTable__RecordDesc));
834   if (i1) goto l6;
835   i0 = *(OOC_UINT8*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60376)))), &_td_OOC_SymbolTable__RecordDesc, 60376)), 60383))+107);
836   i0 = !i0;
837 
838   goto l7;
839 l6:
840   i0=1u;
841 l7:
842   return i0;
843 l8:
844   _failed_function(60172); return 0;
845   ;
846 }
847 
OOC_SymbolTable__TypeDesc_Store(OOC_SymbolTable__Type type,ADT_Storable__Writer w)848 void OOC_SymbolTable__TypeDesc_Store(OOC_SymbolTable__Type type, ADT_Storable__Writer w) {
849   register OOC_INT64 i0,i1,i2;
850 
851   i0 = (OOC_INT64)w;
852   i1 = (OOC_INT64)type;
853   OOC_SymbolTable__ItemDesc_Store((OOC_SymbolTable__Item)i1, (ADT_Storable__Writer)i0);
854   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 60592))+48);
855   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60573)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i2);
856   i2 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 60618)))), OOC_SymbolTable__TypeDesc_PreciousTypePars)),OOC_SymbolTable__TypeDesc_PreciousTypePars)((OOC_SymbolTable__Type)i1);
857   if (i2) goto l3;
858   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60695)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)(OOC_INT64)0);
859   goto l4;
860 l3:
861   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 60667))+56);
862   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60650)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i2);
863 l4:
864   i2 = OOC_SymbolTable__ExportTypePosition((OOC_SymbolTable__Type)i1);
865   if (!i2) goto l7;
866   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 60787))+40);
867   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60768)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i2);
868 l7:
869   i2 = *(OOC_INT32*)((_check_pointer(i1, 60830))+64);
870   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60814)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, i2);
871   i2 = *(OOC_INT16*)((_check_pointer(i1, 60860))+68);
872   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60844)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, i2);
873   i1 = *(OOC_UINT8*)((_check_pointer(i1, 60892))+70);
874   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 60875)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i1);
875   return;
876   ;
877 }
878 
OOC_SymbolTable__TypeDesc_Load(OOC_SymbolTable__Type type,ADT_Storable__Reader r)879 void OOC_SymbolTable__TypeDesc_Load(OOC_SymbolTable__Type type, ADT_Storable__Reader r) {
880   register OOC_INT64 i0,i1,i2,i3;
881   Object__Object obj;
882   OOC_INT32 i;
883 
884   i0 = (OOC_INT64)r;
885   i1 = (OOC_INT64)type;
886   OOC_SymbolTable__ItemDesc_Load((OOC_SymbolTable__Item)i1, (ADT_Storable__Reader)i0);
887   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 61071)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
888   i2 = (OOC_INT64)obj;
889   i3 = i2==(OOC_INT64)0;
890   if (i3) goto l3;
891   *(OOC_INT64*)((_check_pointer(i1, 61164))+48) = (_type_guard(i2, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 61184)))), &_td_OOC_SymbolTable__TypeDeclDesc, 61184));
892   goto l4;
893 l3:
894   *(OOC_INT64*)((_check_pointer(i1, 61125))+48) = (OOC_INT64)0;
895 l4:
896   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 61208)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
897   i2 = (OOC_INT64)obj;
898   i3 = i2==(OOC_INT64)0;
899   if (i3) goto l7;
900   *(OOC_INT64*)((_check_pointer(i1, 61299))+56) = (_type_guard(i2, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 61317)))), &_td_OOC_SymbolTable__TypeParsDesc, 61317));
901   goto l8;
902 l7:
903   *(OOC_INT64*)((_check_pointer(i1, 61262))+56) = (OOC_INT64)0;
904 l8:
905   i2 = OOC_SymbolTable__ExportTypePosition((OOC_SymbolTable__Type)i1);
906   if (i2) goto l11;
907   i2 = (OOC_INT64)OOC_SymbolTable__importPosition;
908   *(OOC_INT64*)((_check_pointer(i1, 61459))+40) = i2;
909   goto l12;
910 l11:
911   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 61381)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
912   i2 = (OOC_INT64)obj;
913   *(OOC_INT64*)((_check_pointer(i1, 61411))+40) = (_type_guard(i2, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 61429)))), &_td_OOC_SymbolTable__PositionDesc, 61429));
914 l12:
915   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 61503)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 61518))+64));
916   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 61532)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i0, (void*)(OOC_INT64)&i);
917   i2 = i;
918   *(OOC_INT16*)((_check_pointer(i1, 61555))+68) = i2;
919   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 61582)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 61598))+70));
920   return;
921   ;
922 }
923 
OOC_SymbolTable__TypeDesc_SetNamingDecl(OOC_SymbolTable__Type type,OOC_SymbolTable__TypeDecl namingDecl)924 void OOC_SymbolTable__TypeDesc_SetNamingDecl(OOC_SymbolTable__Type type, OOC_SymbolTable__TypeDecl namingDecl) {
925   register OOC_INT64 i0,i1;
926 
927   i0 = (OOC_INT64)type;
928   i1 = (OOC_INT64)namingDecl;
929   *(OOC_INT64*)((_check_pointer(i0, 61795))+48) = i1;
930   return;
931   ;
932 }
933 
OOC_SymbolTable__TypeDesc_SetTypePars(OOC_SymbolTable__Type type,OOC_SymbolTable__TypePars typePars)934 void OOC_SymbolTable__TypeDesc_SetTypePars(OOC_SymbolTable__Type type, OOC_SymbolTable__TypePars typePars) {
935   register OOC_INT64 i0,i1;
936 
937   i0 = (OOC_INT64)type;
938   i1 = (OOC_INT64)typePars;
939   *(OOC_INT64*)((_check_pointer(i0, 61985))+56) = i1;
940   return;
941   ;
942 }
943 
OOC_SymbolTable__TypeDesc_SetSize(OOC_SymbolTable__Type type,OOC_INT32 size,OOC_INT16 align)944 void OOC_SymbolTable__TypeDesc_SetSize(OOC_SymbolTable__Type type, OOC_INT32 size, OOC_INT16 align) {
945   register OOC_INT64 i0,i1;
946 
947   i0 = (OOC_INT64)type;
948   i1 = size;
949   *(OOC_INT32*)((_check_pointer(i0, 62110))+64) = i1;
950   i1 = align;
951   *(OOC_INT16*)((_check_pointer(i0, 62134))+68) = i1;
952   return;
953   ;
954 }
955 
OOC_SymbolTable__TypeDesc_ArrayDimensions(OOC_SymbolTable__Type type)956 OOC_INT32 OOC_SymbolTable__TypeDesc_ArrayDimensions(OOC_SymbolTable__Type type) {
957   register OOC_INT64 i0,i1,i2;
958   OOC_INT32 dim;
959 
960   dim = 0;
961   i0 = (OOC_INT64)type;
962   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 62398)))), &_td_OOC_SymbolTable__ArrayDesc);
963   if (i1) goto l3;
964   i0=0;
965   goto l9;
966 l3:
967   i1=i0;i0=0;
968 l4_loop:
969   i0 = i0+1;
970   dim = i0;
971   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 62447)))), &_td_OOC_SymbolTable__ArrayDesc, 62447)), 62453))+80);
972   type = (OOC_SymbolTable__Type)i1;
973   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 62398)))), &_td_OOC_SymbolTable__ArrayDesc);
974   if (i2) goto l4_loop;
975 l9:
976   return i0;
977   ;
978 }
979 
OOC_SymbolTable__TypeDesc_Deparam(OOC_SymbolTable__Type type)980 OOC_SymbolTable__Type OOC_SymbolTable__TypeDesc_Deparam(OOC_SymbolTable__Type type) {
981   register OOC_INT64 i0;
982 
983   i0 = (OOC_INT64)type;
984   return (OOC_SymbolTable__Type)i0;
985   ;
986 }
987 
OOC_SymbolTable__TypeDesc_Bound(OOC_SymbolTable__Type type)988 OOC_SymbolTable__Type OOC_SymbolTable__TypeDesc_Bound(OOC_SymbolTable__Type type) {
989   register OOC_INT64 i0;
990 
991   i0 = (OOC_INT64)type;
992   return (OOC_SymbolTable__Type)i0;
993   ;
994 }
995 
OOC_SymbolTable__TypeDesc_Closure(OOC_SymbolTable__Type type,OOC_SymbolTable__Type subType)996 OOC_SymbolTable__Type OOC_SymbolTable__TypeDesc_Closure(OOC_SymbolTable__Type type, OOC_SymbolTable__Type subType) {
997   register OOC_INT64 i0;
998 
999   i0 = (OOC_INT64)subType;
1000   i0 = (OOC_INT64)OOC_SymbolTable__Expand((OOC_SymbolTable__Type)i0);
1001   return (OOC_SymbolTable__Type)i0;
1002   ;
1003 }
1004 
OOC_SymbolTable__InitLinkDirective(OOC_SymbolTable__LinkDirective l)1005 static void OOC_SymbolTable__InitLinkDirective(OOC_SymbolTable__LinkDirective l) {
1006   register OOC_INT64 i0;
1007 
1008   i0 = (OOC_INT64)l;
1009   *(OOC_INT64*)(_check_pointer(i0, 63485)) = 0;
1010   return;
1011   ;
1012 }
1013 
OOC_SymbolTable__LinkDirectiveDesc_Store(OOC_SymbolTable__LinkDirective l,ADT_Storable__Writer w)1014 void OOC_SymbolTable__LinkDirectiveDesc_Store(OOC_SymbolTable__LinkDirective l, ADT_Storable__Writer w) {
1015   register OOC_INT64 i0,i1;
1016 
1017   i0 = (OOC_INT64)l;
1018   i1 = (OOC_INT64)w;
1019   i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 63629));
1020   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 63613)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i1, (Object__Object)i0);
1021   return;
1022   ;
1023 }
1024 
OOC_SymbolTable__LinkDirectiveDesc_Load(OOC_SymbolTable__LinkDirective l,ADT_Storable__Reader r)1025 void OOC_SymbolTable__LinkDirectiveDesc_Load(OOC_SymbolTable__LinkDirective l, ADT_Storable__Reader r) {
1026   register OOC_INT64 i0,i1;
1027   Object__Object obj;
1028 
1029   i0 = (OOC_INT64)r;
1030   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 63767)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
1031   i0 = (OOC_INT64)obj;
1032   i1 = i0==(OOC_INT64)0;
1033   if (i1) goto l3;
1034   i1 = (OOC_INT64)l;
1035   *(OOC_INT64*)(_check_pointer(i1, 63848)) = (_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 63862)))), &_td_OOC_SymbolTable__LinkDirectiveDesc, 63862));
1036   goto l4;
1037 l3:
1038   i0 = (OOC_INT64)l;
1039   *(OOC_INT64*)(_check_pointer(i0, 63818)) = (OOC_INT64)0;
1040 l4:
1041   return;
1042   ;
1043 }
1044 
OOC_SymbolTable__LinkFileDesc_Store(OOC_SymbolTable__LinkFile l,ADT_Storable__Writer w)1045 void OOC_SymbolTable__LinkFileDesc_Store(OOC_SymbolTable__LinkFile l, ADT_Storable__Writer w) {
1046   register OOC_INT64 i0,i1,i2;
1047   auto void OOC_SymbolTable__LinkFileDesc_Store_WriteURI(ADT_Storable__Writer w, URI__HierarchicalURI uri);
1048 
1049     void OOC_SymbolTable__LinkFileDesc_Store_WriteURI(ADT_Storable__Writer w, URI__HierarchicalURI uri) {
1050       register OOC_INT64 i0,i1,i2;
1051       Object__String8 str8;
1052       Object__CharsLatin1 chars;
1053 
1054       i0 = (OOC_INT64)uri;
1055       i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 64150)))), URI__URIDesc_ToString)),URI__URIDesc_ToString)((URI__URI)i0);
1056       str8 = (Object__String8)i0;
1057       i0 = (OOC_INT64)Object__String8Desc_CharsLatin1((Object__String8)i0);
1058       chars = (Object__CharsLatin1)i0;
1059       i1 = (OOC_INT64)w;
1060       i2 = OOC_ARRAY_LENGTH((_check_pointer(i0, 64223)), 0);
1061       OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 64205)))), IO_BinaryRider__WriterDesc_WriteString)),IO_BinaryRider__WriterDesc_WriteString)((IO_BinaryRider__Writer)i1, (void*)(_check_pointer(i0, 64223)), i2);
1062       return;
1063       ;
1064     }
1065 
1066 
1067   i0 = (OOC_INT64)w;
1068   i1 = (OOC_INT64)l;
1069   OOC_SymbolTable__LinkDirectiveDesc_Store((OOC_SymbolTable__LinkDirective)i1, (ADT_Storable__Writer)i0);
1070   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 64293))+8);
1071   OOC_SymbolTable__LinkFileDesc_Store_WriteURI((ADT_Storable__Writer)i0, (URI__HierarchicalURI)i1);
1072   i0 = (OOC_INT64)l;
1073   i1 = (OOC_INT64)w;
1074   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 64320))+16);
1075   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 64307)))), IO_BinaryRider__WriterDesc_WriteStr)),IO_BinaryRider__WriterDesc_WriteStr)((IO_BinaryRider__Writer)i1, (Object__String)i2);
1076   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 64355))+24);
1077   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 64342)))), IO_BinaryRider__WriterDesc_WriteStr)),IO_BinaryRider__WriterDesc_WriteStr)((IO_BinaryRider__Writer)i1, (Object__String)i0);
1078   return;
1079   ;
1080 }
1081 
OOC_SymbolTable__ReadString8(ADT_Storable__Reader r)1082 static Object__String OOC_SymbolTable__ReadString8(ADT_Storable__Reader r) {
1083   register OOC_INT64 i0,i1;
1084   Object__String str;
1085 
1086   i0 = (OOC_INT64)r;
1087   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 64489)))), IO_BinaryRider__ReaderDesc_ReadStr)),IO_BinaryRider__ReaderDesc_ReadStr)((IO_BinaryRider__Reader)i0, (void*)(OOC_INT64)&str);
1088   i0 = (OOC_INT64)str;
1089   i1 = i0==(OOC_INT64)0;
1090   if (i1) goto l3;
1091   return (Object__String)i0;
1092   goto l4;
1093 l3:
1094   return (Object__String)(OOC_INT64)0;
1095 l4:
1096   _failed_function(64396); return 0;
1097   ;
1098 }
1099 
OOC_SymbolTable__LinkFileDesc_Load(OOC_SymbolTable__LinkFile l,ADT_Storable__Reader r)1100 void OOC_SymbolTable__LinkFileDesc_Load(OOC_SymbolTable__LinkFile l, ADT_Storable__Reader r) {
1101   register OOC_INT64 i0,i1,i2;
1102   auto void OOC_SymbolTable__LinkFileDesc_Load_ReadURI(volatile ADT_Storable__Reader r, volatile URI__HierarchicalURI *uri);
1103 
1104     void OOC_SymbolTable__LinkFileDesc_Load_ReadURI(volatile ADT_Storable__Reader r, volatile URI__HierarchicalURI *uri) {
1105       register OOC_INT64 i0,i1;
1106       volatile OOC_CHAR8 b[1024];
1107       volatile URI__URI u;
1108       jmp_buf _target0;
1109       Exception__Context _context0;
1110 
1111       i0 = (OOC_INT64)r;
1112       OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 64832)))), IO_BinaryRider__ReaderDesc_ReadString)),IO_BinaryRider__ReaderDesc_ReadString)((IO_BinaryRider__Reader)i0, (void*)(OOC_INT64)b, 1024);
1113       {
1114         Exception__PushContext(&_context0, &_target0);
1115         if (!setjmp(_target0)) goto l7;
1116         Exception__PopContext(1);
1117         i0 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG(((OOC_INT64)Exception__Current()))), &_td_Exception__ParseErrorDesc);
1118         if (i0) goto l5;
1119         Exception__ActivateContext();
1120         goto l6;
1121 l5:
1122         _assert(0u, 127, 65063);
1123 l6:
1124         Exception__Clear();
1125         goto l8;
1126 l7:
1127         i0 = (OOC_INT64)OOC_SymbolTable__emptyBaseURI;
1128         i0 = (OOC_INT64)URI_Parser__NewURILatin1((void*)(OOC_INT64)b, 1024, (URI__HierarchicalURI)i0);
1129         u = (URI__URI)i0;
1130         Exception__PopContext(1);
1131 l8:;
1132       }
1133       i0 = (OOC_INT64)u;
1134       i1 = (OOC_INT64)OOC_SymbolTable__emptyBaseURI;
1135       i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 65185)))), &_td_URI__HierarchicalURIDesc, 65185)), 65201)))), URI__HierarchicalURIDesc_MakeRelative)),URI__HierarchicalURIDesc_MakeRelative)((URI__HierarchicalURI)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 65185)))), &_td_URI__HierarchicalURIDesc, 65185)), (URI__HierarchicalURI)i1);
1136       u = (URI__URI)i0;
1137       *uri = (URI__HierarchicalURI)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 65251)))), &_td_URI__HierarchicalURIDesc, 65251));
1138       return;
1139       ;
1140     }
1141 
1142 
1143   i0 = (OOC_INT64)r;
1144   i1 = (OOC_INT64)l;
1145   OOC_SymbolTable__LinkDirectiveDesc_Load((OOC_SymbolTable__LinkDirective)i1, (ADT_Storable__Reader)i0);
1146   OOC_SymbolTable__LinkFileDesc_Load_ReadURI((ADT_Storable__Reader)i0, (void*)((_check_pointer(i1, 65332))+8));
1147   i0 = (OOC_INT64)l;
1148   i1 = (OOC_INT64)r;
1149   i2 = (OOC_INT64)OOC_SymbolTable__ReadString8((ADT_Storable__Reader)i1);
1150   *(OOC_INT64*)((_check_pointer(i0, 65346))+16) = i2;
1151   i1 = (OOC_INT64)OOC_SymbolTable__ReadString8((ADT_Storable__Reader)i1);
1152   *(OOC_INT64*)((_check_pointer(i0, 65384))+24) = i1;
1153   return;
1154   ;
1155 }
1156 
OOC_SymbolTable__LinkLibDesc_Store(OOC_SymbolTable__LinkLib l,ADT_Storable__Writer w)1157 void OOC_SymbolTable__LinkLibDesc_Store(OOC_SymbolTable__LinkLib l, ADT_Storable__Writer w) {
1158   register OOC_INT64 i0,i1,i2,i3,i4,i5;
1159   OOC_INT32 i;
1160 
1161   i0 = (OOC_INT64)w;
1162   i1 = (OOC_INT64)l;
1163   OOC_SymbolTable__LinkDirectiveDesc_Store((OOC_SymbolTable__LinkDirective)i1, (ADT_Storable__Writer)i0);
1164   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 65566))+8);
1165   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 65553)))), IO_BinaryRider__WriterDesc_WriteStr)),IO_BinaryRider__WriterDesc_WriteStr)((IO_BinaryRider__Writer)i0, (Object__String)i2);
1166   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 65600))+24);
1167   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 65587)))), IO_BinaryRider__WriterDesc_WriteStr)),IO_BinaryRider__WriterDesc_WriteStr)((IO_BinaryRider__Writer)i0, (Object__String)i2);
1168   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 65635))+32);
1169   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 65622)))), IO_BinaryRider__WriterDesc_WriteStr)),IO_BinaryRider__WriterDesc_WriteStr)((IO_BinaryRider__Writer)i0, (Object__String)i2);
1170   i2 = *(OOC_INT32*)((_check_pointer(i1, 65670))+40);
1171   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 65657)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, i2);
1172   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 65702))+16);
1173   i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 65716)), 0);
1174   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 65684)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, i2);
1175   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 65745))+16);
1176   i = 0;
1177   i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 65759)), 0);
1178   i3 = 0<i2;
1179   if (!i3) goto l8;
1180   i3=0;
1181 l3_loop:
1182   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 65787))+16);
1183   i4 = _check_pointer(i4, 65801);
1184   i5 = OOC_ARRAY_LENGTH(i4, 0);
1185   i4 = (OOC_INT64)*(OOC_INT64*)(i4+(_check_index(i3, i5, OOC_UINT32, 65801))*8);
1186   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 65774)))), IO_BinaryRider__WriterDesc_WriteStr)),IO_BinaryRider__WriterDesc_WriteStr)((IO_BinaryRider__Writer)i0, (Object__String)i4);
1187   i3 = i3+1;
1188   i = i3;
1189   i4 = i3<i2;
1190   if (i4) goto l3_loop;
1191 l8:
1192   return;
1193   ;
1194 }
1195 
OOC_SymbolTable__LinkLibDesc_Load(OOC_SymbolTable__LinkLib l,ADT_Storable__Reader r)1196 void OOC_SymbolTable__LinkLibDesc_Load(OOC_SymbolTable__LinkLib l, ADT_Storable__Reader r) {
1197   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
1198   OOC_INT32 len;
1199   OOC_INT32 i;
1200 
1201   i0 = (OOC_INT64)r;
1202   i1 = (OOC_INT64)l;
1203   OOC_SymbolTable__LinkDirectiveDesc_Load((OOC_SymbolTable__LinkDirective)i1, (ADT_Storable__Reader)i0);
1204   i2 = (OOC_INT64)OOC_SymbolTable__ReadString8((ADT_Storable__Reader)i0);
1205   *(OOC_INT64*)((_check_pointer(i1, 65953))+8) = i2;
1206   i2 = (OOC_INT64)OOC_SymbolTable__ReadString8((ADT_Storable__Reader)i0);
1207   *(OOC_INT64*)((_check_pointer(i1, 65990))+24) = i2;
1208   i2 = (OOC_INT64)OOC_SymbolTable__ReadString8((ADT_Storable__Reader)i0);
1209   *(OOC_INT64*)((_check_pointer(i1, 66028))+32) = i2;
1210   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 66066)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 66078))+40));
1211   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 66091)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i0, (void*)(OOC_INT64)&len);
1212   i2 = len;
1213   *(OOC_INT64*)((_check_pointer(i1, 66118))+16) = ((OOC_INT64)RT0__NewObject(_td_Object__StringArrayPtr.baseTypes[0], i2));
1214   i = 0;
1215   i3 = 0<i2;
1216   if (!i3) goto l8;
1217   i3=0;
1218 l3_loop:
1219   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 66174))+16);
1220   i4 = _check_pointer(i4, 66188);
1221   i5 = OOC_ARRAY_LENGTH(i4, 0);
1222   i6 = (OOC_INT64)OOC_SymbolTable__ReadString8((ADT_Storable__Reader)i0);
1223   *(OOC_INT64*)(i4+(_check_index(i3, i5, OOC_UINT32, 66188))*8) = i6;
1224   i3 = i3+1;
1225   i = i3;
1226   i4 = i3<i2;
1227   if (i4) goto l3_loop;
1228 l8:
1229   return;
1230   ;
1231 }
1232 
OOC_SymbolTable__InitModule(OOC_SymbolTable__Module mod,OOC_SymbolTable__Name name,OOC_Doc__Document docString,OOC_INT8 _class,OOC_INT8 callConv,OOC_AST__Node moduleAST,OOC_SymbolTable__ProcDecl bodyDecl)1233 void OOC_SymbolTable__InitModule(OOC_SymbolTable__Module mod, OOC_SymbolTable__Name name, OOC_Doc__Document docString, OOC_INT8 _class, OOC_INT8 callConv, OOC_AST__Node moduleAST, OOC_SymbolTable__ProcDecl bodyDecl) {
1234   register OOC_INT64 i0,i1,i2;
1235 
1236   i0 = (OOC_INT64)docString;
1237   i1 = (OOC_INT64)name;
1238   i2 = (OOC_INT64)mod;
1239   OOC_SymbolTable__InitDeclaration((OOC_SymbolTable__Declaration)i2, (OOC_SymbolTable__Item)(OOC_INT64)0, (OOC_SymbolTable__Name)i1, 0, 1, (OOC_Doc__Document)i0);
1240   *(OOC_INT64*)((_check_pointer(i2, 66516))+88) = (OOC_INT64)0;
1241   i0 = _class;
1242   *(OOC_INT8*)((_check_pointer(i2, 66536))+96) = i0;
1243   *(OOC_INT64*)((_check_pointer(i2, 66561))+104) = (OOC_INT64)0;
1244   i0 = callConv;
1245   *(OOC_INT8*)((_check_pointer(i2, 66590))+112) = i0;
1246   *(OOC_INT64*)((_check_pointer(i2, 66621))+120) = (OOC_INT64)0;
1247   *(OOC_INT32*)((_check_pointer(i2, 66653))+128) = 0;
1248   *(OOC_INT64*)((_check_pointer(i2, 66680))+136) = (OOC_INT64)0;
1249   i0 = (OOC_INT64)moduleAST;
1250   *(OOC_INT64*)((_check_pointer(i2, 66711))+144) = i0;
1251   i0 = (OOC_INT64)bodyDecl;
1252   *(OOC_INT64*)((_check_pointer(i2, 66744))+152) = i0;
1253   return;
1254   ;
1255 }
1256 
OOC_SymbolTable__ModuleDesc_Store(OOC_SymbolTable__Module mod,ADT_Storable__Writer w)1257 void OOC_SymbolTable__ModuleDesc_Store(OOC_SymbolTable__Module mod, ADT_Storable__Writer w) {
1258   register OOC_INT64 i0,i1,i2;
1259 
1260   i0 = (OOC_INT64)w;
1261   i1 = (OOC_INT64)mod;
1262   OOC_SymbolTable__DeclarationDesc_Store((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Writer)i0);
1263   i2 = *(OOC_INT8*)((_check_pointer(i1, 66934))+96);
1264   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 66918)))), IO_BinaryRider__WriterDesc_WriteSInt)),IO_BinaryRider__WriterDesc_WriteSInt)((IO_BinaryRider__Writer)i0, i2);
1265   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 66964))+104);
1266   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 66949)))), IO_BinaryRider__WriterDesc_WriteStr)),IO_BinaryRider__WriterDesc_WriteStr)((IO_BinaryRider__Writer)i0, (Object__String)i2);
1267   i2 = *(OOC_INT8*)((_check_pointer(i1, 67000))+112);
1268   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 66984)))), IO_BinaryRider__WriterDesc_WriteSInt)),IO_BinaryRider__WriterDesc_WriteSInt)((IO_BinaryRider__Writer)i0, i2);
1269   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 67036))+120);
1270   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 67018)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i1);
1271   return;
1272   ;
1273 }
1274 
OOC_SymbolTable__ModuleDesc_Load(OOC_SymbolTable__Module mod,ADT_Storable__Reader r)1275 void OOC_SymbolTable__ModuleDesc_Load(OOC_SymbolTable__Module mod, ADT_Storable__Reader r) {
1276   register OOC_INT64 i0,i1,i2;
1277   Object__Object obj;
1278 
1279   i0 = (OOC_INT64)r;
1280   i1 = (OOC_INT64)mod;
1281   OOC_SymbolTable__DeclarationDesc_Load((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Reader)i0);
1282   *(OOC_INT64*)((_check_pointer(i1, 67201))+88) = (OOC_INT64)0;
1283   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 67219)))), IO_BinaryRider__ReaderDesc_ReadSInt)),IO_BinaryRider__ReaderDesc_ReadSInt)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 67234))+96));
1284   i2 = (OOC_INT64)OOC_SymbolTable__ReadString8((ADT_Storable__Reader)i0);
1285   *(OOC_INT64*)((_check_pointer(i1, 67251))+104) = i2;
1286   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 67288)))), IO_BinaryRider__ReaderDesc_ReadSInt)),IO_BinaryRider__ReaderDesc_ReadSInt)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 67303))+112));
1287   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 67321)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
1288   i0 = (OOC_INT64)obj;
1289   i2 = i0==(OOC_INT64)0;
1290   if (i2) goto l3;
1291   *(OOC_INT64*)((_check_pointer(i1, 67416))+120) = (_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 67440)))), &_td_OOC_SymbolTable__LinkDirectiveDesc, 67440));
1292   goto l4;
1293 l3:
1294   *(OOC_INT64*)((_check_pointer(i1, 67374))+120) = (OOC_INT64)0;
1295 l4:
1296   *(OOC_INT64*)((_check_pointer(i1, 67471))+136) = (OOC_INT64)0;
1297   *(OOC_INT64*)((_check_pointer(i1, 67502))+144) = (OOC_INT64)0;
1298   return;
1299   ;
1300 }
1301 
OOC_SymbolTable__ModuleDesc_SetNamespace(OOC_SymbolTable__Module mod,OOC_SymbolTable__Namespace ns)1302 void OOC_SymbolTable__ModuleDesc_SetNamespace(OOC_SymbolTable__Module mod, OOC_SymbolTable__Namespace ns) {
1303   register OOC_INT64 i0,i1;
1304 
1305   i0 = (OOC_INT64)mod;
1306   i1 = (OOC_INT64)ns;
1307   *(OOC_INT64*)((_check_pointer(i0, 67678))+88) = i1;
1308   return;
1309   ;
1310 }
1311 
OOC_SymbolTable__ModuleDesc_SetLibraryName(OOC_SymbolTable__Module mod,Object__String name)1312 void OOC_SymbolTable__ModuleDesc_SetLibraryName(OOC_SymbolTable__Module mod, Object__String name) {
1313   register OOC_INT64 i0,i1;
1314 
1315   i0 = (OOC_INT64)mod;
1316   i1 = (OOC_INT64)name;
1317   *(OOC_INT64*)((_check_pointer(i0, 67782))+104) = i1;
1318   return;
1319   ;
1320 }
1321 
OOC_SymbolTable__ModuleDesc_ClassToString(OOC_SymbolTable__Module mod)1322 Object__String OOC_SymbolTable__ModuleDesc_ClassToString(OOC_SymbolTable__Module mod) {
1323   register OOC_INT64 i0;
1324 
1325   i0 = (OOC_INT64)mod;
1326   i0 = *(OOC_INT8*)((_check_pointer(i0, 67897))+96);
1327   switch (i0) {
1328   case 0:
1329     return (Object__String)((OOC_INT64)_c0);
1330     goto l7;
1331   case 1:
1332     return (Object__String)((OOC_INT64)_c1);
1333     goto l7;
1334   case 2:
1335     return (Object__String)((OOC_INT64)_c2);
1336     goto l7;
1337   case 3:
1338     return (Object__String)((OOC_INT64)_c3);
1339     goto l7;
1340   default:
1341     _failed_case(i0, 67889);
1342     goto l7;
1343   }
1344 l7:
1345   _failed_function(67851); return 0;
1346   ;
1347 }
1348 
OOC_SymbolTable__ModuleDesc_CallConvToString(OOC_SymbolTable__Module mod)1349 Object__String OOC_SymbolTable__ModuleDesc_CallConvToString(OOC_SymbolTable__Module mod) {
1350   register OOC_INT64 i0;
1351 
1352   i0 = (OOC_INT64)mod;
1353   i0 = *(OOC_INT8*)((_check_pointer(i0, 68159))+112);
1354   switch (i0) {
1355   case (-1):
1356     return (Object__String)((OOC_INT64)_c4);
1357     goto l9;
1358   case 0:
1359     return (Object__String)((OOC_INT64)_c5);
1360     goto l9;
1361   case 1:
1362     return (Object__String)((OOC_INT64)_c6);
1363     goto l9;
1364   case 2:
1365     return (Object__String)((OOC_INT64)_c7);
1366     goto l9;
1367   case 3:
1368     return (Object__String)((OOC_INT64)_c8);
1369     goto l9;
1370   case 4:
1371     return (Object__String)((OOC_INT64)_c9);
1372     goto l9;
1373   default:
1374     _failed_case(i0, 68151);
1375     goto l9;
1376   }
1377 l9:
1378   _failed_function(68110); return 0;
1379   ;
1380 }
1381 
OOC_SymbolTable__NewLinkFile(URI__HierarchicalURI file,Object__String prefixOption,Object__String suffixOption)1382 static OOC_SymbolTable__LinkFile OOC_SymbolTable__NewLinkFile(URI__HierarchicalURI file, Object__String prefixOption, Object__String suffixOption) {
1383   register OOC_INT64 i0,i1;
1384   OOC_SymbolTable__LinkFile l;
1385 
1386   i0 = (OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__LinkFile.baseTypes[0]);
1387   l = (OOC_SymbolTable__LinkFile)i0;
1388   OOC_SymbolTable__InitLinkDirective((OOC_SymbolTable__LinkDirective)i0);
1389   i1 = (OOC_INT64)file;
1390   *(OOC_INT64*)((_check_pointer(i0, 68649))+8) = i1;
1391   i1 = (OOC_INT64)prefixOption;
1392   *(OOC_INT64*)((_check_pointer(i0, 68670))+16) = i1;
1393   i1 = (OOC_INT64)suffixOption;
1394   *(OOC_INT64*)((_check_pointer(i0, 68707))+24) = i1;
1395   return (OOC_SymbolTable__LinkFile)i0;
1396   ;
1397 }
1398 
OOC_SymbolTable__NewLinkLib(Object__String libraryName,Object__StringArrayPtr dependencies,Object__String prefixOption,Object__String suffixOption,OOC_INT32 type)1399 static OOC_SymbolTable__LinkLib OOC_SymbolTable__NewLinkLib(Object__String libraryName, Object__StringArrayPtr dependencies, Object__String prefixOption, Object__String suffixOption, OOC_INT32 type) {
1400   register OOC_INT64 i0,i1;
1401   OOC_SymbolTable__LinkLib l;
1402 
1403   i0 = (OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__LinkLib.baseTypes[0]);
1404   l = (OOC_SymbolTable__LinkLib)i0;
1405   OOC_SymbolTable__InitLinkDirective((OOC_SymbolTable__LinkDirective)i0);
1406   i1 = (OOC_INT64)libraryName;
1407   *(OOC_INT64*)((_check_pointer(i0, 69054))+8) = i1;
1408   i1 = (OOC_INT64)dependencies;
1409   *(OOC_INT64*)((_check_pointer(i0, 69089))+16) = i1;
1410   i1 = (OOC_INT64)prefixOption;
1411   *(OOC_INT64*)((_check_pointer(i0, 69126))+24) = i1;
1412   i1 = (OOC_INT64)suffixOption;
1413   *(OOC_INT64*)((_check_pointer(i0, 69163))+32) = i1;
1414   i1 = type;
1415   *(OOC_INT32*)((_check_pointer(i0, 69200))+40) = i1;
1416   return (OOC_SymbolTable__LinkLib)i0;
1417   ;
1418 }
1419 
OOC_SymbolTable__AddLinkDirective(OOC_SymbolTable__LinkDirective * list,OOC_SymbolTable__LinkDirective l)1420 static void OOC_SymbolTable__AddLinkDirective(OOC_SymbolTable__LinkDirective *list, OOC_SymbolTable__LinkDirective l) {
1421   register OOC_INT64 i0,i1;
1422 
1423   i0 = (OOC_INT64)*list;
1424   i1 = i0==(OOC_INT64)0;
1425   if (i1) goto l3;
1426   i1 = (OOC_INT64)l;
1427   OOC_SymbolTable__AddLinkDirective((void*)(_check_pointer(i0, 69428)), (OOC_SymbolTable__LinkDirective)i1);
1428   goto l4;
1429 l3:
1430   i0 = (OOC_INT64)l;
1431   *(OOC_INT64*)(_check_pointer(i0, 69360)) = (OOC_INT64)0;
1432   *list = (OOC_SymbolTable__LinkDirective)i0;
1433 l4:
1434   return;
1435   ;
1436 }
1437 
OOC_SymbolTable__ModuleDesc_AddLinkFile(OOC_SymbolTable__Module mod,URI__HierarchicalURI file,Object__String prefixOption,Object__String suffixOption)1438 void OOC_SymbolTable__ModuleDesc_AddLinkFile(OOC_SymbolTable__Module mod, URI__HierarchicalURI file, Object__String prefixOption, Object__String suffixOption) {
1439   register OOC_INT64 i0,i1,i2;
1440 
1441   i0 = (OOC_INT64)file;
1442   _assert((i0!=(OOC_INT64)0), 127, 69622);
1443   i1 = (OOC_INT64)prefixOption;
1444   i2 = (OOC_INT64)suffixOption;
1445   i0 = (OOC_INT64)OOC_SymbolTable__NewLinkFile((URI__HierarchicalURI)i0, (Object__String)i1, (Object__String)i2);
1446   i1 = (OOC_INT64)mod;
1447   OOC_SymbolTable__AddLinkDirective((void*)((_check_pointer(i1, 69668))+120), (OOC_SymbolTable__LinkDirective)i0);
1448   return;
1449   ;
1450 }
1451 
OOC_SymbolTable__ModuleDesc_AddLinkLib(OOC_SymbolTable__Module mod,Object__String libraryName,Object__StringArrayPtr dependencies,Object__String prefixOption,Object__String suffixOption,OOC_INT32 type)1452 void OOC_SymbolTable__ModuleDesc_AddLinkLib(OOC_SymbolTable__Module mod, Object__String libraryName, Object__StringArrayPtr dependencies, Object__String prefixOption, Object__String suffixOption, OOC_INT32 type) {
1453   register OOC_INT64 i0,i1,i2,i3,i4;
1454 
1455   i0 = (OOC_INT64)libraryName;
1456   _assert((i0!=(OOC_INT64)0), 127, 70046);
1457   i1 = (OOC_INT64)dependencies;
1458   i2 = (OOC_INT64)prefixOption;
1459   i3 = (OOC_INT64)suffixOption;
1460   i4 = type;
1461   i0 = (OOC_INT64)OOC_SymbolTable__NewLinkLib((Object__String)i0, (Object__StringArrayPtr)i1, (Object__String)i2, (Object__String)i3, i4);
1462   i1 = (OOC_INT64)mod;
1463   OOC_SymbolTable__AddLinkDirective((void*)((_check_pointer(i1, 70099))+120), (OOC_SymbolTable__LinkDirective)i0);
1464   return;
1465   ;
1466 }
1467 
OOC_SymbolTable__ModuleDesc_NoObjectFile(OOC_SymbolTable__Module mod)1468 OOC_CHAR8 OOC_SymbolTable__ModuleDesc_NoObjectFile(OOC_SymbolTable__Module mod) {
1469   register OOC_INT64 i0,i1;
1470   OOC_SymbolTable__LinkDirective l;
1471 
1472   i0 = (OOC_INT64)mod;
1473   i1 = *(OOC_INT8*)((_check_pointer(i0, 70758))+96);
1474   i1 = i1==3;
1475   if (i1) goto l3;
1476   i1 = *(OOC_INT8*)((_check_pointer(i0, 70787))+96);
1477   i1 = i1==2;
1478 
1479   goto l5;
1480 l3:
1481   i1=1u;
1482 l5:
1483   if (i1) goto l7;
1484   i0 = *(OOC_INT8*)((_check_pointer(i0, 70968))+96);
1485   return (i0==1);
1486   goto l25;
1487 l7:
1488   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 70826))+120);
1489   l = (OOC_SymbolTable__LinkDirective)i0;
1490   i1 = i0!=(OOC_INT64)0;
1491   if (i1) goto l10;
1492   i1=0u;
1493   goto l12;
1494 l10:
1495   i1 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 70871)))), &_td_OOC_SymbolTable__LinkFileDesc));
1496 
1497 l12:
1498   if (!i1) goto l24;
1499 l15_loop:
1500   i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 70901));
1501   l = (OOC_SymbolTable__LinkDirective)i0;
1502   i1 = i0!=(OOC_INT64)0;
1503   if (i1) goto l18;
1504   i1=0u;
1505   goto l20;
1506 l18:
1507   i1 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 70871)))), &_td_OOC_SymbolTable__LinkFileDesc));
1508 
1509 l20:
1510   if (i1) goto l15_loop;
1511 l24:
1512   return (i0==(OOC_INT64)0);
1513 l25:
1514   _failed_function(70290); return 0;
1515   ;
1516 }
1517 
OOC_SymbolTable__ModuleDesc_GetExternalSource(OOC_SymbolTable__Module mod,URI__HierarchicalURI rootURI)1518 URI__HierarchicalURI OOC_SymbolTable__ModuleDesc_GetExternalSource(OOC_SymbolTable__Module mod, URI__HierarchicalURI rootURI) {
1519   register OOC_INT64 i0,i1,i2,i3;
1520   OOC_SymbolTable__LinkDirective l;
1521 
1522   i0 = (OOC_INT64)mod;
1523   i1 = *(OOC_INT8*)((_check_pointer(i0, 71450))+96);
1524   i1 = i1==2;
1525   if (i1) goto l3;
1526   i1 = *(OOC_INT8*)((_check_pointer(i0, 71478))+96);
1527   i1 = i1==3;
1528 
1529   goto l4;
1530 l3:
1531   i1=1u;
1532 l4:
1533   _assert(i1, 127, 71438);
1534   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 71515))+120);
1535   l = (OOC_SymbolTable__LinkDirective)i0;
1536   i1 = i0!=(OOC_INT64)0;
1537   if (i1) goto l7;
1538   i1=0u;
1539   goto l9;
1540 l7:
1541   i1 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 71559)))), &_td_OOC_SymbolTable__LinkFileDesc));
1542 
1543 l9:
1544   if (!i1) goto l21;
1545 l12_loop:
1546   i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 71587));
1547   l = (OOC_SymbolTable__LinkDirective)i0;
1548   i1 = i0!=(OOC_INT64)0;
1549   if (i1) goto l15;
1550   i1=0u;
1551   goto l17;
1552 l15:
1553   i1 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 71559)))), &_td_OOC_SymbolTable__LinkFileDesc));
1554 
1555 l17:
1556   if (i1) goto l12_loop;
1557 l21:
1558   i1 = i0==(OOC_INT64)0;
1559   if (i1) goto l24;
1560   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 71668)))), &_td_OOC_SymbolTable__LinkFileDesc, 71668)), 71677))+8);
1561   _assert((i1!=(OOC_INT64)0), 127, 71658);
1562   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 71700)))), &_td_OOC_SymbolTable__LinkFileDesc, 71700)), 71709))+8);
1563   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 71700)))), &_td_OOC_SymbolTable__LinkFileDesc, 71700)), 71709))+8);
1564   i3 = (OOC_INT64)rootURI;
1565   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 71715)))), URI__HierarchicalURIDesc_ResolveRelative)),URI__HierarchicalURIDesc_ResolveRelative)((URI__HierarchicalURI)i2, (URI__HierarchicalURI)i3);
1566   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 71759)))), &_td_OOC_SymbolTable__LinkFileDesc, 71759)), 71768))+8);
1567   return (URI__HierarchicalURI)i0;
1568   goto l25;
1569 l24:
1570   return (URI__HierarchicalURI)(OOC_INT64)0;
1571 l25:
1572   _failed_function(71044); return 0;
1573   ;
1574 }
1575 
OOC_SymbolTable__StringToCallConv(Object__String str)1576 OOC_INT8 OOC_SymbolTable__StringToCallConv(Object__String str) {
1577   register OOC_INT64 i0,i1;
1578 
1579   i0 = (OOC_INT64)str;
1580   i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 71881)))), Object__StringDesc_Equals)),Object__StringDesc_Equals)((Object__String)i0, (Object__Object)((OOC_INT64)_c10));
1581   if (i1) goto l11;
1582   i1 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 71935)))), Object__StringDesc_Equals)),Object__StringDesc_Equals)((Object__String)i0, (Object__Object)((OOC_INT64)_c11));
1583   if (i1) goto l9;
1584   i0 = OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 71999)))), Object__StringDesc_Equals)),Object__StringDesc_Equals)((Object__String)i0, (Object__Object)((OOC_INT64)_c12));
1585   if (i0) goto l7;
1586   return (-1);
1587   goto l12;
1588 l7:
1589   return 4;
1590   goto l12;
1591 l9:
1592   return 3;
1593   goto l12;
1594 l11:
1595   return 2;
1596 l12:
1597   _failed_function(71821); return 0;
1598   ;
1599 }
1600 
OOC_SymbolTable__InitImport(OOC_SymbolTable__Import import,OOC_SymbolTable__Item parent,OOC_SymbolTable__Name name,OOC_INT32 visibleFrom,OOC_Doc__Document docString,OOC_SymbolTable__Name moduleName)1601 void OOC_SymbolTable__InitImport(OOC_SymbolTable__Import import, OOC_SymbolTable__Item parent, OOC_SymbolTable__Name name, OOC_INT32 visibleFrom, OOC_Doc__Document docString, OOC_SymbolTable__Name moduleName) {
1602   register OOC_INT64 i0,i1,i2,i3,i4;
1603 
1604   i0 = (OOC_INT64)docString;
1605   i1 = visibleFrom;
1606   i2 = (OOC_INT64)name;
1607   i3 = (OOC_INT64)parent;
1608   i4 = (OOC_INT64)import;
1609   OOC_SymbolTable__InitDeclaration((OOC_SymbolTable__Declaration)i4, (OOC_SymbolTable__Item)i3, (OOC_SymbolTable__Name)i2, i1, 0, (OOC_Doc__Document)i0);
1610   i0 = (OOC_INT64)moduleName;
1611   *(OOC_INT64*)((_check_pointer(i4, 72407))+88) = i0;
1612   *(OOC_INT64*)((_check_pointer(i4, 72445))+96) = (OOC_INT64)0;
1613   return;
1614   ;
1615 }
1616 
OOC_SymbolTable__ImportDesc_SetExternalSymTab(OOC_SymbolTable__Import import,OOC_SymbolTable__Module symTab)1617 void OOC_SymbolTable__ImportDesc_SetExternalSymTab(OOC_SymbolTable__Import import, OOC_SymbolTable__Module symTab) {
1618   register OOC_INT64 i0,i1;
1619 
1620   i0 = (OOC_INT64)import;
1621   i1 = (OOC_INT64)symTab;
1622   *(OOC_INT64*)((_check_pointer(i0, 72571))+96) = i1;
1623   i1 = *(OOC_INT32*)((_check_pointer(i1, 72632))+128);
1624   *(OOC_INT32*)((_check_pointer(i0, 72609))+104) = i1;
1625   return;
1626   ;
1627 }
1628 
OOC_SymbolTable__ImportDesc_IsInternalImport(OOC_SymbolTable__Import import)1629 OOC_CHAR8 OOC_SymbolTable__ImportDesc_IsInternalImport(OOC_SymbolTable__Import import) {
1630   register OOC_INT64 i0;
1631 
1632   i0 = (OOC_INT64)import;
1633   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 72897))+88);
1634   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 72909))+16);
1635   return ((
1636   _cmp8((const void*)(_check_pointer(i0, 72914)),(const void*)(OOC_CHAR8*)"SYSTEM"))==0);
1637   ;
1638 }
1639 
OOC_SymbolTable__ImportDesc_Store(OOC_SymbolTable__Import import,ADT_Storable__Writer w)1640 void OOC_SymbolTable__ImportDesc_Store(OOC_SymbolTable__Import import, ADT_Storable__Writer w) {
1641   register OOC_INT64 i0,i1,i2;
1642 
1643   i0 = (OOC_INT64)w;
1644   i1 = (OOC_INT64)import;
1645   OOC_SymbolTable__DeclarationDesc_Store((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Writer)i0);
1646   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 73085))+88);
1647   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 73064)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i2);
1648   i1 = *(OOC_INT32*)((_check_pointer(i1, 73124))+104);
1649   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 73105)))), IO_BinaryRider__WriterDesc_WriteLInt)),IO_BinaryRider__WriterDesc_WriteLInt)((IO_BinaryRider__Writer)i0, i1);
1650   return;
1651   ;
1652 }
1653 
OOC_SymbolTable__ImportDesc_Load(OOC_SymbolTable__Import import,ADT_Storable__Reader r)1654 void OOC_SymbolTable__ImportDesc_Load(OOC_SymbolTable__Import import, ADT_Storable__Reader r) {
1655   register OOC_INT64 i0,i1,i2;
1656   Object__Object obj;
1657 
1658   i0 = (OOC_INT64)r;
1659   i1 = (OOC_INT64)import;
1660   OOC_SymbolTable__DeclarationDesc_Load((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Reader)i0);
1661   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 73291)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
1662   i2 = (OOC_INT64)obj;
1663   *(OOC_INT64*)((_check_pointer(i1, 73321))+88) = (_type_guard(i2, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 73341)))), &_td_OOC_SymbolTable__NameDesc, 73341));
1664   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 73353)))), IO_BinaryRider__ReaderDesc_ReadLInt)),IO_BinaryRider__ReaderDesc_ReadLInt)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 73371))+104));
1665   return;
1666   ;
1667 }
1668 
OOC_SymbolTable__InitConstDecl(OOC_SymbolTable__ConstDecl constDecl,OOC_SymbolTable__Item parent,OOC_SymbolTable__Name name,OOC_INT32 visibleFrom,OOC_INT8 exportMark,OOC_Doc__Document docString,Object_Boxed__Object value,OOC_SymbolTable__PredefType type,OOC_AST__Node constExpr)1669 void OOC_SymbolTable__InitConstDecl(OOC_SymbolTable__ConstDecl constDecl, OOC_SymbolTable__Item parent, OOC_SymbolTable__Name name, OOC_INT32 visibleFrom, OOC_INT8 exportMark, OOC_Doc__Document docString, Object_Boxed__Object value, OOC_SymbolTable__PredefType type, OOC_AST__Node constExpr) {
1670   register OOC_INT64 i0,i1,i2,i3,i4,i5;
1671 
1672   i0 = (OOC_INT64)docString;
1673   i1 = exportMark;
1674   i2 = visibleFrom;
1675   i3 = (OOC_INT64)name;
1676   i4 = (OOC_INT64)parent;
1677   i5 = (OOC_INT64)constDecl;
1678   OOC_SymbolTable__InitDeclaration((OOC_SymbolTable__Declaration)i5, (OOC_SymbolTable__Item)i4, (OOC_SymbolTable__Name)i3, i2, i1, (OOC_Doc__Document)i0);
1679   i0 = (OOC_INT64)value;
1680   *(OOC_INT64*)((_check_pointer(i5, 73838))+88) = i0;
1681   i0 = (OOC_INT64)type;
1682   *(OOC_INT64*)((_check_pointer(i5, 73869))+96) = i0;
1683   i0 = (OOC_INT64)constExpr;
1684   *(OOC_INT64*)((_check_pointer(i5, 73898))+104) = i0;
1685   return;
1686   ;
1687 }
1688 
OOC_SymbolTable__ConstDeclDesc_SetValueType(OOC_SymbolTable__ConstDecl constDecl,Object_Boxed__Object value,OOC_SymbolTable__PredefType type)1689 void OOC_SymbolTable__ConstDeclDesc_SetValueType(OOC_SymbolTable__ConstDecl constDecl, Object_Boxed__Object value, OOC_SymbolTable__PredefType type) {
1690   register OOC_INT64 i0,i1;
1691 
1692   i0 = (OOC_INT64)constDecl;
1693   i1 = (OOC_INT64)value;
1694   *(OOC_INT64*)((_check_pointer(i0, 74057))+88) = i1;
1695   i1 = (OOC_INT64)type;
1696   *(OOC_INT64*)((_check_pointer(i0, 74087))+96) = i1;
1697   return;
1698   ;
1699 }
1700 
OOC_SymbolTable__ConstDeclDesc_Store(OOC_SymbolTable__ConstDecl constDecl,ADT_Storable__Writer w)1701 void OOC_SymbolTable__ConstDeclDesc_Store(OOC_SymbolTable__ConstDecl constDecl, ADT_Storable__Writer w) {
1702   register OOC_INT64 i0,i1,i2;
1703 
1704   i0 = (OOC_INT64)w;
1705   i1 = (OOC_INT64)constDecl;
1706   OOC_SymbolTable__DeclarationDesc_Store((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Writer)i0);
1707   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 74265))+88);
1708   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 74241)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i2);
1709   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 74292))+96);
1710   i2 = i2==(OOC_INT64)0;
1711   if (i2) goto l3;
1712   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 74524))+96);
1713   i1 = *(OOC_INT16*)((_check_pointer(i1, 74530))+72);
1714   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 74503)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, i1);
1715   goto l4;
1716 l3:
1717   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 74471)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, (-1));
1718 l4:
1719   return;
1720   ;
1721 }
1722 
OOC_SymbolTable__ConstDeclDesc_Load(OOC_SymbolTable__ConstDecl constDecl,ADT_Storable__Reader r)1723 void OOC_SymbolTable__ConstDeclDesc_Load(OOC_SymbolTable__ConstDecl constDecl, ADT_Storable__Reader r) {
1724   register OOC_INT64 i0,i1,i2,i3;
1725   Object__Object obj;
1726   OOC_INT32 id;
1727 
1728   i0 = (OOC_INT64)r;
1729   i1 = (OOC_INT64)constDecl;
1730   OOC_SymbolTable__DeclarationDesc_Load((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Reader)i0);
1731   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 74721)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
1732   i2 = (OOC_INT64)obj;
1733   i3 = i2==(OOC_INT64)0;
1734   if (i3) goto l3;
1735   *(OOC_INT64*)((_check_pointer(i1, 74819))+88) = (_type_guard(i2, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 74840)))), &_td_Object_Boxed__ObjectDesc, 74840));
1736   goto l4;
1737 l3:
1738   *(OOC_INT64*)((_check_pointer(i1, 74780))+88) = (OOC_INT64)0;
1739 l4:
1740   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 74862)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i0, (void*)(OOC_INT64)&id);
1741   i0 = id;
1742   i2 = i0==(-1);
1743   if (i2) goto l7;
1744   i2 = (OOC_INT64)OOC_SymbolTable__predefIdToType;
1745   i2 = _check_pointer(i2, 75032);
1746   i3 = OOC_ARRAY_LENGTH(i2, 0);
1747   i0 = (OOC_INT64)*(OOC_INT64*)(i2+(_check_index(i0, i3, OOC_UINT32, 75032))*8);
1748   *(OOC_INT64*)((_check_pointer(i1, 75008))+96) = i0;
1749   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 75061))+96);
1750   _assert((i0!=(OOC_INT64)0), 127, 75044);
1751   goto l8;
1752 l7:
1753   *(OOC_INT64*)((_check_pointer(i1, 74969))+96) = (OOC_INT64)0;
1754 l8:
1755   *(OOC_INT64*)((_check_pointer(i1, 75097))+104) = (OOC_INT64)0;
1756   return;
1757   ;
1758 }
1759 
OOC_SymbolTable__InitExceptionName(OOC_SymbolTable__ExceptionName exceptionName,OOC_SymbolTable__Item parent,OOC_SymbolTable__Type type)1760 void OOC_SymbolTable__InitExceptionName(OOC_SymbolTable__ExceptionName exceptionName, OOC_SymbolTable__Item parent, OOC_SymbolTable__Type type) {
1761   register OOC_INT64 i0,i1;
1762 
1763   i0 = (OOC_INT64)parent;
1764   i1 = (OOC_INT64)exceptionName;
1765   OOC_SymbolTable__InitItem((OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Item)i0);
1766   i0 = (OOC_INT64)type;
1767   *(OOC_INT64*)((_check_pointer(i1, 75310))+48) = i0;
1768   *(OOC_INT64*)((_check_pointer(i1, 75350))+40) = i0;
1769   return;
1770   ;
1771 }
1772 
OOC_SymbolTable__ExceptionNameDesc_Store(OOC_SymbolTable__ExceptionName exceptionName,ADT_Storable__Writer w)1773 void OOC_SymbolTable__ExceptionNameDesc_Store(OOC_SymbolTable__ExceptionName exceptionName, ADT_Storable__Writer w) {
1774   register OOC_INT64 i0,i1,i2;
1775 
1776   i0 = (OOC_INT64)w;
1777   i1 = (OOC_INT64)exceptionName;
1778   OOC_SymbolTable__ItemDesc_Store((OOC_SymbolTable__Item)i1, (ADT_Storable__Writer)i0);
1779   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 75613))+48);
1780   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 75593))+40);
1781   OOC_SymbolTable__WriteType((ADT_Storable__Writer)i0, (OOC_SymbolTable__Type)i1, (OOC_SymbolTable__Type)i2);
1782   return;
1783   ;
1784 }
1785 
OOC_SymbolTable__ExceptionNameDesc_Load(OOC_SymbolTable__ExceptionName exceptionName,ADT_Storable__Reader r)1786 void OOC_SymbolTable__ExceptionNameDesc_Load(OOC_SymbolTable__ExceptionName exceptionName, ADT_Storable__Reader r) {
1787   register OOC_INT64 i0,i1;
1788 
1789   i0 = (OOC_INT64)r;
1790   i1 = (OOC_INT64)exceptionName;
1791   OOC_SymbolTable__ItemDesc_Load((OOC_SymbolTable__Item)i1, (ADT_Storable__Reader)i0);
1792   OOC_SymbolTable__ReadType((ADT_Storable__Reader)i0, (void*)((_check_pointer(i1, 75794))+40), (void*)((_check_pointer(i1, 75814))+48));
1793   return;
1794   ;
1795 }
1796 
OOC_SymbolTable__VarDeclDesc_SetType(OOC_SymbolTable__VarDecl varDecl,OOC_SymbolTable__Type type)1797 void OOC_SymbolTable__VarDeclDesc_SetType(OOC_SymbolTable__VarDecl varDecl, OOC_SymbolTable__Type type) {
1798   register OOC_INT64 i0,i1,i2,i3;
1799   auto OOC_CHAR8 OOC_SymbolTable__VarDeclDesc_SetType_PassPerReference(OOC_SymbolTable__Type type);
1800 
1801     OOC_CHAR8 OOC_SymbolTable__VarDeclDesc_SetType_PassPerReference(OOC_SymbolTable__Type type) {
1802       register OOC_INT64 i0,i1;
1803 
1804       i0 = (OOC_INT64)type;
1805       i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 75975)))), OOC_SymbolTable__TypeDesc_Deparam)),OOC_SymbolTable__TypeDesc_Deparam)((OOC_SymbolTable__Type)i0);
1806       type = (OOC_SymbolTable__Type)i0;
1807       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 76006)))), &_td_OOC_SymbolTable__ArrayDesc);
1808       if (i1) goto l3;
1809       i0 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 76025)))), &_td_OOC_SymbolTable__RecordDesc);
1810 
1811       goto l4;
1812 l3:
1813       i0=1u;
1814 l4:
1815       return i0;
1816       ;
1817     }
1818 
1819 
1820   i0 = (OOC_INT64)varDecl;
1821   i1 = (OOC_INT64)type;
1822   *(OOC_INT64*)((_check_pointer(i0, 76084))+88) = i1;
1823   i2 = _check_pointer(i0, 76111);
1824   i3 = *(OOC_UINT8*)((_check_pointer(i0, 76150))+104);
1825   if (i3) goto l3;
1826   i0=0u;
1827   goto l8;
1828 l3:
1829   i0 = *(OOC_UINT8*)((_check_pointer(i0, 76182))+107);
1830   if (i0) goto l6;
1831   i0 = OOC_SymbolTable__VarDeclDesc_SetType_PassPerReference((OOC_SymbolTable__Type)i1);
1832 
1833   goto l8;
1834 l6:
1835   i0=1u;
1836 l8:
1837   *(OOC_UINT8*)(i2+108) = i0;
1838   i0 = (OOC_INT64)varDecl;
1839   i1 = _check_pointer(i0, 76235);
1840   i2 = *(OOC_UINT8*)((_check_pointer(i0, 76268))+104);
1841   if (i2) goto l11;
1842   i0=0u;
1843   goto l13;
1844 l11:
1845   i0 = *(OOC_UINT8*)((_check_pointer(i0, 76300))+107);
1846   i0 = !i0;
1847 
1848 l13:
1849   if (i0) goto l15;
1850   i0=0u;
1851   goto l16;
1852 l15:
1853   i0 = (OOC_INT64)type;
1854   i0 = OOC_SymbolTable__VarDeclDesc_SetType_PassPerReference((OOC_SymbolTable__Type)i0);
1855 
1856 l16:
1857   *(OOC_UINT8*)(i1+109) = i0;
1858   i0 = (OOC_INT64)varDecl;
1859   i1 = _check_pointer(i0, 76359);
1860   i2 = *(OOC_UINT8*)((_check_pointer(i0, 76390))+108);
1861   if (i2) goto l19;
1862   i2=0u;
1863   goto l21;
1864 l19:
1865   i2 = *(OOC_UINT8*)((_check_pointer(i0, 76429))+107);
1866   i2 = !i2;
1867 
1868 l21:
1869   if (i2) goto l23;
1870   i0=0u;
1871   goto l24;
1872 l23:
1873   i0 = *(OOC_UINT8*)((_check_pointer(i0, 76460))+109);
1874   i0 = !i0;
1875 
1876 l24:
1877   *(OOC_UINT8*)(i1+110) = i0;
1878   return;
1879   ;
1880 }
1881 
OOC_SymbolTable__InitVarDecl(OOC_SymbolTable__VarDecl varDecl,OOC_SymbolTable__Item parent,OOC_SymbolTable__Name name,OOC_INT32 visibleFrom,OOC_INT8 exportMark,OOC_Doc__Document docString,OOC_CHAR8 isParameter,OOC_CHAR8 isReceiver,OOC_CHAR8 isVarParam,OOC_SymbolTable__Type type)1882 void OOC_SymbolTable__InitVarDecl(OOC_SymbolTable__VarDecl varDecl, OOC_SymbolTable__Item parent, OOC_SymbolTable__Name name, OOC_INT32 visibleFrom, OOC_INT8 exportMark, OOC_Doc__Document docString, OOC_CHAR8 isParameter, OOC_CHAR8 isReceiver, OOC_CHAR8 isVarParam, OOC_SymbolTable__Type type) {
1883   register OOC_INT64 i0,i1,i2,i3,i4,i5;
1884 
1885   i0 = (OOC_INT64)docString;
1886   i1 = exportMark;
1887   i2 = visibleFrom;
1888   i3 = (OOC_INT64)name;
1889   i4 = (OOC_INT64)parent;
1890   i5 = (OOC_INT64)varDecl;
1891   OOC_SymbolTable__InitDeclaration((OOC_SymbolTable__Declaration)i5, (OOC_SymbolTable__Item)i4, (OOC_SymbolTable__Name)i3, i2, i1, (OOC_Doc__Document)i0);
1892   i0 = (OOC_INT64)type;
1893   *(OOC_INT64*)((_check_pointer(i5, 76888))+96) = i0;
1894   i1 = isParameter;
1895   *(OOC_UINT8*)((_check_pointer(i5, 76922))+104) = i1;
1896   i1 = isReceiver;
1897   *(OOC_UINT8*)((_check_pointer(i5, 76963))+105) = i1;
1898   *(OOC_UINT8*)((_check_pointer(i5, 77002))+106) = 0u;
1899   i2 = isVarParam;
1900   *(OOC_UINT8*)((_check_pointer(i5, 77038))+107) = i2;
1901   *(OOC_UINT8*)((_check_pointer(i5, 77077))+111) = 0u;
1902   *(OOC_UINT8*)((_check_pointer(i5, 77118))+112) = 1u;
1903   if (!i1) goto l3;
1904   *(OOC_INT64*)((_check_pointer((_type_guard(i4, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 77180)))), &_td_OOC_SymbolTable__FormalParsDesc, 77180)), 77191))+72) = i5;
1905 l3:
1906   OOC_SymbolTable__VarDeclDesc_SetType((OOC_SymbolTable__VarDecl)i5, (OOC_SymbolTable__Type)i0);
1907   return;
1908   ;
1909 }
1910 
OOC_SymbolTable__VarDeclDesc_Store(OOC_SymbolTable__VarDecl varDecl,ADT_Storable__Writer w)1911 void OOC_SymbolTable__VarDeclDesc_Store(OOC_SymbolTable__VarDecl varDecl, ADT_Storable__Writer w) {
1912   register OOC_INT64 i0,i1,i2,i3;
1913 
1914   i0 = (OOC_INT64)w;
1915   i1 = (OOC_INT64)varDecl;
1916   OOC_SymbolTable__DeclarationDesc_Store((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Writer)i0);
1917   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 77416))+96);
1918   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 77402))+88);
1919   OOC_SymbolTable__WriteType((ADT_Storable__Writer)i0, (OOC_SymbolTable__Type)i3, (OOC_SymbolTable__Type)i2);
1920   i2 = *(OOC_UINT8*)((_check_pointer(i1, 77456))+104);
1921   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 77436)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
1922   i2 = *(OOC_UINT8*)((_check_pointer(i1, 77497))+105);
1923   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 77477)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
1924   i2 = *(OOC_UINT8*)((_check_pointer(i1, 77537))+106);
1925   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 77517)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
1926   i2 = *(OOC_UINT8*)((_check_pointer(i1, 77579))+107);
1927   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 77559)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
1928   i2 = *(OOC_UINT8*)((_check_pointer(i1, 77619))+108);
1929   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 77599)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
1930   i2 = *(OOC_UINT8*)((_check_pointer(i1, 77667))+109);
1931   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 77647)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
1932   i2 = *(OOC_UINT8*)((_check_pointer(i1, 77709))+110);
1933   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 77689)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
1934   i2 = *(OOC_UINT8*)((_check_pointer(i1, 77749))+111);
1935   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 77729)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
1936   i1 = *(OOC_UINT8*)((_check_pointer(i1, 77796))+112);
1937   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 77776)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i1);
1938   return;
1939   ;
1940 }
1941 
OOC_SymbolTable__VarDeclDesc_Load(OOC_SymbolTable__VarDecl varDecl,ADT_Storable__Reader r)1942 void OOC_SymbolTable__VarDeclDesc_Load(OOC_SymbolTable__VarDecl varDecl, ADT_Storable__Reader r) {
1943   register OOC_INT64 i0,i1;
1944 
1945   i0 = (OOC_INT64)r;
1946   i1 = (OOC_INT64)varDecl;
1947   OOC_SymbolTable__DeclarationDesc_Load((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Reader)i0);
1948   OOC_SymbolTable__ReadType((ADT_Storable__Reader)i0, (void*)((_check_pointer(i1, 77957))+88), (void*)((_check_pointer(i1, 77971))+96));
1949   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 77991)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 78010))+104));
1950   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 78031)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 78050))+105));
1951   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 78070)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 78089))+106));
1952   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 78111)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 78130))+107));
1953   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 78150)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 78169))+108));
1954   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 78197)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 78216))+109));
1955   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 78238)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 78257))+110));
1956   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 78277)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 78296))+111));
1957   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 78323)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 78342))+112));
1958   i0 = *(OOC_UINT8*)((_check_pointer(i1, 78380))+104);
1959   if (!i0) goto l4;
1960   *(OOC_INT32*)((_check_pointer(i1, 78492))+48) = (-1);
1961 l4:
1962   return;
1963   ;
1964 }
1965 
OOC_SymbolTable__InitTypeDecl(OOC_SymbolTable__TypeDecl typeDecl,OOC_SymbolTable__Item parent,OOC_SymbolTable__Name name,OOC_INT32 visibleFrom,OOC_INT8 exportMark,OOC_Doc__Document docString,OOC_SymbolTable__Type type,OOC_CHAR8 isTypeParameter)1966 void OOC_SymbolTable__InitTypeDecl(OOC_SymbolTable__TypeDecl typeDecl, OOC_SymbolTable__Item parent, OOC_SymbolTable__Name name, OOC_INT32 visibleFrom, OOC_INT8 exportMark, OOC_Doc__Document docString, OOC_SymbolTable__Type type, OOC_CHAR8 isTypeParameter) {
1967   register OOC_INT64 i0,i1,i2,i3,i4,i5;
1968 
1969   i0 = (OOC_INT64)docString;
1970   i1 = exportMark;
1971   i2 = visibleFrom;
1972   i3 = (OOC_INT64)name;
1973   i4 = (OOC_INT64)parent;
1974   i5 = (OOC_INT64)typeDecl;
1975   OOC_SymbolTable__InitDeclaration((OOC_SymbolTable__Declaration)i5, (OOC_SymbolTable__Item)i4, (OOC_SymbolTable__Name)i3, i2, i1, (OOC_Doc__Document)i0);
1976   i0 = (OOC_INT64)type;
1977   *(OOC_INT64*)((_check_pointer(i5, 78921))+88) = i0;
1978   *(OOC_INT64*)((_check_pointer(i5, 78949))+96) = i0;
1979   i0 = isTypeParameter;
1980   *(OOC_UINT8*)((_check_pointer(i5, 78984))+104) = i0;
1981   return;
1982   ;
1983 }
1984 
OOC_SymbolTable__TypeDeclDesc_Store(OOC_SymbolTable__TypeDecl typeDecl,ADT_Storable__Writer w)1985 void OOC_SymbolTable__TypeDeclDesc_Store(OOC_SymbolTable__TypeDecl typeDecl, ADT_Storable__Writer w) {
1986   register OOC_INT64 i0,i1,i2,i3;
1987 
1988   i0 = (OOC_INT64)w;
1989   i1 = (OOC_INT64)typeDecl;
1990   OOC_SymbolTable__DeclarationDesc_Store((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Writer)i0);
1991   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 79193))+96);
1992   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 79178))+88);
1993   OOC_SymbolTable__WriteType((ADT_Storable__Writer)i0, (OOC_SymbolTable__Type)i3, (OOC_SymbolTable__Type)i2);
1994   i1 = *(OOC_UINT8*)((_check_pointer(i1, 79234))+104);
1995   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 79213)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i1);
1996   return;
1997   ;
1998 }
1999 
OOC_SymbolTable__TypeDeclDesc_Load(OOC_SymbolTable__TypeDecl typeDecl,ADT_Storable__Reader r)2000 void OOC_SymbolTable__TypeDeclDesc_Load(OOC_SymbolTable__TypeDecl typeDecl, ADT_Storable__Reader r) {
2001   register OOC_INT64 i0,i1;
2002 
2003   i0 = (OOC_INT64)r;
2004   i1 = (OOC_INT64)typeDecl;
2005   OOC_SymbolTable__DeclarationDesc_Load((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Reader)i0);
2006   OOC_SymbolTable__ReadType((ADT_Storable__Reader)i0, (void*)((_check_pointer(i1, 79400))+88), (void*)((_check_pointer(i1, 79415))+96));
2007   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 79435)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 79455))+104));
2008   return;
2009   ;
2010 }
2011 
OOC_SymbolTable__TypeDeclDesc_HasTypeParameters(OOC_SymbolTable__TypeDecl typeDecl)2012 OOC_CHAR8 OOC_SymbolTable__TypeDeclDesc_HasTypeParameters(OOC_SymbolTable__TypeDecl typeDecl) {
2013   register OOC_INT64 i0,i1,i2;
2014   OOC_SymbolTable__TypePars typePars;
2015 
2016   i0 = (OOC_INT64)typeDecl;
2017   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 79612))+88);
2018   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 79617))+56);
2019   typePars = (OOC_SymbolTable__TypePars)i1;
2020   i2 = i1!=(OOC_INT64)0;
2021   if (i2) goto l3;
2022   i0=0u;
2023   goto l4;
2024 l3:
2025   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 79667))+88);
2026   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 79672))+8);
2027   i0 = i0==i1;
2028 
2029 l4:
2030   return i0;
2031   ;
2032 }
2033 
OOC_SymbolTable__TypeDeclDesc_IsTypeParameter(OOC_SymbolTable__TypeDecl typeDecl)2034 OOC_CHAR8 OOC_SymbolTable__TypeDeclDesc_IsTypeParameter(OOC_SymbolTable__TypeDecl typeDecl) {
2035   register OOC_INT64 i0;
2036 
2037   i0 = (OOC_INT64)typeDecl;
2038   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 79807))+8);
2039   return (OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 79815)))), &_td_OOC_SymbolTable__TypeParsDesc));
2040   ;
2041 }
2042 
OOC_SymbolTable__TypeDeclDesc_ParametricType(OOC_SymbolTable__TypeDecl typeDecl)2043 OOC_SymbolTable__TypeDecl OOC_SymbolTable__TypeDeclDesc_ParametricType(OOC_SymbolTable__TypeDecl typeDecl) {
2044   register OOC_INT64 i0,i1,i2,i3;
2045   OOC_SymbolTable__Item ptr;
2046 
2047   i0 = (OOC_INT64)typeDecl;
2048   i1 = OOC_SymbolTable__TypeDeclDesc_IsTypeParameter((OOC_SymbolTable__TypeDecl)i0);
2049   _assert(i1, 127, 80038);
2050   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 80093))+8);
2051   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 80100))+8);
2052   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 80107))+16);
2053   ptr = (OOC_SymbolTable__Item)i1;
2054   i2 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 80137)))), &_td_OOC_SymbolTable__TypeDeclDesc));
2055   if (i2) goto l3;
2056   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 80168)))), &_td_OOC_SymbolTable__TypeDeclDesc, 80168)), 80177))+88);
2057   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 80182))+8);
2058   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 80200))+8);
2059   i2 = i2!=i3;
2060 
2061   goto l5;
2062 l3:
2063   i2=1u;
2064 l5:
2065   if (i2) goto l8_loop;
2066   i0=i1;
2067   goto l17;
2068 l8_loop:
2069   i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 80228));
2070   ptr = (OOC_SymbolTable__Item)i1;
2071   i2 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 80137)))), &_td_OOC_SymbolTable__TypeDeclDesc));
2072   if (i2) goto l11;
2073   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 80168)))), &_td_OOC_SymbolTable__TypeDeclDesc, 80168)), 80177))+88);
2074   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 80182))+8);
2075   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 80200))+8);
2076   i2 = i2!=i3;
2077 
2078   goto l13;
2079 l11:
2080   i2=1u;
2081 l13:
2082   if (i2) goto l8_loop;
2083 l16:
2084   i0=i1;
2085 l17:
2086   return (OOC_SymbolTable__TypeDecl)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 80265)))), &_td_OOC_SymbolTable__TypeDeclDesc, 80265));
2087   ;
2088 }
2089 
OOC_SymbolTable__InitRedirect(OOC_SymbolTable__Redirect redir,OOC_SymbolTable__Item parent,OOC_SymbolTable__Name name,OOC_SymbolTable__Name module,OOC_SymbolTable__Name ident)2090 void OOC_SymbolTable__InitRedirect(OOC_SymbolTable__Redirect redir, OOC_SymbolTable__Item parent, OOC_SymbolTable__Name name, OOC_SymbolTable__Name module, OOC_SymbolTable__Name ident) {
2091   register OOC_INT64 i0,i1,i2;
2092 
2093   i0 = (OOC_INT64)name;
2094   i1 = (OOC_INT64)parent;
2095   i2 = (OOC_INT64)redir;
2096   OOC_SymbolTable__InitDeclaration((OOC_SymbolTable__Declaration)i2, (OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Name)i0, 0, 1, (OOC_Doc__Document)(OOC_INT64)0);
2097   i0 = (OOC_INT64)module;
2098   *(OOC_INT64*)((_check_pointer(i2, 80497))+88) = i0;
2099   i0 = (OOC_INT64)ident;
2100   *(OOC_INT64*)((_check_pointer(i2, 80526))+96) = i0;
2101   return;
2102   ;
2103 }
2104 
OOC_SymbolTable__RedirectDesc_Store(OOC_SymbolTable__Redirect redir,ADT_Storable__Writer w)2105 void OOC_SymbolTable__RedirectDesc_Store(OOC_SymbolTable__Redirect redir, ADT_Storable__Writer w) {
2106   register OOC_INT64 i0,i1,i2;
2107 
2108   i0 = (OOC_INT64)w;
2109   i1 = (OOC_INT64)redir;
2110   OOC_SymbolTable__DeclarationDesc_Store((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Writer)i0);
2111   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 80694))+88);
2112   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 80674)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i2);
2113   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 80730))+96);
2114   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 80710)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i1);
2115   return;
2116   ;
2117 }
2118 
OOC_SymbolTable__RedirectDesc_Load(OOC_SymbolTable__Redirect redir,ADT_Storable__Reader r)2119 void OOC_SymbolTable__RedirectDesc_Load(OOC_SymbolTable__Redirect redir, ADT_Storable__Reader r) {
2120   register OOC_INT64 i0,i1,i2;
2121   Object__Object obj;
2122 
2123   i0 = (OOC_INT64)r;
2124   i1 = (OOC_INT64)redir;
2125   OOC_SymbolTable__DeclarationDesc_Load((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Reader)i0);
2126   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 80891)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
2127   i2 = (OOC_INT64)obj;
2128   *(OOC_INT64*)((_check_pointer(i1, 80920))+88) = (_type_guard(i2, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 80936)))), &_td_OOC_SymbolTable__NameDesc, 80936));
2129   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 80948)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
2130   i0 = (OOC_INT64)obj;
2131   *(OOC_INT64*)((_check_pointer(i1, 80977))+96) = (_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 80992)))), &_td_OOC_SymbolTable__NameDesc, 80992));
2132   return;
2133   ;
2134 }
2135 
OOC_SymbolTable__InitFieldDecl(OOC_SymbolTable__FieldDecl fieldDecl,OOC_SymbolTable__Item parent,OOC_SymbolTable__Name name,OOC_INT32 visibleFrom,OOC_INT8 exportMark,OOC_Doc__Document docString,OOC_SymbolTable__Type type)2136 void OOC_SymbolTable__InitFieldDecl(OOC_SymbolTable__FieldDecl fieldDecl, OOC_SymbolTable__Item parent, OOC_SymbolTable__Name name, OOC_INT32 visibleFrom, OOC_INT8 exportMark, OOC_Doc__Document docString, OOC_SymbolTable__Type type) {
2137   register OOC_INT64 i0,i1,i2,i3,i4,i5;
2138 
2139   i0 = (OOC_INT64)docString;
2140   i1 = exportMark;
2141   i2 = visibleFrom;
2142   i3 = (OOC_INT64)name;
2143   i4 = (OOC_INT64)parent;
2144   i5 = (OOC_INT64)fieldDecl;
2145   OOC_SymbolTable__InitDeclaration((OOC_SymbolTable__Declaration)i5, (OOC_SymbolTable__Item)i4, (OOC_SymbolTable__Name)i3, i2, i1, (OOC_Doc__Document)i0);
2146   i0 = (OOC_INT64)type;
2147   *(OOC_INT64*)((_check_pointer(i5, 81325))+88) = i0;
2148   *(OOC_INT64*)((_check_pointer(i5, 81354))+96) = i0;
2149   *(OOC_INT32*)((_check_pointer(i5, 81390))+104) = (-1);
2150   *(OOC_UINT8*)((_check_pointer(i5, 81419))+108) = 0u;
2151   return;
2152   ;
2153 }
2154 
OOC_SymbolTable__FieldDeclDesc_Store(OOC_SymbolTable__FieldDecl fieldDecl,ADT_Storable__Writer w)2155 void OOC_SymbolTable__FieldDeclDesc_Store(OOC_SymbolTable__FieldDecl fieldDecl, ADT_Storable__Writer w) {
2156   register OOC_INT64 i0,i1,i2,i3;
2157 
2158   i0 = (OOC_INT64)w;
2159   i1 = (OOC_INT64)fieldDecl;
2160   OOC_SymbolTable__DeclarationDesc_Store((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Writer)i0);
2161   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 81627))+96);
2162   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 81611))+88);
2163   OOC_SymbolTable__WriteType((ADT_Storable__Writer)i0, (OOC_SymbolTable__Type)i3, (OOC_SymbolTable__Type)i2);
2164   i2 = *(OOC_INT32*)((_check_pointer(i1, 81668))+104);
2165   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 81647)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, i2);
2166   i1 = *(OOC_UINT8*)((_check_pointer(i1, 81706))+108);
2167   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 81684)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i1);
2168   return;
2169   ;
2170 }
2171 
OOC_SymbolTable__FieldDeclDesc_Load(OOC_SymbolTable__FieldDecl fieldDecl,ADT_Storable__Reader r)2172 void OOC_SymbolTable__FieldDeclDesc_Load(OOC_SymbolTable__FieldDecl fieldDecl, ADT_Storable__Reader r) {
2173   register OOC_INT64 i0,i1;
2174 
2175   i0 = (OOC_INT64)r;
2176   i1 = (OOC_INT64)fieldDecl;
2177   OOC_SymbolTable__DeclarationDesc_Load((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Reader)i0);
2178   OOC_SymbolTable__ReadType((ADT_Storable__Reader)i0, (void*)((_check_pointer(i1, 81879))+88), (void*)((_check_pointer(i1, 81895))+96));
2179   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 81915)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 81935))+104));
2180   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 81951)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 81972))+108));
2181   return;
2182   ;
2183 }
2184 
OOC_SymbolTable__FieldDeclDesc_SetOffset(OOC_SymbolTable__FieldDecl fieldDecl,OOC_INT32 offset)2185 void OOC_SymbolTable__FieldDeclDesc_SetOffset(OOC_SymbolTable__FieldDecl fieldDecl, OOC_INT32 offset) {
2186   register OOC_INT64 i0,i1;
2187 
2188   i0 = (OOC_INT64)fieldDecl;
2189   i1 = offset;
2190   *(OOC_INT32*)((_check_pointer(i0, 82092))+104) = i1;
2191   return;
2192   ;
2193 }
2194 
OOC_SymbolTable__InitPredefProc(OOC_SymbolTable__PredefProc proc,OOC_SymbolTable__Item parent,OOC_SymbolTable__Name name,OOC_INT16 id,OOC_INT16 minArgs,OOC_INT16 maxArgs)2195 void OOC_SymbolTable__InitPredefProc(OOC_SymbolTable__PredefProc proc, OOC_SymbolTable__Item parent, OOC_SymbolTable__Name name, OOC_INT16 id, OOC_INT16 minArgs, OOC_INT16 maxArgs) {
2196   register OOC_INT64 i0,i1,i2;
2197 
2198   i0 = (OOC_INT64)name;
2199   i1 = (OOC_INT64)parent;
2200   i2 = (OOC_INT64)proc;
2201   OOC_SymbolTable__InitDeclaration((OOC_SymbolTable__Declaration)i2, (OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Name)i0, 0, 1, (OOC_Doc__Document)(OOC_INT64)0);
2202   i0 = id;
2203   *(OOC_INT16*)((_check_pointer(i2, 82351))+88) = i0;
2204   i0 = minArgs;
2205   *(OOC_INT16*)((_check_pointer(i2, 82371))+90) = i0;
2206   i0 = maxArgs;
2207   *(OOC_INT16*)((_check_pointer(i2, 82401))+92) = i0;
2208   return;
2209   ;
2210 }
2211 
OOC_SymbolTable__PredefProcDesc_Store(OOC_SymbolTable__PredefProc proc,ADT_Storable__Writer w)2212 void OOC_SymbolTable__PredefProcDesc_Store(OOC_SymbolTable__PredefProc proc, ADT_Storable__Writer w) {
2213 
2214   _assert(0u, 127, 82532);
2215 
2216   ;
2217 }
2218 
OOC_SymbolTable__PredefProcDesc_Load(OOC_SymbolTable__PredefProc proc,ADT_Storable__Reader r)2219 void OOC_SymbolTable__PredefProcDesc_Load(OOC_SymbolTable__PredefProc proc, ADT_Storable__Reader r) {
2220 
2221   _assert(0u, 127, 82646);
2222 
2223   ;
2224 }
2225 
OOC_SymbolTable__InitProcDecl(OOC_SymbolTable__ProcDecl procDecl,OOC_SymbolTable__Item parent,OOC_SymbolTable__Name name,OOC_INT32 visibleFrom,OOC_INT8 exportMark,OOC_Doc__Document docString,OOC_INT8 procClass,OOC_CHAR8 isForwardDecl,OOC_AST__Node procAST)2226 void OOC_SymbolTable__InitProcDecl(OOC_SymbolTable__ProcDecl procDecl, OOC_SymbolTable__Item parent, OOC_SymbolTable__Name name, OOC_INT32 visibleFrom, OOC_INT8 exportMark, OOC_Doc__Document docString, OOC_INT8 procClass, OOC_CHAR8 isForwardDecl, OOC_AST__Node procAST) {
2227   register OOC_INT64 i0,i1,i2,i3,i4,i5;
2228 
2229   i0 = (OOC_INT64)docString;
2230   i1 = exportMark;
2231   i2 = visibleFrom;
2232   i3 = (OOC_INT64)name;
2233   i4 = (OOC_INT64)parent;
2234   i5 = (OOC_INT64)procDecl;
2235   OOC_SymbolTable__InitDeclaration((OOC_SymbolTable__Declaration)i5, (OOC_SymbolTable__Item)i4, (OOC_SymbolTable__Name)i3, i2, i1, (OOC_Doc__Document)i0);
2236   i0 = procClass;
2237   *(OOC_INT8*)((_check_pointer(i5, 83086))+88) = i0;
2238   i0 = isForwardDecl;
2239   *(OOC_UINT8*)((_check_pointer(i5, 83124))+89) = i0;
2240   *(OOC_UINT8*)((_check_pointer(i5, 83170))+90) = 0u;
2241   *(OOC_UINT8*)((_check_pointer(i5, 83205))+91) = 0u;
2242   *(OOC_UINT8*)((_check_pointer(i5, 83242))+92) = 1u;
2243   *(OOC_INT32*)((_check_pointer(i5, 83280))+96) = (-1);
2244   *(OOC_INT64*)((_check_pointer(i5, 83313))+104) = (OOC_INT64)0;
2245   *(OOC_INT64*)((_check_pointer(i5, 83338))+112) = (OOC_INT64)0;
2246   *(OOC_INT64*)((_check_pointer(i5, 83371))+120) = (OOC_INT64)0;
2247   i0 = (OOC_INT64)procAST;
2248   *(OOC_INT64*)((_check_pointer(i5, 83402))+128) = i0;
2249   *(OOC_UINT8*)((_check_pointer(i5, 83436))+136) = 0u;
2250   return;
2251   ;
2252 }
2253 
OOC_SymbolTable__ProcDeclDesc_Store(OOC_SymbolTable__ProcDecl procDecl,ADT_Storable__Writer w)2254 void OOC_SymbolTable__ProcDeclDesc_Store(OOC_SymbolTable__ProcDecl procDecl, ADT_Storable__Writer w) {
2255   register OOC_INT64 i0,i1,i2;
2256 
2257   i0 = (OOC_INT64)w;
2258   i1 = (OOC_INT64)procDecl;
2259   OOC_SymbolTable__DeclarationDesc_Store((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Writer)i0);
2260   i2 = *(OOC_INT8*)((_check_pointer(i1, 83617))+88);
2261   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 83596)))), IO_BinaryRider__WriterDesc_WriteSInt)),IO_BinaryRider__WriterDesc_WriteSInt)((IO_BinaryRider__Writer)i0, i2);
2262   i2 = *(OOC_UINT8*)((_check_pointer(i1, 83657))+89);
2263   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 83636)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2264   i2 = *(OOC_UINT8*)((_check_pointer(i1, 83701))+90);
2265   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 83680)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2266   i2 = *(OOC_UINT8*)((_check_pointer(i1, 83742))+91);
2267   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 83721)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2268   i2 = *(OOC_UINT8*)((_check_pointer(i1, 83785))+92);
2269   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 83764)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2270   i2 = *(OOC_INT32*)((_check_pointer(i1, 83829))+96);
2271   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 83809)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, i2);
2272   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 83873))+112);
2273   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 83850)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i2);
2274   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 83913))+120);
2275   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 83893)))), IO_BinaryRider__WriterDesc_WriteStr)),IO_BinaryRider__WriterDesc_WriteStr)((IO_BinaryRider__Writer)i0, (Object__String)i1);
2276   return;
2277   ;
2278 }
2279 
OOC_SymbolTable__ProcDeclDesc_Load(OOC_SymbolTable__ProcDecl procDecl,ADT_Storable__Reader r)2280 void OOC_SymbolTable__ProcDeclDesc_Load(OOC_SymbolTable__ProcDecl procDecl, ADT_Storable__Reader r) {
2281   register OOC_INT64 i0,i1,i2,i3;
2282   Object__Object obj;
2283 
2284   i0 = (OOC_INT64)r;
2285   i1 = (OOC_INT64)procDecl;
2286   OOC_SymbolTable__DeclarationDesc_Load((OOC_SymbolTable__Declaration)i1, (ADT_Storable__Reader)i0);
2287   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 84123)))), IO_BinaryRider__ReaderDesc_ReadSInt)),IO_BinaryRider__ReaderDesc_ReadSInt)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 84143))+88));
2288   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 84162)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 84182))+89));
2289   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 84205)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 84225))+90));
2290   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 84245)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 84265))+91));
2291   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 84287)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 84307))+92));
2292   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 84331)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 84350))+96));
2293   *(OOC_INT64*)((_check_pointer(i1, 84378))+104) = (OOC_INT64)0;
2294   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 84396)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
2295   i2 = (OOC_INT64)obj;
2296   i3 = i2==(OOC_INT64)0;
2297   if (i3) goto l3;
2298   *(OOC_INT64*)((_check_pointer(i1, 84497))+112) = (_type_guard(i2, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 84517)))), &_td_OOC_SymbolTable__FormalParsDesc, 84517));
2299   goto l4;
2300 l3:
2301   *(OOC_INT64*)((_check_pointer(i1, 84454))+112) = (OOC_INT64)0;
2302 l4:
2303   i0 = (OOC_INT64)OOC_SymbolTable__ReadString8((ADT_Storable__Reader)i0);
2304   *(OOC_INT64*)((_check_pointer(i1, 84550))+120) = i0;
2305   *(OOC_INT64*)((_check_pointer(i1, 84591))+128) = (OOC_INT64)0;
2306   *(OOC_UINT8*)((_check_pointer(i1, 84621))+136) = 0u;
2307   return;
2308   ;
2309 }
2310 
OOC_SymbolTable__ProcDeclDesc_SetNamespace(OOC_SymbolTable__ProcDecl procDecl,OOC_SymbolTable__Namespace ns)2311 void OOC_SymbolTable__ProcDeclDesc_SetNamespace(OOC_SymbolTable__ProcDecl procDecl, OOC_SymbolTable__Namespace ns) {
2312   register OOC_INT64 i0,i1;
2313 
2314   i0 = (OOC_INT64)procDecl;
2315   i1 = (OOC_INT64)ns;
2316   *(OOC_INT64*)((_check_pointer(i0, 84820))+104) = i1;
2317   return;
2318   ;
2319 }
2320 
OOC_SymbolTable__ProcDeclDesc_SetLinkName(OOC_SymbolTable__ProcDecl procDecl,Object__String name)2321 void OOC_SymbolTable__ProcDeclDesc_SetLinkName(OOC_SymbolTable__ProcDecl procDecl, Object__String name) {
2322   register OOC_INT64 i0,i1;
2323 
2324   i0 = (OOC_INT64)procDecl;
2325   i1 = (OOC_INT64)name;
2326   *(OOC_INT64*)((_check_pointer(i0, 84933))+120) = i1;
2327   return;
2328   ;
2329 }
2330 
OOC_SymbolTable__ProcDeclDesc_CopyTBProcIndex(OOC_SymbolTable__ProcDecl procDecl,OOC_SymbolTable__ProcDecl redefinition)2331 void OOC_SymbolTable__ProcDeclDesc_CopyTBProcIndex(OOC_SymbolTable__ProcDecl procDecl, OOC_SymbolTable__ProcDecl redefinition) {
2332   register OOC_INT64 i0,i1;
2333 
2334   i0 = (OOC_INT64)redefinition;
2335   i1 = (OOC_INT64)procDecl;
2336   i1 = *(OOC_INT32*)((_check_pointer(i1, 85302))+96);
2337   *(OOC_INT32*)((_check_pointer(i0, 85277))+96) = i1;
2338   return;
2339   ;
2340 }
2341 
OOC_SymbolTable__ProcDeclDesc_IsTypeBound(OOC_SymbolTable__ProcDecl procDecl)2342 OOC_CHAR8 OOC_SymbolTable__ProcDeclDesc_IsTypeBound(OOC_SymbolTable__ProcDecl procDecl) {
2343   register OOC_INT64 i0;
2344 
2345   i0 = (OOC_INT64)procDecl;
2346   i0 = *(OOC_INT8*)((_check_pointer(i0, 85424))+88);
2347   return (i0!=0);
2348   ;
2349 }
2350 
OOC_SymbolTable__ProcDeclDesc_Class(OOC_SymbolTable__ProcDecl procDecl)2351 OOC_SymbolTable__Record OOC_SymbolTable__ProcDeclDesc_Class(OOC_SymbolTable__ProcDecl procDecl) {
2352   register OOC_INT64 i0,i1;
2353   OOC_SymbolTable__Item _class;
2354 
2355   i0 = (OOC_INT64)procDecl;
2356   i1 = OOC_SymbolTable__ProcDeclDesc_IsTypeBound((OOC_SymbolTable__ProcDecl)i0);
2357   if (i1) goto l3;
2358   return (OOC_SymbolTable__Record)(OOC_INT64)0;
2359   goto l12;
2360 l3:
2361   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 85803))+112);
2362   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 85814))+72);
2363   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 85803))+112);
2364   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 85814))+72);
2365   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 85823))+88);
2366   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 85823))+88);
2367   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 85828)))), OOC_SymbolTable__TypeDesc_Deparam)),OOC_SymbolTable__TypeDesc_Deparam)((OOC_SymbolTable__Type)i1);
2368   _class = (OOC_SymbolTable__Item)i0;
2369   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 85856)))), &_td_OOC_SymbolTable__PointerDesc);
2370   if (!i1) goto l7;
2371   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 85896)))), &_td_OOC_SymbolTable__PointerDesc, 85896)), 85904))+72);
2372   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 85896)))), &_td_OOC_SymbolTable__PointerDesc, 85896)), 85904))+72);
2373   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 85913)))), OOC_SymbolTable__TypeDesc_Deparam)),OOC_SymbolTable__TypeDesc_Deparam)((OOC_SymbolTable__Type)i0);
2374   _class = (OOC_SymbolTable__Item)i0;
2375 
2376 l7:
2377   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 85952)))), &_td_OOC_SymbolTable__RecordDesc);
2378   if (i1) goto l10;
2379   return (OOC_SymbolTable__Record)(OOC_INT64)0;
2380   goto l12;
2381 l10:
2382   return (OOC_SymbolTable__Record)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 85989)))), &_td_OOC_SymbolTable__RecordDesc, 85989));
2383 l12:
2384   _failed_function(85503); return 0;
2385   ;
2386 }
2387 
OOC_SymbolTable__ProcDeclDesc_RegisterForwardDecl(OOC_SymbolTable__ProcDecl procDecl,OOC_SymbolTable__ProcDecl forward)2388 void OOC_SymbolTable__ProcDeclDesc_RegisterForwardDecl(OOC_SymbolTable__ProcDecl procDecl, OOC_SymbolTable__ProcDecl forward) {
2389   register OOC_INT64 i0,i1;
2390 
2391   i0 = (OOC_INT64)procDecl;
2392   i1 = (OOC_INT64)forward;
2393   i1 = *(OOC_INT32*)((_check_pointer(i1, 86345))+48);
2394   *(OOC_INT32*)((_check_pointer(i0, 86321))+48) = i1;
2395   return;
2396   ;
2397 }
2398 
OOC_SymbolTable__ProcDeclDesc_IsModuleBody(OOC_SymbolTable__ProcDecl procDecl)2399 OOC_CHAR8 OOC_SymbolTable__ProcDeclDesc_IsModuleBody(OOC_SymbolTable__ProcDecl procDecl) {
2400   register OOC_INT64 i0;
2401 
2402   i0 = (OOC_INT64)procDecl;
2403   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 86560))+8);
2404   return (i0==(OOC_INT64)0);
2405   ;
2406 }
2407 
OOC_SymbolTable__InitPredefType(OOC_SymbolTable__PredefType ptype,OOC_SymbolTable__Item parent,OOC_INT16 id)2408 void OOC_SymbolTable__InitPredefType(OOC_SymbolTable__PredefType ptype, OOC_SymbolTable__Item parent, OOC_INT16 id) {
2409   register OOC_INT64 i0,i1;
2410 
2411   i0 = (OOC_INT64)parent;
2412   i1 = (OOC_INT64)ptype;
2413   OOC_SymbolTable__InitType((OOC_SymbolTable__Type)i1, (OOC_SymbolTable__Item)i0, (OOC_SymbolTable__Position)(OOC_INT64)0);
2414   i0 = id;
2415   *(OOC_INT16*)((_check_pointer(i1, 86725))+72) = i0;
2416   return;
2417   ;
2418 }
2419 
OOC_SymbolTable__PredefTypeDesc_Store(OOC_SymbolTable__PredefType tname,ADT_Storable__Writer w)2420 void OOC_SymbolTable__PredefTypeDesc_Store(OOC_SymbolTable__PredefType tname, ADT_Storable__Writer w) {
2421 
2422   _assert(0u, 127, 86847);
2423   return;
2424   ;
2425 }
2426 
OOC_SymbolTable__PredefTypeDesc_Load(OOC_SymbolTable__PredefType tname,ADT_Storable__Reader r)2427 void OOC_SymbolTable__PredefTypeDesc_Load(OOC_SymbolTable__PredefType tname, ADT_Storable__Reader r) {
2428 
2429   _assert(0u, 127, 86962);
2430   return;
2431   ;
2432 }
2433 
OOC_SymbolTable__InitTypeName(OOC_SymbolTable__TypeName tname,OOC_SymbolTable__Item parent,OOC_SymbolTable__Position position,OOC_SymbolTable__Name module,OOC_SymbolTable__Name ident)2434 void OOC_SymbolTable__InitTypeName(OOC_SymbolTable__TypeName tname, OOC_SymbolTable__Item parent, OOC_SymbolTable__Position position, OOC_SymbolTable__Name module, OOC_SymbolTable__Name ident) {
2435   register OOC_INT64 i0,i1,i2;
2436 
2437   i0 = (OOC_INT64)position;
2438   i1 = (OOC_INT64)parent;
2439   i2 = (OOC_INT64)tname;
2440   OOC_SymbolTable__InitType((OOC_SymbolTable__Type)i2, (OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Position)i0);
2441   i0 = (OOC_INT64)module;
2442   *(OOC_INT64*)((_check_pointer(i2, 87171))+72) = i0;
2443   i0 = (OOC_INT64)ident;
2444   *(OOC_INT64*)((_check_pointer(i2, 87200))+80) = i0;
2445   return;
2446   ;
2447 }
2448 
OOC_SymbolTable__TypeNameDesc_IsPredefReference(OOC_SymbolTable__TypeName tname)2449 OOC_CHAR8 OOC_SymbolTable__TypeNameDesc_IsPredefReference(OOC_SymbolTable__TypeName tname) {
2450   register OOC_INT64 i0,i1;
2451 
2452   i0 = (OOC_INT64)tname;
2453   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 87322))+72);
2454   i1 = i1!=(OOC_INT64)0;
2455   if (i1) goto l3;
2456   i0=0u;
2457   goto l4;
2458 l3:
2459   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 87345))+72);
2460   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 87352))+16);
2461   i0 = _check_pointer(i0, 87356);
2462   i1 = OOC_ARRAY_LENGTH(i0, 0);
2463   i0 = *(OOC_UINT8*)(i0+(_check_index(0, i1, OOC_UINT8, 87356)));
2464   i0 = i0==0u;
2465 
2466 l4:
2467   return i0;
2468   ;
2469 }
2470 
OOC_SymbolTable__TypeNameDesc_MarkAsPredefReference(OOC_SymbolTable__TypeName tname)2471 void OOC_SymbolTable__TypeNameDesc_MarkAsPredefReference(OOC_SymbolTable__TypeName tname) {
2472   register OOC_INT64 i0,i1;
2473 
2474   i0 = (OOC_INT64)tname;
2475   i1 = (OOC_INT64)OOC_SymbolTable__predefName;
2476   *(OOC_INT64*)((_check_pointer(i0, 87464))+72) = i1;
2477   return;
2478   ;
2479 }
2480 
OOC_SymbolTable__TypeNameDesc_Store(OOC_SymbolTable__TypeName tname,ADT_Storable__Writer w)2481 void OOC_SymbolTable__TypeNameDesc_Store(OOC_SymbolTable__TypeName tname, ADT_Storable__Writer w) {
2482   register OOC_INT64 i0,i1,i2;
2483 
2484   i0 = (OOC_INT64)w;
2485   i1 = (OOC_INT64)tname;
2486   OOC_SymbolTable__TypeDesc_Store((OOC_SymbolTable__Type)i1, (ADT_Storable__Writer)i0);
2487   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 87646))+72);
2488   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 87626)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i2);
2489   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 87682))+80);
2490   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 87662)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i1);
2491   return;
2492   ;
2493 }
2494 
OOC_SymbolTable__TypeNameDesc_Load(OOC_SymbolTable__TypeName tname,ADT_Storable__Reader r)2495 void OOC_SymbolTable__TypeNameDesc_Load(OOC_SymbolTable__TypeName tname, ADT_Storable__Reader r) {
2496   register OOC_INT64 i0,i1,i2,i3;
2497   Object__Object obj;
2498 
2499   i0 = (OOC_INT64)r;
2500   i1 = (OOC_INT64)tname;
2501   OOC_SymbolTable__TypeDesc_Load((OOC_SymbolTable__Type)i1, (ADT_Storable__Reader)i0);
2502   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 87842)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
2503   i2 = (OOC_INT64)obj;
2504   i3 = i2==(OOC_INT64)0;
2505   if (i3) goto l3;
2506   *(OOC_INT64*)((_check_pointer(i1, 87933))+72) = (_type_guard(i2, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 87949)))), &_td_OOC_SymbolTable__NameDesc, 87949));
2507   goto l4;
2508 l3:
2509   *(OOC_INT64*)((_check_pointer(i1, 87897))+72) = (OOC_INT64)0;
2510 l4:
2511   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 87969)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
2512   i0 = (OOC_INT64)obj;
2513   *(OOC_INT64*)((_check_pointer(i1, 87998))+80) = (_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 88013)))), &_td_OOC_SymbolTable__NameDesc, 88013));
2514   return;
2515   ;
2516 }
2517 
OOC_SymbolTable__TypeNameDesc_GetImport(OOC_SymbolTable__TypeName tname)2518 OOC_SymbolTable__Import OOC_SymbolTable__TypeNameDesc_GetImport(OOC_SymbolTable__TypeName tname) {
2519   register OOC_INT64 i0,i1,i2,i3;
2520   OOC_SymbolTable__Module module;
2521   OOC_SymbolTable__Declaration decl;
2522 
2523   i0 = (OOC_INT64)tname;
2524   i1 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 88159)))), OOC_SymbolTable__ItemDesc_Module)),OOC_SymbolTable__ItemDesc_Module)((OOC_SymbolTable__Item)i0);
2525   module = (OOC_SymbolTable__Module)i1;
2526   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 88189))+88);
2527   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 88223))+72);
2528   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 88189))+88);
2529   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 88193)))), OOC_SymbolTable__NamespaceDesc_IdentifyLocal)),OOC_SymbolTable__NamespaceDesc_IdentifyLocal)((OOC_SymbolTable__Namespace)i3, (OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Name)i0, 0u);
2530   decl = (OOC_SymbolTable__Declaration)i0;
2531   return (OOC_SymbolTable__Import)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 88257)))), &_td_OOC_SymbolTable__ImportDesc, 88257));
2532   ;
2533 }
2534 
OOC_SymbolTable__InitRecord(OOC_SymbolTable__Record record,OOC_SymbolTable__Item parent,OOC_SymbolTable__Position position,OOC_SymbolTable__Type baseType)2535 void OOC_SymbolTable__InitRecord(OOC_SymbolTable__Record record, OOC_SymbolTable__Item parent, OOC_SymbolTable__Position position, OOC_SymbolTable__Type baseType) {
2536   register OOC_INT64 i0,i1,i2;
2537 
2538   i0 = (OOC_INT64)position;
2539   i1 = (OOC_INT64)parent;
2540   i2 = (OOC_INT64)record;
2541   OOC_SymbolTable__InitType((OOC_SymbolTable__Type)i2, (OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Position)i0);
2542   i0 = (OOC_INT64)baseType;
2543   *(OOC_INT64*)((_check_pointer(i2, 88456))+72) = i0;
2544   *(OOC_INT64*)((_check_pointer(i2, 88490))+80) = i0;
2545   *(OOC_INT32*)((_check_pointer(i2, 88531))+88) = (-1);
2546   *(OOC_INT64*)((_check_pointer(i2, 88609))+96) = (OOC_INT64)0;
2547   *(OOC_UINT8*)((_check_pointer(i2, 88632))+104) = 0u;
2548   *(OOC_UINT8*)((_check_pointer(i2, 88662))+105) = 0u;
2549   *(OOC_UINT8*)((_check_pointer(i2, 88695))+106) = 1u;
2550   *(OOC_UINT8*)((_check_pointer(i2, 88729))+107) = 0u;
2551   *(OOC_UINT8*)((_check_pointer(i2, 88772))+108) = 0u;
2552   *(OOC_UINT8*)((_check_pointer(i2, 88803))+109) = 0u;
2553   *(OOC_INT16*)((_check_pointer(i2, 88834))+110) = 0;
2554   *(OOC_INT64*)((_check_pointer(i2, 88863))+112) = (OOC_INT64)0;
2555   return;
2556   ;
2557 }
2558 
OOC_SymbolTable__RecordDesc_Store(OOC_SymbolTable__Record record,ADT_Storable__Writer w)2559 void OOC_SymbolTable__RecordDesc_Store(OOC_SymbolTable__Record record, ADT_Storable__Writer w) {
2560   register OOC_INT64 i0,i1,i2,i3;
2561 
2562   i0 = (OOC_INT64)w;
2563   i1 = (OOC_INT64)record;
2564   OOC_SymbolTable__TypeDesc_Store((OOC_SymbolTable__Type)i1, (ADT_Storable__Writer)i0);
2565   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 89045))+80);
2566   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 89028))+72);
2567   OOC_SymbolTable__WriteType((ADT_Storable__Writer)i0, (OOC_SymbolTable__Type)i3, (OOC_SymbolTable__Type)i2);
2568   i2 = *(OOC_INT32*)((_check_pointer(i1, 89087))+88);
2569   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89069)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, i2);
2570   i2 = *(OOC_UINT8*)((_check_pointer(i1, 89127))+104);
2571   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89108)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2572   i2 = *(OOC_UINT8*)((_check_pointer(i1, 89163))+105);
2573   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89144)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2574   i2 = *(OOC_UINT8*)((_check_pointer(i1, 89202))+106);
2575   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89183)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2576   i2 = *(OOC_UINT8*)((_check_pointer(i1, 89243))+107);
2577   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89224)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2578   i2 = *(OOC_UINT8*)((_check_pointer(i1, 89292))+108);
2579   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89273)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2580   i2 = *(OOC_UINT8*)((_check_pointer(i1, 89329))+109);
2581   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89310)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2582   i2 = *(OOC_INT16*)((_check_pointer(i1, 89365))+110);
2583   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89347)))), IO_BinaryRider__WriterDesc_WriteInt)),IO_BinaryRider__WriterDesc_WriteInt)((IO_BinaryRider__Writer)i0, i2);
2584   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 89406))+112);
2585   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89385)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i1);
2586   return;
2587   ;
2588 }
2589 
OOC_SymbolTable__RecordDesc_Load(OOC_SymbolTable__Record record,ADT_Storable__Reader r)2590 void OOC_SymbolTable__RecordDesc_Load(OOC_SymbolTable__Record record, ADT_Storable__Reader r) {
2591   register OOC_INT64 i0,i1,i2;
2592   Object__Object obj;
2593 
2594   i0 = (OOC_INT64)r;
2595   i1 = (OOC_INT64)record;
2596   OOC_SymbolTable__TypeDesc_Load((OOC_SymbolTable__Type)i1, (ADT_Storable__Reader)i0);
2597   OOC_SymbolTable__ReadType((ADT_Storable__Reader)i0, (void*)((_check_pointer(i1, 89616))+72), (void*)((_check_pointer(i1, 89633))+80));
2598   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89657)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 89674))+88));
2599   *(OOC_INT64*)((_check_pointer(i1, 89700))+96) = (OOC_INT64)0;
2600   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89718)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 89736))+104));
2601   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89753)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 89771))+105));
2602   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89791)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 89809))+106));
2603   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89831)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 89849))+107));
2604   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89879)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 89897))+108));
2605   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89915)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 89933))+109));
2606   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89951)))), IO_BinaryRider__ReaderDesc_ReadInt)),IO_BinaryRider__ReaderDesc_ReadInt)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 89968))+110));
2607   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 89988)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
2608   i0 = (OOC_INT64)obj;
2609   i2 = i0==(OOC_INT64)0;
2610   if (i2) goto l3;
2611   *(OOC_INT64*)((_check_pointer(i1, 90084))+112) = (_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 90103)))), &_td_OOC_SymbolTable__NameDesc, 90103));
2612   goto l4;
2613 l3:
2614   *(OOC_INT64*)((_check_pointer(i1, 90044))+112) = (OOC_INT64)0;
2615 l4:
2616   return;
2617   ;
2618 }
2619 
OOC_SymbolTable__RecordDesc_SetNamespace(OOC_SymbolTable__Record record,OOC_SymbolTable__Namespace ns)2620 void OOC_SymbolTable__RecordDesc_SetNamespace(OOC_SymbolTable__Record record, OOC_SymbolTable__Namespace ns) {
2621   register OOC_INT64 i0,i1;
2622 
2623   i0 = (OOC_INT64)record;
2624   i1 = (OOC_INT64)ns;
2625   *(OOC_INT64*)((_check_pointer(i0, 90283))+96) = i1;
2626   return;
2627   ;
2628 }
2629 
OOC_SymbolTable__RecordDesc_AssignTBProcIndex(OOC_SymbolTable__Record record,OOC_SymbolTable__ProcDecl procDecl)2630 void OOC_SymbolTable__RecordDesc_AssignTBProcIndex(OOC_SymbolTable__Record record, OOC_SymbolTable__ProcDecl procDecl) {
2631   register OOC_INT64 i0,i1,i2;
2632 
2633   i0 = (OOC_INT64)procDecl;
2634   i1 = (OOC_INT64)record;
2635   i2 = *(OOC_INT32*)((_check_pointer(i1, 90607))+88);
2636   *(OOC_INT32*)((_check_pointer(i0, 90584))+96) = i2;
2637   i0 = *(OOC_INT32*)((_check_pointer(i1, 90637))+88);
2638   *(OOC_INT32*)((_check_pointer(i1, 90637))+88) = (i0+1);
2639   return;
2640   ;
2641 }
2642 
OOC_SymbolTable__RecordDesc_ExtensionLevel(OOC_SymbolTable__Record record)2643 OOC_INT32 OOC_SymbolTable__RecordDesc_ExtensionLevel(OOC_SymbolTable__Record record) {
2644   register OOC_INT64 i0,i1,i2;
2645   OOC_INT32 level;
2646 
2647   level = 0;
2648   i0 = (OOC_INT64)record;
2649   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 90917))+72);
2650   i1 = i1!=(OOC_INT64)0;
2651   if (i1) goto l3;
2652   i0=0;
2653   goto l9;
2654 l3:
2655   i1=0;
2656 l4_loop:
2657   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 90959))+72);
2658   i0 = _type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 90969)))), &_td_OOC_SymbolTable__RecordDesc, 90969);
2659   record = (OOC_SymbolTable__Record)i0;
2660   i1 = i1+1;
2661   level = i1;
2662   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 90917))+72);
2663   i2 = i2!=(OOC_INT64)0;
2664   if (i2) goto l4_loop;
2665 l8:
2666   i0=i1;
2667 l9:
2668   return i0;
2669   ;
2670 }
2671 
OOC_SymbolTable__InitTypeVar(OOC_SymbolTable__TypeVar typeVar,OOC_SymbolTable__Item parent,OOC_SymbolTable__Position position,OOC_SymbolTable__Type bound)2672 void OOC_SymbolTable__InitTypeVar(OOC_SymbolTable__TypeVar typeVar, OOC_SymbolTable__Item parent, OOC_SymbolTable__Position position, OOC_SymbolTable__Type bound) {
2673   register OOC_INT64 i0,i1,i2;
2674 
2675   i0 = (OOC_INT64)position;
2676   i1 = (OOC_INT64)parent;
2677   i2 = (OOC_INT64)typeVar;
2678   OOC_SymbolTable__InitType((OOC_SymbolTable__Type)i2, (OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Position)i0);
2679   i0 = (OOC_INT64)bound;
2680   *(OOC_INT64*)((_check_pointer(i2, 91221))+72) = i0;
2681   *(OOC_INT64*)((_check_pointer(i2, 91249))+80) = i0;
2682   *(OOC_INT32*)((_check_pointer(i2, 91284))+88) = (-1);
2683   return;
2684   ;
2685 }
2686 
OOC_SymbolTable__TypeVarDesc_Store(OOC_SymbolTable__TypeVar typeVar,ADT_Storable__Writer w)2687 void OOC_SymbolTable__TypeVarDesc_Store(OOC_SymbolTable__TypeVar typeVar, ADT_Storable__Writer w) {
2688   register OOC_INT64 i0,i1,i2;
2689 
2690   i0 = (OOC_INT64)w;
2691   i1 = (OOC_INT64)typeVar;
2692   OOC_SymbolTable__TypeDesc_Store((OOC_SymbolTable__Type)i1, (ADT_Storable__Writer)i0);
2693   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 91471))+80);
2694   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 91456))+72);
2695   OOC_SymbolTable__WriteType((ADT_Storable__Writer)i0, (OOC_SymbolTable__Type)i1, (OOC_SymbolTable__Type)i2);
2696   return;
2697   ;
2698 }
2699 
OOC_SymbolTable__TypeVarDesc_Load(OOC_SymbolTable__TypeVar typeVar,ADT_Storable__Reader r)2700 void OOC_SymbolTable__TypeVarDesc_Load(OOC_SymbolTable__TypeVar typeVar, ADT_Storable__Reader r) {
2701   register OOC_INT64 i0,i1;
2702 
2703   i0 = (OOC_INT64)r;
2704   i1 = (OOC_INT64)typeVar;
2705   OOC_SymbolTable__TypeDesc_Load((OOC_SymbolTable__Type)i1, (ADT_Storable__Reader)i0);
2706   OOC_SymbolTable__ReadType((ADT_Storable__Reader)i0, (void*)((_check_pointer(i1, 91627))+72), (void*)((_check_pointer(i1, 91642))+80));
2707   *(OOC_INT32*)((_check_pointer(i1, 91669))+88) = (-1);
2708   return;
2709   ;
2710 }
2711 
OOC_SymbolTable__TypeVarDesc_Bound(OOC_SymbolTable__TypeVar typeVar)2712 OOC_SymbolTable__Type OOC_SymbolTable__TypeVarDesc_Bound(OOC_SymbolTable__TypeVar typeVar) {
2713   register OOC_INT64 i0;
2714 
2715   i0 = (OOC_INT64)typeVar;
2716   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 91776))+72);
2717   return (OOC_SymbolTable__Type)i0;
2718   ;
2719 }
2720 
OOC_SymbolTable__TypeVarDesc_SetParameterIndex(OOC_SymbolTable__TypeVar typeVar,OOC_INT32 parameterIndex)2721 void OOC_SymbolTable__TypeVarDesc_SetParameterIndex(OOC_SymbolTable__TypeVar typeVar, OOC_INT32 parameterIndex) {
2722   register OOC_INT64 i0,i1;
2723 
2724   i0 = (OOC_INT64)typeVar;
2725   i1 = parameterIndex;
2726   *(OOC_INT32*)((_check_pointer(i0, 91891))+88) = i1;
2727   return;
2728   ;
2729 }
2730 
OOC_SymbolTable__InitTypePars(OOC_SymbolTable__TypePars typePars,OOC_SymbolTable__Item parent)2731 void OOC_SymbolTable__InitTypePars(OOC_SymbolTable__TypePars typePars, OOC_SymbolTable__Item parent) {
2732   register OOC_INT64 i0,i1;
2733 
2734   i0 = (OOC_INT64)parent;
2735   i1 = (OOC_INT64)typePars;
2736   OOC_SymbolTable__InitItem((OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Item)i0);
2737   *(OOC_INT64*)((_check_pointer(i1, 92065))+40) = (OOC_INT64)0;
2738   *(OOC_INT64*)((_check_pointer(i1, 92093))+48) = (OOC_INT64)0;
2739   return;
2740   ;
2741 }
2742 
OOC_SymbolTable__TypeParsDesc_Store(OOC_SymbolTable__TypePars typePars,ADT_Storable__Writer w)2743 void OOC_SymbolTable__TypeParsDesc_Store(OOC_SymbolTable__TypePars typePars, ADT_Storable__Writer w) {
2744   register OOC_INT64 i0,i1;
2745 
2746   i0 = (OOC_INT64)w;
2747   i1 = (OOC_INT64)typePars;
2748   OOC_SymbolTable__ItemDesc_Store((OOC_SymbolTable__Item)i1, (ADT_Storable__Writer)i0);
2749   return;
2750   ;
2751 }
2752 
OOC_SymbolTable__TypeParsDesc_Load(OOC_SymbolTable__TypePars typePars,ADT_Storable__Reader r)2753 void OOC_SymbolTable__TypeParsDesc_Load(OOC_SymbolTable__TypePars typePars, ADT_Storable__Reader r) {
2754   register OOC_INT64 i0,i1;
2755 
2756   i0 = (OOC_INT64)r;
2757   i1 = (OOC_INT64)typePars;
2758   OOC_SymbolTable__ItemDesc_Load((OOC_SymbolTable__Item)i1, (ADT_Storable__Reader)i0);
2759   *(OOC_INT64*)((_check_pointer(i1, 92407))+40) = (OOC_INT64)0;
2760   *(OOC_INT64*)((_check_pointer(i1, 92435))+48) = (OOC_INT64)0;
2761   return;
2762   ;
2763 }
2764 
OOC_SymbolTable__TypeParsDesc_SetNamespace(OOC_SymbolTable__TypePars typePars,OOC_SymbolTable__Namespace ns)2765 void OOC_SymbolTable__TypeParsDesc_SetNamespace(OOC_SymbolTable__TypePars typePars, OOC_SymbolTable__Namespace ns) {
2766   register OOC_INT64 i0,i1;
2767 
2768   i0 = (OOC_INT64)typePars;
2769   i1 = (OOC_INT64)ns;
2770   *(OOC_INT64*)((_check_pointer(i0, 92620))+48) = i1;
2771   return;
2772   ;
2773 }
2774 
OOC_SymbolTable__InitTypeRef(struct OOC_SymbolTable__TypeRef * typeRef,RT0__Struct typeRef__tag,OOC_SymbolTable__Type type)2775 void OOC_SymbolTable__InitTypeRef(struct OOC_SymbolTable__TypeRef *typeRef, RT0__Struct typeRef__tag, OOC_SymbolTable__Type type) {
2776   register OOC_INT64 i0;
2777 
2778   i0 = (OOC_INT64)type;
2779   *(OOC_INT64*)(OOC_INT64)typeRef = i0;
2780   *(OOC_INT64*)((OOC_INT64)typeRef+8) = i0;
2781   return;
2782   ;
2783 }
2784 
OOC_SymbolTable__StoreTypeRef(ADT_Storable__Writer w,struct OOC_SymbolTable__TypeRef * typeRef,RT0__Struct typeRef__tag)2785 static void OOC_SymbolTable__StoreTypeRef(ADT_Storable__Writer w, struct OOC_SymbolTable__TypeRef *typeRef, RT0__Struct typeRef__tag) {
2786   register OOC_INT64 i0,i1;
2787 
2788   i0 = (OOC_INT64)w;
2789   i1 = (OOC_INT64)*(OOC_INT64*)((OOC_INT64)typeRef+8);
2790   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 92916)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i1);
2791   return;
2792   ;
2793 }
2794 
OOC_SymbolTable__LoadTypeRef(ADT_Storable__Reader r,struct OOC_SymbolTable__TypeRef * typeRef,RT0__Struct typeRef__tag)2795 static void OOC_SymbolTable__LoadTypeRef(ADT_Storable__Reader r, struct OOC_SymbolTable__TypeRef *typeRef, RT0__Struct typeRef__tag) {
2796   register OOC_INT64 i0;
2797   Object__Object obj;
2798 
2799   i0 = (OOC_INT64)r;
2800   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 93120)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
2801   i0 = (OOC_INT64)obj;
2802   *(OOC_INT64*)((OOC_INT64)typeRef+8) = (_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 93171)))), &_td_OOC_SymbolTable__TypeDesc, 93171));
2803   *(OOC_INT64*)(OOC_INT64)typeRef = (_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 93202)))), &_td_OOC_SymbolTable__TypeDesc, 93202));
2804   return;
2805   ;
2806 }
2807 
OOC_SymbolTable__InitQualType(OOC_SymbolTable__QualType qualType,OOC_SymbolTable__Item parent,OOC_SymbolTable__Position position,OOC_SymbolTable__Type baseType,OOC_SymbolTable__TypeRefArray arguments)2808 void OOC_SymbolTable__InitQualType(OOC_SymbolTable__QualType qualType, OOC_SymbolTable__Item parent, OOC_SymbolTable__Position position, OOC_SymbolTable__Type baseType, OOC_SymbolTable__TypeRefArray arguments) {
2809   register OOC_INT64 i0,i1,i2;
2810 
2811   i0 = (OOC_INT64)position;
2812   i1 = (OOC_INT64)parent;
2813   i2 = (OOC_INT64)qualType;
2814   OOC_SymbolTable__InitType((OOC_SymbolTable__Type)i2, (OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Position)i0);
2815   i0 = (OOC_INT64)baseType;
2816   *(OOC_INT64*)((_check_pointer(i2, 93463))+72) = i0;
2817   *(OOC_INT64*)((_check_pointer(i2, 93498))+80) = i0;
2818   i0 = (OOC_INT64)arguments;
2819   *(OOC_INT64*)((_check_pointer(i2, 93540))+88) = i0;
2820   return;
2821   ;
2822 }
2823 
OOC_SymbolTable__NewQualType(OOC_SymbolTable__Item parent,OOC_SymbolTable__Position position,OOC_SymbolTable__Type baseType,OOC_SymbolTable__TypeRefArray arguments)2824 OOC_SymbolTable__QualType OOC_SymbolTable__NewQualType(OOC_SymbolTable__Item parent, OOC_SymbolTable__Position position, OOC_SymbolTable__Type baseType, OOC_SymbolTable__TypeRefArray arguments) {
2825   register OOC_INT64 i0,i1,i2,i3,i4;
2826 
2827   i0 = (OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__QualType.baseTypes[0]);
2828   i1 = (OOC_INT64)arguments;
2829   i2 = (OOC_INT64)baseType;
2830   i3 = (OOC_INT64)position;
2831   i4 = (OOC_INT64)parent;
2832   OOC_SymbolTable__InitQualType((OOC_SymbolTable__QualType)i0, (OOC_SymbolTable__Item)i4, (OOC_SymbolTable__Position)i3, (OOC_SymbolTable__Type)i2, (OOC_SymbolTable__TypeRefArray)i1);
2833   return (OOC_SymbolTable__QualType)i0;
2834   ;
2835 }
2836 
OOC_SymbolTable__QualTypeDesc_Store(OOC_SymbolTable__QualType qualType,ADT_Storable__Writer w)2837 void OOC_SymbolTable__QualTypeDesc_Store(OOC_SymbolTable__QualType qualType, ADT_Storable__Writer w) {
2838   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
2839   OOC_INT32 i;
2840 
2841   i0 = (OOC_INT64)w;
2842   i1 = (OOC_INT64)qualType;
2843   OOC_SymbolTable__TypeDesc_Store((OOC_SymbolTable__Type)i1, (ADT_Storable__Writer)i0);
2844   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 94057))+80);
2845   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 94038))+72);
2846   OOC_SymbolTable__WriteType((ADT_Storable__Writer)i0, (OOC_SymbolTable__Type)i3, (OOC_SymbolTable__Type)i2);
2847   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 94103))+88);
2848   i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 94113)), 0);
2849   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 94081)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, i2);
2850   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 94148))+88);
2851   i = 0;
2852   i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 94158)), 0);
2853   i3 = 0<i2;
2854   if (!i3) goto l8;
2855   i3 = (OOC_INT64)&_td_OOC_SymbolTable__TypeRef;
2856   i4=0;
2857 l3_loop:
2858   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 94196))+88);
2859   i5 = OOC_ARRAY_LENGTH((_check_pointer(i5, 94206)), 0);
2860   i5 = _check_index(i4, i5, OOC_UINT32, 94206);
2861   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 94196))+88);
2862   i5 = _check_pointer(i5, 94206);
2863   i6 = OOC_ARRAY_LENGTH(i5, 0);
2864   OOC_SymbolTable__StoreTypeRef((ADT_Storable__Writer)i0, (void*)(i5+((_check_index(i4, i6, OOC_UINT32, 94206))*16)), (RT0__Struct)i3);
2865   i4 = i4+1;
2866   i = i4;
2867   i5 = i4<i2;
2868   if (i5) goto l3_loop;
2869 l8:
2870   return;
2871   ;
2872 }
2873 
OOC_SymbolTable__QualTypeDesc_Load(OOC_SymbolTable__QualType qualType,ADT_Storable__Reader r)2874 void OOC_SymbolTable__QualTypeDesc_Load(OOC_SymbolTable__QualType qualType, ADT_Storable__Reader r) {
2875   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
2876   OOC_INT32 len;
2877   OOC_INT32 i;
2878 
2879   i0 = (OOC_INT64)r;
2880   i1 = (OOC_INT64)qualType;
2881   OOC_SymbolTable__TypeDesc_Load((OOC_SymbolTable__Type)i1, (ADT_Storable__Reader)i0);
2882   OOC_SymbolTable__ReadType((ADT_Storable__Reader)i0, (void*)((_check_pointer(i1, 94392))+72), (void*)((_check_pointer(i1, 94411))+80));
2883   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 94435)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i0, (void*)(OOC_INT64)&len);
2884   i2 = len;
2885   *(OOC_INT64*)((_check_pointer(i1, 94466))+88) = ((OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__TypeRefArray.baseTypes[0], i2));
2886   i = 0;
2887   i3 = 0<i2;
2888   if (!i3) goto l8;
2889   i3 = (OOC_INT64)&_td_OOC_SymbolTable__TypeRef;
2890   i4=0;
2891 l3_loop:
2892   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 94540))+88);
2893   i5 = OOC_ARRAY_LENGTH((_check_pointer(i5, 94550)), 0);
2894   i5 = _check_index(i4, i5, OOC_UINT32, 94550);
2895   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 94540))+88);
2896   i5 = _check_pointer(i5, 94550);
2897   i6 = OOC_ARRAY_LENGTH(i5, 0);
2898   OOC_SymbolTable__LoadTypeRef((ADT_Storable__Reader)i0, (void*)(i5+((_check_index(i4, i6, OOC_UINT32, 94550))*16)), (RT0__Struct)i3);
2899   i4 = i4+1;
2900   i = i4;
2901   i5 = i4<i2;
2902   if (i5) goto l3_loop;
2903 l8:
2904   return;
2905   ;
2906 }
2907 
OOC_SymbolTable__QualTypeDesc_Deparam(OOC_SymbolTable__QualType qualType)2908 OOC_SymbolTable__Type OOC_SymbolTable__QualTypeDesc_Deparam(OOC_SymbolTable__QualType qualType) {
2909   register OOC_INT64 i0;
2910 
2911   i0 = (OOC_INT64)qualType;
2912   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 94654))+72);
2913   return (OOC_SymbolTable__Type)i0;
2914   ;
2915 }
2916 
OOC_SymbolTable__InitPointer(OOC_SymbolTable__Pointer pointer,OOC_SymbolTable__Item parent,OOC_SymbolTable__Position position,OOC_SymbolTable__Type baseType)2917 void OOC_SymbolTable__InitPointer(OOC_SymbolTable__Pointer pointer, OOC_SymbolTable__Item parent, OOC_SymbolTable__Position position, OOC_SymbolTable__Type baseType) {
2918   register OOC_INT64 i0,i1,i2;
2919 
2920   i0 = (OOC_INT64)position;
2921   i1 = (OOC_INT64)parent;
2922   i2 = (OOC_INT64)pointer;
2923   OOC_SymbolTable__InitType((OOC_SymbolTable__Type)i2, (OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Position)i0);
2924   i0 = (OOC_INT64)baseType;
2925   *(OOC_INT64*)((_check_pointer(i2, 94860))+72) = i0;
2926   *(OOC_INT64*)((_check_pointer(i2, 94895))+80) = i0;
2927   *(OOC_UINT8*)((_check_pointer(i2, 94937))+88) = 0u;
2928   *(OOC_UINT8*)((_check_pointer(i2, 94979))+89) = 0u;
2929   return;
2930   ;
2931 }
2932 
OOC_SymbolTable__PointerDesc_Store(OOC_SymbolTable__Pointer pointer,ADT_Storable__Writer w)2933 void OOC_SymbolTable__PointerDesc_Store(OOC_SymbolTable__Pointer pointer, ADT_Storable__Writer w) {
2934   register OOC_INT64 i0,i1,i2,i3;
2935 
2936   i0 = (OOC_INT64)w;
2937   i1 = (OOC_INT64)pointer;
2938   OOC_SymbolTable__TypeDesc_Store((OOC_SymbolTable__Type)i1, (ADT_Storable__Writer)i0);
2939   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 95169))+80);
2940   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 95151))+72);
2941   OOC_SymbolTable__WriteType((ADT_Storable__Writer)i0, (OOC_SymbolTable__Type)i3, (OOC_SymbolTable__Type)i2);
2942   i2 = *(OOC_UINT8*)((_check_pointer(i1, 95213))+88);
2943   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 95193)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2944   i1 = *(OOC_UINT8*)((_check_pointer(i1, 95261))+89);
2945   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 95241)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i1);
2946   return;
2947   ;
2948 }
2949 
OOC_SymbolTable__PointerDesc_Load(OOC_SymbolTable__Pointer pointer,ADT_Storable__Reader r)2950 void OOC_SymbolTable__PointerDesc_Load(OOC_SymbolTable__Pointer pointer, ADT_Storable__Reader r) {
2951   register OOC_INT64 i0,i1;
2952 
2953   i0 = (OOC_INT64)r;
2954   i1 = (OOC_INT64)pointer;
2955   OOC_SymbolTable__TypeDesc_Load((OOC_SymbolTable__Type)i1, (ADT_Storable__Reader)i0);
2956   OOC_SymbolTable__ReadType((ADT_Storable__Reader)i0, (void*)((_check_pointer(i1, 95416))+72), (void*)((_check_pointer(i1, 95434))+80));
2957   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 95458)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 95477))+88));
2958   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 95505)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 95524))+89));
2959   return;
2960   ;
2961 }
2962 
OOC_SymbolTable__InitArray(OOC_SymbolTable__Array array,OOC_SymbolTable__Item parent,OOC_SymbolTable__Position position,OOC_CHAR8 isOpenArray,OOC_SymbolTable__Type elementType,OOC_AST__Node lengthExpr)2963 void OOC_SymbolTable__InitArray(OOC_SymbolTable__Array array, OOC_SymbolTable__Item parent, OOC_SymbolTable__Position position, OOC_CHAR8 isOpenArray, OOC_SymbolTable__Type elementType, OOC_AST__Node lengthExpr) {
2964   register OOC_INT64 i0,i1,i2;
2965 
2966   i0 = (OOC_INT64)position;
2967   i1 = (OOC_INT64)parent;
2968   i2 = (OOC_INT64)array;
2969   OOC_SymbolTable__InitType((OOC_SymbolTable__Type)i2, (OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Position)i0);
2970   i0 = isOpenArray;
2971   *(OOC_UINT8*)((_check_pointer(i2, 95786))+72) = i0;
2972   *(OOC_UINT8*)((_check_pointer(i2, 95825))+73) = 1u;
2973   *(OOC_UINT8*)((_check_pointer(i2, 95859))+74) = 0u;
2974   i0 = (OOC_INT64)elementType;
2975   *(OOC_INT64*)((_check_pointer(i2, 95895))+80) = i0;
2976   *(OOC_INT64*)((_check_pointer(i2, 95934))+88) = i0;
2977   *(OOC_INT32*)((_check_pointer(i2, 95980))+96) = (-1);
2978   i0 = (OOC_INT64)lengthExpr;
2979   *(OOC_INT64*)((_check_pointer(i2, 96005))+104) = i0;
2980   *(OOC_UINT8*)((_check_pointer(i2, 96042))+112) = 0u;
2981   return;
2982   ;
2983 }
2984 
OOC_SymbolTable__ArrayDesc_Store(OOC_SymbolTable__Array array,ADT_Storable__Writer w)2985 void OOC_SymbolTable__ArrayDesc_Store(OOC_SymbolTable__Array array, ADT_Storable__Writer w) {
2986   register OOC_INT64 i0,i1,i2,i3;
2987 
2988   i0 = (OOC_INT64)w;
2989   i1 = (OOC_INT64)array;
2990   OOC_SymbolTable__TypeDesc_Store((OOC_SymbolTable__Type)i1, (ADT_Storable__Writer)i0);
2991   i2 = *(OOC_UINT8*)((_check_pointer(i1, 96205))+72);
2992   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 96187)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2993   i2 = *(OOC_UINT8*)((_check_pointer(i1, 96244))+73);
2994   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 96226)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2995   i2 = *(OOC_UINT8*)((_check_pointer(i1, 96285))+74);
2996   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 96267)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
2997   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 96326))+80);
2998   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 96345))+88);
2999   OOC_SymbolTable__WriteType((ADT_Storable__Writer)i0, (OOC_SymbolTable__Type)i2, (OOC_SymbolTable__Type)i3);
3000   i2 = *(OOC_INT32*)((_check_pointer(i1, 96389))+96);
3001   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 96372)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, i2);
3002   i1 = *(OOC_UINT8*)((_check_pointer(i1, 96427))+112);
3003   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 96409)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i1);
3004   return;
3005   ;
3006 }
3007 
OOC_SymbolTable__ArrayDesc_Load(OOC_SymbolTable__Array array,ADT_Storable__Reader r)3008 void OOC_SymbolTable__ArrayDesc_Load(OOC_SymbolTable__Array array, ADT_Storable__Reader r) {
3009   register OOC_INT64 i0,i1;
3010 
3011   i0 = (OOC_INT64)r;
3012   i1 = (OOC_INT64)array;
3013   OOC_SymbolTable__TypeDesc_Load((OOC_SymbolTable__Type)i1, (ADT_Storable__Reader)i0);
3014   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 96558)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 96575))+72));
3015   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 96596)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 96613))+73));
3016   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 96636)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 96653))+74));
3017   OOC_SymbolTable__ReadType((ADT_Storable__Reader)i0, (void*)((_check_pointer(i1, 96693))+80), (void*)((_check_pointer(i1, 96712))+88));
3018   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 96739)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 96755))+96));
3019   *(OOC_INT64*)((_check_pointer(i1, 96775))+104) = (OOC_INT64)0;
3020   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 96801)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 96818))+112));
3021   return;
3022   ;
3023 }
3024 
OOC_SymbolTable__ArrayDesc_SetLength(OOC_SymbolTable__Array array,OOC_INT32 length)3025 void OOC_SymbolTable__ArrayDesc_SetLength(OOC_SymbolTable__Array array, OOC_INT32 length) {
3026   register OOC_INT64 i0,i1;
3027 
3028   i0 = (OOC_INT64)array;
3029   i1 = length;
3030   *(OOC_INT32*)((_check_pointer(i0, 96916))+96) = i1;
3031   return;
3032   ;
3033 }
3034 
OOC_SymbolTable__ArrayDesc_GetOpenDimensions(OOC_SymbolTable__Array array)3035 OOC_INT32 OOC_SymbolTable__ArrayDesc_GetOpenDimensions(OOC_SymbolTable__Array array) {
3036   register OOC_INT64 i0,i1,i2;
3037   OOC_INT32 dim;
3038   OOC_SymbolTable__Type type;
3039 
3040   dim = 0;
3041   i0 = (OOC_INT64)array;
3042   type = (OOC_SymbolTable__Type)i0;
3043   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 97238)))), &_td_OOC_SymbolTable__ArrayDesc);
3044   if (i1) goto l3;
3045   i1=0u;
3046   goto l5;
3047 l3:
3048   i1 = *(OOC_UINT8*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 97255)))), &_td_OOC_SymbolTable__ArrayDesc, 97255)), 97261))+72);
3049 
3050 l5:
3051   if (i1) goto l7;
3052   i0=0;
3053   goto l17;
3054 l7:
3055   i1=i0;i0=0;
3056 l8_loop:
3057   i0 = i0+1;
3058   dim = i0;
3059   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 97313)))), &_td_OOC_SymbolTable__ArrayDesc, 97313)), 97319))+80);
3060   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 97313)))), &_td_OOC_SymbolTable__ArrayDesc, 97313)), 97319))+80);
3061   i1 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 97331)))), OOC_SymbolTable__TypeDesc_Deparam)),OOC_SymbolTable__TypeDesc_Deparam)((OOC_SymbolTable__Type)i1);
3062   type = (OOC_SymbolTable__Type)i1;
3063   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 97238)))), &_td_OOC_SymbolTable__ArrayDesc);
3064   if (i2) goto l11;
3065   i2=0u;
3066   goto l13;
3067 l11:
3068   i2 = *(OOC_UINT8*)((_check_pointer((_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 97255)))), &_td_OOC_SymbolTable__ArrayDesc, 97255)), 97261))+72);
3069 
3070 l13:
3071   if (i2) goto l8_loop;
3072 l17:
3073   return i0;
3074   ;
3075 }
3076 
OOC_SymbolTable__ArrayDesc_GetNonOpenElementType(OOC_SymbolTable__Array array)3077 OOC_SymbolTable__Type OOC_SymbolTable__ArrayDesc_GetNonOpenElementType(OOC_SymbolTable__Array array) {
3078   register OOC_INT64 i0,i1;
3079   OOC_SymbolTable__Type type;
3080 
3081   i0 = (OOC_INT64)array;
3082   type = (OOC_SymbolTable__Type)i0;
3083   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 97599)))), &_td_OOC_SymbolTable__ArrayDesc);
3084   if (i1) goto l3;
3085   i1=0u;
3086   goto l5;
3087 l3:
3088   i1 = *(OOC_UINT8*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 97616)))), &_td_OOC_SymbolTable__ArrayDesc, 97616)), 97622))+72);
3089 
3090 l5:
3091   if (!i1) goto l17;
3092 l8_loop:
3093   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 97657)))), &_td_OOC_SymbolTable__ArrayDesc, 97657)), 97663))+80);
3094   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 97657)))), &_td_OOC_SymbolTable__ArrayDesc, 97657)), 97663))+80);
3095   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 97675)))), OOC_SymbolTable__TypeDesc_Deparam)),OOC_SymbolTable__TypeDesc_Deparam)((OOC_SymbolTable__Type)i0);
3096   type = (OOC_SymbolTable__Type)i0;
3097   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 97599)))), &_td_OOC_SymbolTable__ArrayDesc);
3098   if (i1) goto l11;
3099   i1=0u;
3100   goto l13;
3101 l11:
3102   i1 = *(OOC_UINT8*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 97616)))), &_td_OOC_SymbolTable__ArrayDesc, 97616)), 97622))+72);
3103 
3104 l13:
3105   if (i1) goto l8_loop;
3106 l17:
3107   return (OOC_SymbolTable__Type)i0;
3108   ;
3109 }
3110 
OOC_SymbolTable__ArrayDesc_GetInnermostElementType(OOC_SymbolTable__Array array)3111 OOC_SymbolTable__Type OOC_SymbolTable__ArrayDesc_GetInnermostElementType(OOC_SymbolTable__Array array) {
3112   register OOC_INT64 i0,i1;
3113   OOC_SymbolTable__Type type;
3114 
3115   i0 = (OOC_INT64)array;
3116   type = (OOC_SymbolTable__Type)i0;
3117   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 97945)))), &_td_OOC_SymbolTable__ArrayDesc);
3118   if (!i1) goto l9;
3119 
3120 l4_loop:
3121   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 97977)))), &_td_OOC_SymbolTable__ArrayDesc, 97977)), 97983))+80);
3122   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 97977)))), &_td_OOC_SymbolTable__ArrayDesc, 97977)), 97983))+80);
3123   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 97995)))), OOC_SymbolTable__TypeDesc_Deparam)),OOC_SymbolTable__TypeDesc_Deparam)((OOC_SymbolTable__Type)i0);
3124   type = (OOC_SymbolTable__Type)i0;
3125   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 97945)))), &_td_OOC_SymbolTable__ArrayDesc);
3126   if (i1) goto l4_loop;
3127 l9:
3128   return (OOC_SymbolTable__Type)i0;
3129   ;
3130 }
3131 
OOC_SymbolTable__ArrayDesc_GetNthElementType(OOC_SymbolTable__Array array,OOC_INT32 dim)3132 OOC_SymbolTable__Type OOC_SymbolTable__ArrayDesc_GetNthElementType(OOC_SymbolTable__Array array, OOC_INT32 dim) {
3133   register OOC_INT64 i0,i1,i2;
3134   OOC_SymbolTable__Type type;
3135 
3136   i0 = (OOC_INT64)array;
3137   type = (OOC_SymbolTable__Type)i0;
3138   i1 = dim;
3139   i2 = i1>0;
3140   if (!i2) goto l9;
3141 
3142 l4_loop:
3143   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 98356)))), &_td_OOC_SymbolTable__ArrayDesc, 98356)), 98362))+80);
3144   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 98356)))), &_td_OOC_SymbolTable__ArrayDesc, 98356)), 98362))+80);
3145   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 98374)))), OOC_SymbolTable__TypeDesc_Deparam)),OOC_SymbolTable__TypeDesc_Deparam)((OOC_SymbolTable__Type)i0);
3146   type = (OOC_SymbolTable__Type)i0;
3147   i1 = i1-1;
3148   dim = i1;
3149   i2 = i1>0;
3150   if (i2) goto l4_loop;
3151 l9:
3152   return (OOC_SymbolTable__Type)i0;
3153   ;
3154 }
3155 
OOC_SymbolTable__InitFormalPars(OOC_SymbolTable__FormalPars formalPars,OOC_SymbolTable__Item parent,OOC_SymbolTable__Position position)3156 void OOC_SymbolTable__InitFormalPars(OOC_SymbolTable__FormalPars formalPars, OOC_SymbolTable__Item parent, OOC_SymbolTable__Position position) {
3157   register OOC_INT64 i0,i1,i2;
3158 
3159   i0 = (OOC_INT64)position;
3160   i1 = (OOC_INT64)parent;
3161   i2 = (OOC_INT64)formalPars;
3162   OOC_SymbolTable__InitType((OOC_SymbolTable__Type)i2, (OOC_SymbolTable__Item)i1, (OOC_SymbolTable__Position)i0);
3163   *(OOC_INT64*)((_check_pointer(i2, 98636))+72) = (OOC_INT64)0;
3164   *(OOC_INT64*)((_check_pointer(i2, 98669))+80) = (OOC_INT64)0;
3165   *(OOC_INT64*)((_check_pointer(i2, 98704))+88) = (OOC_INT64)0;
3166   *(OOC_INT64*)((_check_pointer(i2, 98746))+96) = (OOC_INT64)0;
3167   *(OOC_UINT8*)((_check_pointer(i2, 98777))+104) = 0u;
3168   *(OOC_UINT8*)((_check_pointer(i2, 98821))+105) = 0u;
3169   *(OOC_INT8*)((_check_pointer(i2, 98856))+106) = 0;
3170   *(OOC_INT64*)((_check_pointer(i2, 98901))+112) = (OOC_INT64)0;
3171   *(OOC_INT64*)((_check_pointer(i2, 98932))+120) = (OOC_INT64)0;
3172   return;
3173   ;
3174 }
3175 
OOC_SymbolTable__FormalParsDesc_EnableRestParameters(OOC_SymbolTable__FormalPars formalPars)3176 void OOC_SymbolTable__FormalParsDesc_EnableRestParameters(OOC_SymbolTable__FormalPars formalPars) {
3177   register OOC_INT64 i0;
3178 
3179   i0 = (OOC_INT64)formalPars;
3180   *(OOC_UINT8*)((_check_pointer(i0, 99150))+104) = 1u;
3181   return;
3182   ;
3183 }
3184 
OOC_SymbolTable__FormalParsDesc_SetResultType(OOC_SymbolTable__FormalPars formalPars,OOC_SymbolTable__Type resultType)3185 void OOC_SymbolTable__FormalParsDesc_SetResultType(OOC_SymbolTable__FormalPars formalPars, OOC_SymbolTable__Type resultType) {
3186   register OOC_INT64 i0,i1;
3187 
3188   i0 = (OOC_INT64)formalPars;
3189   i1 = (OOC_INT64)resultType;
3190   *(OOC_INT64*)((_check_pointer(i0, 99298))+80) = i1;
3191   *(OOC_INT64*)((_check_pointer(i0, 99339))+88) = i1;
3192   return;
3193   ;
3194 }
3195 
OOC_SymbolTable__FormalParsDesc_SetNamespace(OOC_SymbolTable__FormalPars formalPars,OOC_SymbolTable__Namespace ns)3196 void OOC_SymbolTable__FormalParsDesc_SetNamespace(OOC_SymbolTable__FormalPars formalPars, OOC_SymbolTable__Namespace ns) {
3197   register OOC_INT64 i0,i1;
3198 
3199   i0 = (OOC_INT64)formalPars;
3200   i1 = (OOC_INT64)ns;
3201   *(OOC_INT64*)((_check_pointer(i0, 99570))+120) = i1;
3202   return;
3203   ;
3204 }
3205 
OOC_SymbolTable__FormalParsDesc_Store(OOC_SymbolTable__FormalPars formalPars,ADT_Storable__Writer w)3206 void OOC_SymbolTable__FormalParsDesc_Store(OOC_SymbolTable__FormalPars formalPars, ADT_Storable__Writer w) {
3207   register OOC_INT64 i0,i1,i2,i3,i4,i5;
3208   OOC_INT32 i;
3209 
3210   i0 = (OOC_INT64)w;
3211   i1 = (OOC_INT64)formalPars;
3212   OOC_SymbolTable__TypeDesc_Store((OOC_SymbolTable__Type)i1, (ADT_Storable__Writer)i0);
3213   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 99771))+72);
3214   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 99746)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i2);
3215   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 99811))+80);
3216   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 99834))+88);
3217   OOC_SymbolTable__WriteType((ADT_Storable__Writer)i0, (OOC_SymbolTable__Type)i2, (OOC_SymbolTable__Type)i3);
3218   i2 = *(OOC_UINT8*)((_check_pointer(i1, 99883))+104);
3219   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 99860)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
3220   i2 = *(OOC_UINT8*)((_check_pointer(i1, 99933))+105);
3221   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 99910)))), IO_BinaryRider__WriterDesc_WriteBool)),IO_BinaryRider__WriterDesc_WriteBool)((IO_BinaryRider__Writer)i0, i2);
3222   i2 = *(OOC_INT8*)((_check_pointer(i1, 99974))+106);
3223   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 99951)))), IO_BinaryRider__WriterDesc_WriteSInt)),IO_BinaryRider__WriterDesc_WriteSInt)((IO_BinaryRider__Writer)i0, i2);
3224   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 100005))+112);
3225   i2 = i2==(OOC_INT64)0;
3226   if (i2) goto l11;
3227   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 100092))+112);
3228   i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 100100)), 0);
3229   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 100065)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, i2);
3230   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 100140))+112);
3231   i = 0;
3232   i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 100148)), 0);
3233   i3 = 0<i2;
3234   if (!i3) goto l12;
3235   i3=0;
3236 l5_loop:
3237   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 100190))+112);
3238   i4 = _check_pointer(i4, 100198);
3239   i5 = OOC_ARRAY_LENGTH(i4, 0);
3240   i4 = (OOC_INT64)*(OOC_INT64*)(i4+(_check_index(i3, i5, OOC_UINT32, 100198))*8);
3241   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 100165)))), ADT_Storable__WriterDesc_WriteObject)),ADT_Storable__WriterDesc_WriteObject)((ADT_Storable__Writer)i0, (Object__Object)i4);
3242   i3 = i3+1;
3243   i = i3;
3244   i4 = i3<i2;
3245   if (i4) goto l5_loop;
3246   goto l12;
3247 l11:
3248   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 100033)))), IO_BinaryRider__WriterDesc_WriteNum)),IO_BinaryRider__WriterDesc_WriteNum)((IO_BinaryRider__Writer)i0, (-1));
3249 l12:
3250   return;
3251   ;
3252 }
3253 
OOC_SymbolTable__FormalParsDesc_Load(OOC_SymbolTable__FormalPars formalPars,ADT_Storable__Reader r)3254 void OOC_SymbolTable__FormalParsDesc_Load(OOC_SymbolTable__FormalPars formalPars, ADT_Storable__Reader r) {
3255   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
3256   Object__Object obj;
3257   OOC_INT32 len;
3258   OOC_INT32 i;
3259 
3260   i0 = (OOC_INT64)r;
3261   i1 = (OOC_INT64)formalPars;
3262   OOC_SymbolTable__TypeDesc_Load((OOC_SymbolTable__Type)i1, (ADT_Storable__Reader)i0);
3263   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 100434)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
3264   i2 = (OOC_INT64)obj;
3265   i3 = i2==(OOC_INT64)0;
3266   if (i3) goto l3;
3267   *(OOC_INT64*)((_check_pointer(i1, 100537))+72) = (_type_guard(i2, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i2, 100555)))), &_td_OOC_SymbolTable__VarDeclDesc, 100555));
3268   goto l4;
3269 l3:
3270   *(OOC_INT64*)((_check_pointer(i1, 100494))+72) = (OOC_INT64)0;
3271 l4:
3272   OOC_SymbolTable__ReadType((ADT_Storable__Reader)i0, (void*)((_check_pointer(i1, 100599))+80), (void*)((_check_pointer(i1, 100622))+88));
3273   *(OOC_INT64*)((_check_pointer(i1, 100657))+96) = (OOC_INT64)0;
3274   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 100679)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 100701))+104));
3275   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 100728)))), IO_BinaryRider__ReaderDesc_ReadBool)),IO_BinaryRider__ReaderDesc_ReadBool)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 100750))+105));
3276   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 100768)))), IO_BinaryRider__ReaderDesc_ReadSInt)),IO_BinaryRider__ReaderDesc_ReadSInt)((IO_BinaryRider__Reader)i0, (void*)((_check_pointer(i1, 100790))+106));
3277   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 100813)))), IO_BinaryRider__ReaderDesc_ReadNum)),IO_BinaryRider__ReaderDesc_ReadNum)((IO_BinaryRider__Reader)i0, (void*)(OOC_INT64)&len);
3278   i2 = len;
3279   i3 = i2<0;
3280   if (i3) goto l15;
3281   *(OOC_INT64*)((_check_pointer(i1, 100914))+112) = ((OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__ExceptionNameArray.baseTypes[0], i2));
3282   i = 0;
3283   i3 = 0<i2;
3284   if (!i3) goto l16;
3285   i3=0;
3286 l9_loop:
3287   OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 100968)))), ADT_Storable__ReaderDesc_ReadObject)),ADT_Storable__ReaderDesc_ReadObject)((ADT_Storable__Reader)i0, (void*)(OOC_INT64)&obj);
3288   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 101006))+112);
3289   i4 = _check_pointer(i4, 101014);
3290   i5 = OOC_ARRAY_LENGTH(i4, 0);
3291   i6 = (OOC_INT64)obj;
3292   *(OOC_INT64*)(i4+(_check_index(i3, i5, OOC_UINT32, 101014))*8) = (_type_guard(i6, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i6, 101025)))), &_td_OOC_SymbolTable__ExceptionNameDesc, 101025));
3293   i3 = i3+1;
3294   i = i3;
3295   i4 = i3<i2;
3296   if (i4) goto l9_loop;
3297   goto l16;
3298 l15:
3299   *(OOC_INT64*)((_check_pointer(i1, 100868))+112) = (OOC_INT64)0;
3300 l16:
3301   *(OOC_INT64*)((_check_pointer(i1, 101073))+120) = (OOC_INT64)0;
3302   return;
3303   ;
3304 }
3305 
OOC_SymbolTable__InitTypeClosure(OOC_SymbolTable__TypeClosure tc,OOC_SymbolTable__Position position,OOC_SymbolTable__Type baseType,OOC_SymbolTable__TypeVarArray params,OOC_SymbolTable__TypeRefArray arguments)3306 static void OOC_SymbolTable__InitTypeClosure(OOC_SymbolTable__TypeClosure tc, OOC_SymbolTable__Position position, OOC_SymbolTable__Type baseType, OOC_SymbolTable__TypeVarArray params, OOC_SymbolTable__TypeRefArray arguments) {
3307   register OOC_INT64 i0,i1,i2,i3;
3308 
3309   i0 = (OOC_INT64)params;
3310   i1 = (OOC_INT64)arguments;
3311   i2 = OOC_ARRAY_LENGTH((_check_pointer(i0, 101334)), 0);
3312   i3 = OOC_ARRAY_LENGTH((_check_pointer(i1, 101352)), 0);
3313   _assert((i2==i3), 127, 101317);
3314   i2 = (OOC_INT64)tc;
3315   i3 = (OOC_INT64)position;
3316   OOC_SymbolTable__InitType((OOC_SymbolTable__Type)i2, (OOC_SymbolTable__Item)(OOC_INT64)0, (OOC_SymbolTable__Position)i3);
3317   i3 = (OOC_INT64)baseType;
3318   *(OOC_INT64*)((_check_pointer(i2, 101396))+72) = i3;
3319   *(OOC_INT64*)((_check_pointer(i2, 101425))+80) = i0;
3320   *(OOC_INT64*)((_check_pointer(i2, 101450))+88) = i1;
3321   i0 = i3!=(OOC_INT64)0;
3322   if (i0) goto l3;
3323   *(OOC_INT32*)((_check_pointer(i2, 101587))+64) = (-1);
3324   *(OOC_INT16*)((_check_pointer(i2, 101608))+68) = (-1);
3325   goto l4;
3326 l3:
3327   i0 = *(OOC_INT32*)((_check_pointer(i3, 101529))+64);
3328   *(OOC_INT32*)((_check_pointer(i2, 101512))+64) = i0;
3329   i0 = *(OOC_INT16*)((_check_pointer(i3, 101562))+68);
3330   *(OOC_INT16*)((_check_pointer(i2, 101544))+68) = i0;
3331 l4:
3332   return;
3333   ;
3334 }
3335 
OOC_SymbolTable__NewTypeClosure(OOC_SymbolTable__Position position,OOC_SymbolTable__Type baseType,OOC_SymbolTable__TypeVarArray params,OOC_SymbolTable__TypeRefArray arguments)3336 OOC_SymbolTable__TypeClosure OOC_SymbolTable__NewTypeClosure(OOC_SymbolTable__Position position, OOC_SymbolTable__Type baseType, OOC_SymbolTable__TypeVarArray params, OOC_SymbolTable__TypeRefArray arguments) {
3337   register OOC_INT64 i0,i1,i2,i3,i4;
3338 
3339   i0 = (OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__TypeClosure.baseTypes[0]);
3340   i1 = (OOC_INT64)arguments;
3341   i2 = (OOC_INT64)params;
3342   i3 = (OOC_INT64)baseType;
3343   i4 = (OOC_INT64)position;
3344   OOC_SymbolTable__InitTypeClosure((OOC_SymbolTable__TypeClosure)i0, (OOC_SymbolTable__Position)i4, (OOC_SymbolTable__Type)i3, (OOC_SymbolTable__TypeVarArray)i2, (OOC_SymbolTable__TypeRefArray)i1);
3345   return (OOC_SymbolTable__TypeClosure)i0;
3346   ;
3347 }
3348 
OOC_SymbolTable__TypeClosureDesc_Deparam(OOC_SymbolTable__TypeClosure typeClosure)3349 OOC_SymbolTable__Type OOC_SymbolTable__TypeClosureDesc_Deparam(OOC_SymbolTable__TypeClosure typeClosure) {
3350   register OOC_INT64 i0;
3351 
3352   i0 = (OOC_INT64)typeClosure;
3353   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102065))+72);
3354   return (OOC_SymbolTable__Type)i0;
3355   ;
3356 }
3357 
OOC_SymbolTable__TypeClosureDesc_Lookup(OOC_SymbolTable__TypeClosure typeClosure,OOC_SymbolTable__TypeVar tv,OOC_SymbolTable__TypeVar _default)3358 OOC_SymbolTable__Type OOC_SymbolTable__TypeClosureDesc_Lookup(OOC_SymbolTable__TypeClosure typeClosure, OOC_SymbolTable__TypeVar tv, OOC_SymbolTable__TypeVar _default) {
3359   register OOC_INT64 i0,i1,i2,i3,i4;
3360   OOC_INT32 i;
3361 
3362   i0 = (OOC_INT64)typeClosure;
3363   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102356))+80);
3364   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102383))+88);
3365   i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 102363)), 0);
3366   i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 102393)), 0);
3367   _assert((i1==i2), 127, 102334);
3368   i = 0;
3369   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102440))+80);
3370   i1 = OOC_ARRAY_LENGTH((_check_pointer(i1, 102447)), 0);
3371   i1 = 0!=i1;
3372   if (i1) goto l3;
3373   i1=0u;
3374   goto l5;
3375 l3:
3376   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102465))+80);
3377   i1 = _check_pointer(i1, 102472);
3378   i2 = OOC_ARRAY_LENGTH(i1, 0);
3379   i1 = (OOC_INT64)*(OOC_INT64*)(i1+(_check_index(0, i2, OOC_UINT32, 102472))*8);
3380   i2 = (OOC_INT64)tv;
3381   i1 = i1!=i2;
3382 
3383 l5:
3384   if (i1) goto l7;
3385   i1=0;
3386   goto l17;
3387 l7:
3388   i1 = (OOC_INT64)tv;
3389   i2=0;
3390 l8_loop:
3391   i2 = i2+1;
3392   i = i2;
3393   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102440))+80);
3394   i3 = OOC_ARRAY_LENGTH((_check_pointer(i3, 102447)), 0);
3395   i3 = i2!=i3;
3396   if (i3) goto l11;
3397   i3=0u;
3398   goto l13;
3399 l11:
3400   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102465))+80);
3401   i3 = _check_pointer(i3, 102472);
3402   i4 = OOC_ARRAY_LENGTH(i3, 0);
3403   i3 = (OOC_INT64)*(OOC_INT64*)(i3+(_check_index(i2, i4, OOC_UINT32, 102472))*8);
3404   i3 = i3!=i1;
3405 
3406 l13:
3407   if (i3) goto l8_loop;
3408 l16:
3409   i1=i2;
3410 l17:
3411   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102536))+80);
3412   i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 102543)), 0);
3413   i2 = i1==i2;
3414   if (i2) goto l20;
3415   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 102801))+88);
3416   i0 = _check_pointer(i0, 102811);
3417   i2 = OOC_ARRAY_LENGTH(i0, 0);
3418   i0 = (OOC_INT64)*(OOC_INT64*)(i0+((_check_index(i1, i2, OOC_UINT32, 102811))*16));
3419   return (OOC_SymbolTable__Type)i0;
3420   goto l21;
3421 l20:
3422   i0 = (OOC_INT64)_default;
3423   return (OOC_SymbolTable__Type)i0;
3424 l21:
3425   _failed_function(102129); return 0;
3426   ;
3427 }
3428 
OOC_SymbolTable__TypeClosureDesc_Closure(OOC_SymbolTable__TypeClosure closure,OOC_SymbolTable__Type type)3429 OOC_SymbolTable__Type OOC_SymbolTable__TypeClosureDesc_Closure(OOC_SymbolTable__TypeClosure closure, OOC_SymbolTable__Type type) {
3430   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
3431   OOC_SymbolTable__TypeRefArray args;
3432   OOC_INT32 i;
3433   OOC_SymbolTable__Type nextType;
3434 
3435   i0 = (OOC_INT64)type;
3436   i1 = i0==(OOC_INT64)0;
3437   if (!i1) goto l3;
3438   return (OOC_SymbolTable__Type)(OOC_INT64)0;
3439 l3:
3440   i1 = (OOC_INT64)&_td_OOC_SymbolTable__TypeRef;
3441 
3442 l4_loop:
3443   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 103141)))), &_td_OOC_SymbolTable__QualTypeDesc);
3444   if (i2) goto l19;
3445   i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 103593)))), &_td_OOC_SymbolTable__TypeVarDesc);
3446   if (i2) goto l13;
3447   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103806))+56);
3448   i2 = i2==(OOC_INT64)0;
3449   if (!i2) goto l29;
3450   return (OOC_SymbolTable__Type)i0;
3451   goto l28;
3452 l13:
3453   i2 = (OOC_INT64)closure;
3454   i2 = (OOC_INT64)OOC_SymbolTable__TypeClosureDesc_Lookup((OOC_SymbolTable__TypeClosure)i2, (OOC_SymbolTable__TypeVar)i0, (OOC_SymbolTable__TypeVar)(OOC_INT64)0);
3455   nextType = (OOC_SymbolTable__Type)i2;
3456   i2 = i2==(OOC_INT64)0;
3457   if (i2) goto l16;
3458   i0 = (OOC_INT64)OOC_SymbolTable__emptyClosure;
3459   closure = (OOC_SymbolTable__TypeClosure)i0;
3460   goto l28;
3461 l16:
3462   return (OOC_SymbolTable__Type)i0;
3463   goto l28;
3464 l19:
3465   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103178))+88);
3466   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103201))+72);
3467   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 103210))+56);
3468   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 103219))+40);
3469   i3 = OOC_ARRAY_LENGTH((_check_pointer(i3, 103226)), 0);
3470   i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 103188)), 0);
3471   _assert((i2==i3), 127, 103163);
3472   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103257))+72);
3473   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 103266))+56);
3474   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 103275))+40);
3475   i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 103282)), 0);
3476   i2 = (OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__TypeRefArray.baseTypes[0], i2);
3477   args = (OOC_SymbolTable__TypeRefArray)i2;
3478   i = 0;
3479   i3 = OOC_ARRAY_LENGTH((_check_pointer(i2, 103317)), 0);
3480   i4 = 0<i3;
3481   if (!i4) goto l27;
3482   i4 = (OOC_INT64)closure;
3483   i5=0;
3484 l22_loop:
3485   i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103376))+88);
3486   i6 = _check_pointer(i6, 103386);
3487   i7 = OOC_ARRAY_LENGTH(i6, 0);
3488   i6 = (OOC_INT64)*(OOC_INT64*)(i6+((_check_index(i5, i7, OOC_UINT32, 103386))*16));
3489   i6 = (OOC_INT64)OOC_SymbolTable__TypeClosureDesc_Closure((OOC_SymbolTable__TypeClosure)i4, (OOC_SymbolTable__Type)i6);
3490   i7 = OOC_ARRAY_LENGTH((_check_pointer(i2, 103351)), 0);
3491   i7 = _check_index(i5, i7, OOC_UINT32, 103351);
3492   i7 = _check_pointer(i2, 103351);
3493   i8 = OOC_ARRAY_LENGTH(i7, 0);
3494   OOC_SymbolTable__InitTypeRef((void*)(i7+((_check_index(i5, i8, OOC_UINT32, 103351))*16)), (RT0__Struct)i1, (OOC_SymbolTable__Type)i6);
3495   i5 = i5+1;
3496   i = i5;
3497   i6 = i5<i3;
3498   if (i6) goto l22_loop;
3499 l27:
3500   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103503))+72);
3501   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 103512))+56);
3502   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i3, 103521))+40);
3503   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103449))+40);
3504   i2 = (OOC_INT64)OOC_SymbolTable__NewTypeClosure((OOC_SymbolTable__Position)i4, (OOC_SymbolTable__Type)(OOC_INT64)0, (OOC_SymbolTable__TypeVarArray)i3, (OOC_SymbolTable__TypeRefArray)i2);
3505   closure = (OOC_SymbolTable__TypeClosure)i2;
3506   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 103561))+72);
3507   nextType = (OOC_SymbolTable__Type)i0;
3508 l28:
3509   i0 = (OOC_INT64)nextType;
3510   type = (OOC_SymbolTable__Type)i0;
3511 
3512   goto l4_loop;
3513 l29:
3514   i1 = (OOC_INT64)closure;
3515   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 104115))+88);
3516   i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 104099))+80);
3517   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 104049))+40);
3518   i0 = (OOC_INT64)OOC_SymbolTable__NewTypeClosure((OOC_SymbolTable__Position)i1, (OOC_SymbolTable__Type)i0, (OOC_SymbolTable__TypeVarArray)i3, (OOC_SymbolTable__TypeRefArray)i2);
3519   return (OOC_SymbolTable__Type)i0;
3520   ;
3521 }
3522 
OOC_SymbolTable__TypeClosureDesc_ArgumentsInduced(OOC_SymbolTable__TypeClosure closure,OOC_SymbolTable__Type type)3523 OOC_CHAR8 OOC_SymbolTable__TypeClosureDesc_ArgumentsInduced(OOC_SymbolTable__TypeClosure closure, OOC_SymbolTable__Type type) {
3524   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6,i7,i8;
3525   OOC_INT32 i;
3526   OOC_INT32 j;
3527 
3528   i0 = (OOC_INT64)type;
3529   i1 = i0==(OOC_INT64)0;
3530   if (i1) goto l35;
3531   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 104633)))), &_td_OOC_SymbolTable__QualTypeDesc);
3532   if (i1) goto l5;
3533   i0 = (OOC_INT64)closure;
3534   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 105015))+88);
3535   i0 = OOC_ARRAY_LENGTH((_check_pointer(i0, 105025)), 0);
3536   return (i0==0);
3537   goto l36;
3538 l5:
3539   i1 = (OOC_INT64)closure;
3540   i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 104680))+80);
3541   i2 = OOC_ARRAY_LENGTH((_check_pointer(i2, 104687)), 0);
3542   i = 0;
3543   i3 = 0<i2;
3544   if (!i3) goto l33;
3545   i3=0;
3546 l8_loop:
3547   j = 0;
3548   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 104742))+88);
3549   i4 = OOC_ARRAY_LENGTH((_check_pointer(i4, 104752)), 0);
3550   i4 = 0!=i4;
3551   if (i4) goto l11;
3552   i4=0u;
3553   goto l13;
3554 l11:
3555   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 104779))+88);
3556   i4 = _check_pointer(i4, 104789);
3557   i5 = OOC_ARRAY_LENGTH(i4, 0);
3558   i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 104807))+80);
3559   i6 = _check_pointer(i6, 104814);
3560   i7 = OOC_ARRAY_LENGTH(i6, 0);
3561   i6 = (OOC_INT64)*(OOC_INT64*)(i6+(_check_index(i3, i7, OOC_UINT32, 104814))*8);
3562   i4 = (OOC_INT64)*(OOC_INT64*)(i4+((_check_index(0, i5, OOC_UINT32, 104789))*16));
3563   i4 = i4!=i6;
3564 
3565 l13:
3566   if (i4) goto l15;
3567   i4=0;
3568   goto l25;
3569 l15:
3570   i4=0;
3571 l16_loop:
3572   i4 = i4+1;
3573   j = i4;
3574   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 104742))+88);
3575   i5 = OOC_ARRAY_LENGTH((_check_pointer(i5, 104752)), 0);
3576   i5 = i4!=i5;
3577   if (i5) goto l19;
3578   i5=0u;
3579   goto l21;
3580 l19:
3581   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 104779))+88);
3582   i5 = _check_pointer(i5, 104789);
3583   i6 = OOC_ARRAY_LENGTH(i5, 0);
3584   i7 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 104807))+80);
3585   i7 = _check_pointer(i7, 104814);
3586   i8 = OOC_ARRAY_LENGTH(i7, 0);
3587   i7 = (OOC_INT64)*(OOC_INT64*)(i7+(_check_index(i3, i8, OOC_UINT32, 104814))*8);
3588   i5 = (OOC_INT64)*(OOC_INT64*)(i5+((_check_index(i4, i6, OOC_UINT32, 104789))*16));
3589   i5 = i5!=i7;
3590 
3591 l21:
3592   if (i5) goto l16_loop;
3593 l25:
3594   i5 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 104883))+88);
3595   i5 = OOC_ARRAY_LENGTH((_check_pointer(i5, 104893)), 0);
3596   i4 = i4==i5;
3597   if (!i4) goto l28;
3598   return 0u;
3599 l28:
3600   i3 = i3+1;
3601   i = i3;
3602   i4 = i3<i2;
3603   if (i4) goto l8_loop;
3604 l33:
3605   return 1u;
3606   goto l36;
3607 l35:
3608   i0 = (OOC_INT64)closure;
3609   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 104590))+88);
3610   i0 = OOC_ARRAY_LENGTH((_check_pointer(i0, 104600)), 0);
3611   return (i0==0);
3612 l36:
3613   _failed_function(104177); return 0;
3614   ;
3615 }
3616 
OOC_SymbolTable__Expand(OOC_SymbolTable__Type type)3617 OOC_SymbolTable__Type OOC_SymbolTable__Expand(OOC_SymbolTable__Type type) {
3618   register OOC_INT64 i0,i1;
3619 
3620   i0 = (OOC_INT64)type;
3621   i1 = (OOC_INT64)OOC_SymbolTable__emptyClosure;
3622   i0 = (OOC_INT64)OOC_SymbolTable__TypeClosureDesc_Closure((OOC_SymbolTable__TypeClosure)i1, (OOC_SymbolTable__Type)i0);
3623   return (OOC_SymbolTable__Type)i0;
3624   ;
3625 }
3626 
OOC_SymbolTable__ItemDesc_Namespace(OOC_SymbolTable__Item item)3627 OOC_SymbolTable__Namespace OOC_SymbolTable__ItemDesc_Namespace(OOC_SymbolTable__Item item) {
3628 
3629   return (OOC_SymbolTable__Namespace)(OOC_INT64)0;
3630   ;
3631 }
3632 
OOC_SymbolTable__ModuleDesc_Namespace(OOC_SymbolTable__Module item)3633 OOC_SymbolTable__Namespace OOC_SymbolTable__ModuleDesc_Namespace(OOC_SymbolTable__Module item) {
3634   register OOC_INT64 i0;
3635 
3636   i0 = (OOC_INT64)item;
3637   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 106672))+88);
3638   return (OOC_SymbolTable__Namespace)i0;
3639   ;
3640 }
3641 
OOC_SymbolTable__ProcDeclDesc_Namespace(OOC_SymbolTable__ProcDecl item)3642 OOC_SymbolTable__Namespace OOC_SymbolTable__ProcDeclDesc_Namespace(OOC_SymbolTable__ProcDecl item) {
3643   register OOC_INT64 i0;
3644 
3645   i0 = (OOC_INT64)item;
3646   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 106771))+104);
3647   return (OOC_SymbolTable__Namespace)i0;
3648   ;
3649 }
3650 
OOC_SymbolTable__FormalParsDesc_Namespace(OOC_SymbolTable__FormalPars item)3651 OOC_SymbolTable__Namespace OOC_SymbolTable__FormalParsDesc_Namespace(OOC_SymbolTable__FormalPars item) {
3652   register OOC_INT64 i0;
3653 
3654   i0 = (OOC_INT64)item;
3655   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 106872))+120);
3656   return (OOC_SymbolTable__Namespace)i0;
3657   ;
3658 }
3659 
OOC_SymbolTable__RecordDesc_Namespace(OOC_SymbolTable__Record item)3660 OOC_SymbolTable__Namespace OOC_SymbolTable__RecordDesc_Namespace(OOC_SymbolTable__Record item) {
3661   register OOC_INT64 i0;
3662 
3663   i0 = (OOC_INT64)item;
3664   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 106969))+96);
3665   return (OOC_SymbolTable__Namespace)i0;
3666   ;
3667 }
3668 
OOC_SymbolTable__TypeParsDesc_Namespace(OOC_SymbolTable__TypePars item)3669 OOC_SymbolTable__Namespace OOC_SymbolTable__TypeParsDesc_Namespace(OOC_SymbolTable__TypePars item) {
3670   register OOC_INT64 i0;
3671 
3672   i0 = (OOC_INT64)item;
3673   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 107068))+48);
3674   return (OOC_SymbolTable__Namespace)i0;
3675   ;
3676 }
3677 
OOC_SymbolTable__QualTypeDesc_Namespace(OOC_SymbolTable__QualType item)3678 OOC_SymbolTable__Namespace OOC_SymbolTable__QualTypeDesc_Namespace(OOC_SymbolTable__QualType item) {
3679   register OOC_INT64 i0,i1;
3680 
3681   i0 = (OOC_INT64)item;
3682   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 107167))+72);
3683   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 107167))+72);
3684   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 107176)))), OOC_SymbolTable__ItemDesc_Namespace)),OOC_SymbolTable__ItemDesc_Namespace)((OOC_SymbolTable__Item)i0);
3685   return (OOC_SymbolTable__Namespace)i0;
3686   ;
3687 }
3688 
OOC_SymbolTable__Prune(OOC_SymbolTable__Module root,ADT_Dictionary_AddressKey__Dictionary keep)3689 void OOC_SymbolTable__Prune(OOC_SymbolTable__Module root, ADT_Dictionary_AddressKey__Dictionary keep) {
3690   register OOC_INT64 i0,i1,i2,i3,i4,i5,i6;
3691   ADT_ArrayList__ArrayList prunedImports;
3692   OOC_INT32 i;
3693   OOC_SymbolTable__Import import;
3694   OOC_SymbolTable__ModuleRef mr;
3695   auto void OOC_SymbolTable__Prune_PruneList(OOC_SymbolTable__Item *list, OOC_SymbolTable__Item *last);
3696 
3697     void OOC_SymbolTable__Prune_PruneList(OOC_SymbolTable__Item *list, OOC_SymbolTable__Item *last) {
3698       register OOC_INT64 i0,i1,i2;
3699       OOC_SymbolTable__Item _this;
3700 
3701       i0 = (OOC_INT64)*list;
3702       _this = (OOC_SymbolTable__Item)i0;
3703       *last = (OOC_SymbolTable__Item)(OOC_INT64)0;
3704       *list = (OOC_SymbolTable__Item)(OOC_INT64)0;
3705       i1 = i0!=(OOC_INT64)0;
3706       if (!i1) goto l23;
3707 l3_loop:
3708       i1 = (OOC_INT64)keep;
3709       i1 = ADT_Dictionary_AddressKey__DictionaryDesc_HasKey((ADT_Dictionary_AddressKey__Dictionary)i1, (Object__Object)i0);
3710       if (i1) goto l13;
3711       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 108018)))), &_td_OOC_SymbolTable__ImportDesc);
3712       if (i1) goto l8;
3713       i1=0u;
3714       goto l10;
3715 l8:
3716       i1 = OOC_SymbolTable__ImportDesc_IsInternalImport((OOC_SymbolTable__Import)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 108037)))), &_td_OOC_SymbolTable__ImportDesc, 108037)));
3717       i1 = !i1;
3718 
3719 l10:
3720       if (!i1) goto l18;
3721       i1 = (OOC_INT64)prunedImports;
3722       OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 108094)))), ADT_ArrayList__ArrayListDesc_Append)),ADT_ArrayList__ArrayListDesc_Append)((ADT_ArrayList__ArrayList)i1, (Object__Object)i0);
3723       goto l18;
3724 l13:
3725       OOC_SymbolTable__Prune_PruneList((void*)((_check_pointer(i0, 107754))+16), (void*)((_check_pointer(i0, 107773))+24));
3726       i1 = (OOC_INT64)*last;
3727       i2 = i1==(OOC_INT64)0;
3728       if (i2) goto l16;
3729       *(OOC_INT64*)(_check_pointer(i1, 107926)) = i0;
3730       goto l17;
3731 l16:
3732       *list = (OOC_SymbolTable__Item)i0;
3733 l17:
3734       *last = (OOC_SymbolTable__Item)i0;
3735 l18:
3736       i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 108157));
3737       _this = (OOC_SymbolTable__Item)i0;
3738       i1 = i0!=(OOC_INT64)0;
3739       if (i1) goto l3_loop;
3740 l23:
3741       i0 = (OOC_INT64)*last;
3742       i1 = i0!=(OOC_INT64)0;
3743       if (!i1) goto l26;
3744       *(OOC_INT64*)(_check_pointer(i0, 108241)) = (OOC_INT64)0;
3745 l26:
3746       return;
3747       ;
3748     }
3749 
3750 
3751   i0 = (OOC_INT64)ADT_ArrayList__New(8);
3752   prunedImports = (ADT_ArrayList__ArrayList)i0;
3753   i0 = (OOC_INT64)root;
3754   OOC_SymbolTable__Prune_PruneList((void*)((_check_pointer(i0, 108353))+16), (void*)((_check_pointer(i0, 108372))+24));
3755   i0 = (OOC_INT64)root;
3756   i1 = (OOC_INT64)prunedImports;
3757   i2 = *(OOC_INT32*)((_check_pointer(i1, 108433))+8);
3758   *(OOC_INT64*)((_check_pointer(i0, 108404))+136) = ((OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__ModuleRefArray.baseTypes[0], i2));
3759   i = 0;
3760   i2 = *(OOC_INT32*)((_check_pointer(i1, 108472))+8);
3761   i3 = 0<i2;
3762   if (!i3) goto l8;
3763   i3=0;
3764 l3_loop:
3765   i4 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 108512));
3766   i4 = _check_pointer(i4, 108518);
3767   i5 = OOC_ARRAY_LENGTH(i4, 0);
3768   i4 = (OOC_INT64)*(OOC_INT64*)(i4+(_check_index(i3, i5, OOC_UINT32, 108518))*8);
3769   i4 = _type_guard(i4, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 108522)))), &_td_OOC_SymbolTable__ImportDesc, 108522);
3770   import = (OOC_SymbolTable__Import)i4;
3771   i5 = (OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__ModuleRef.baseTypes[0]);
3772   mr = (OOC_SymbolTable__ModuleRef)i5;
3773   i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i4, 108569))+88);
3774   i6 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i6, 108580))+16);
3775   *(OOC_INT64*)(_check_pointer(i5, 108554)) = i6;
3776   i4 = *(OOC_INT32*)((_check_pointer(i4, 108616))+104);
3777   *(OOC_INT32*)((_check_pointer(i5, 108594))+8) = i4;
3778   i4 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 108640))+136);
3779   i4 = _check_pointer(i4, 108654);
3780   i6 = OOC_ARRAY_LENGTH(i4, 0);
3781   *(OOC_INT64*)(i4+(_check_index(i3, i6, OOC_UINT32, 108654))*8) = i5;
3782   i3 = i3+1;
3783   i = i3;
3784   i4 = i3<i2;
3785   if (i4) goto l3_loop;
3786 l8:
3787   return;
3788   ;
3789 }
3790 
OOC_SymbolTable__DeclarationDesc_GetId(OOC_SymbolTable__Declaration decl)3791 OOC_Scanner_InputBuffer__CharArray OOC_SymbolTable__DeclarationDesc_GetId(OOC_SymbolTable__Declaration decl) {
3792   register OOC_INT64 i0,i1,i2;
3793   OOC_Scanner_InputBuffer__CharArray id;
3794   OOC_SymbolTable__Declaration declWithType;
3795   OOC_SymbolTable__Item ptr;
3796   OOC_SymbolTable__Item parent;
3797   auto OOC_SymbolTable__Declaration OOC_SymbolTable__DeclarationDesc_GetId_GetContainer(OOC_SymbolTable__Type type);
3798   auto OOC_Scanner_InputBuffer__CharArray OOC_SymbolTable__DeclarationDesc_GetId_Concat(OOC_Scanner_InputBuffer__CharArray a, OOC_Scanner_InputBuffer__CharArray b);
3799 
3800     OOC_SymbolTable__Declaration OOC_SymbolTable__DeclarationDesc_GetId_GetContainer(OOC_SymbolTable__Type type) {
3801       register OOC_INT64 i0,i1;
3802       OOC_SymbolTable__Item ptr;
3803       OOC_CHAR8 found;
3804       auto OOC_CHAR8 OOC_SymbolTable__DeclarationDesc_GetId_GetContainer_Contains(OOC_SymbolTable__Item ptr, OOC_SymbolTable__Item type);
3805 
3806         OOC_CHAR8 OOC_SymbolTable__DeclarationDesc_GetId_GetContainer_Contains(OOC_SymbolTable__Item ptr, OOC_SymbolTable__Item type) {
3807           register OOC_INT64 i0,i1,i2;
3808 
3809           i0 = (OOC_INT64)ptr;
3810           i1 = (OOC_INT64)type;
3811           i2 = i0==i1;
3812           if (i2) goto l11;
3813           i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 109404)))), &_td_OOC_SymbolTable__PointerDesc);
3814           if (i2) goto l9;
3815           i2 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 109489)))), &_td_OOC_SymbolTable__ArrayDesc);
3816           if (i2) goto l7;
3817           return 0u;
3818           goto l12;
3819 l7:
3820           i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 109532))+88);
3821           i0 = OOC_SymbolTable__DeclarationDesc_GetId_GetContainer_Contains((OOC_SymbolTable__Item)i0, (OOC_SymbolTable__Item)i1);
3822           return i0;
3823           goto l12;
3824 l9:
3825           i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 109449))+80);
3826           i0 = OOC_SymbolTable__DeclarationDesc_GetId_GetContainer_Contains((OOC_SymbolTable__Item)i0, (OOC_SymbolTable__Item)i1);
3827           return i0;
3828           goto l12;
3829 l11:
3830           return 1u;
3831 l12:
3832           _failed_function(109273); return 0;
3833           ;
3834         }
3835 
3836 
3837       i0 = (OOC_INT64)type;
3838       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 109681)))), &_td_OOC_SymbolTable__RecordDesc);
3839       if (i1) goto l3;
3840       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 109701)))), &_td_OOC_SymbolTable__FormalParsDesc);
3841 
3842       goto l4;
3843 l3:
3844       i1=1u;
3845 l4:
3846       _assert(i1, 127, 109667);
3847       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 109733)))), &_td_OOC_SymbolTable__FormalParsDesc);
3848       if (i1) goto l7;
3849       i1=0u;
3850       goto l9;
3851 l7:
3852       i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 109755))+8);
3853       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 109764)))), &_td_OOC_SymbolTable__ProcDeclDesc);
3854 
3855 l9:
3856       if (i1) goto l15;
3857       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 109850))+8);
3858       ptr = (OOC_SymbolTable__Item)i0;
3859       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 109876)))), &_td_OOC_SymbolTable__TypeParsDesc);
3860       if (!i1) goto l16;
3861       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 109914))+8);
3862       ptr = (OOC_SymbolTable__Item)i0;
3863 
3864       goto l16;
3865 l15:
3866       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 109801))+8);
3867       return (OOC_SymbolTable__Declaration)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 109810)))), &_td_OOC_SymbolTable__ProcDeclDesc, 109810));
3868 l16:
3869       i0 = (OOC_INT64)ptr;
3870       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 109966)))), &_td_OOC_SymbolTable__ModuleDesc);
3871       if (i1) goto l19;
3872       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 109999)))), &_td_OOC_SymbolTable__ProcDeclDesc);
3873 
3874       goto l21;
3875 l19:
3876       i1=1u;
3877 l21:
3878       if (i1) goto l23;
3879       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 110034)))), &_td_OOC_SymbolTable__RecordDesc);
3880 
3881       goto l25;
3882 l23:
3883       i1=1u;
3884 l25:
3885       if (i1) goto l27;
3886       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 110067)))), &_td_OOC_SymbolTable__FormalParsDesc);
3887 
3888       goto l28;
3889 l27:
3890       i1=1u;
3891 l28:
3892       _assert(i1, 127, 109953);
3893       found = 0u;
3894       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 110122))+16);
3895       ptr = (OOC_SymbolTable__Item)i0;
3896       i1 = i0!=(OOC_INT64)0;
3897       if (!i1) goto l55;
3898 l31_loop:
3899       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 110180)))), &_td_OOC_SymbolTable__VarDeclDesc);
3900       if (i1) goto l46;
3901       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 110259)))), &_td_OOC_SymbolTable__TypeDeclDesc);
3902       if (i1) goto l44;
3903       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 110339)))), &_td_OOC_SymbolTable__ProcDeclDesc);
3904       if (i1) goto l42;
3905       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 110418)))), &_td_OOC_SymbolTable__FieldDeclDesc);
3906       if (i1) goto l40;
3907       found = 0u;
3908       i0=0u;
3909       goto l47;
3910 l40:
3911       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 110465))+96);
3912       i1 = (OOC_INT64)type;
3913       i0 = OOC_SymbolTable__DeclarationDesc_GetId_GetContainer_Contains((OOC_SymbolTable__Item)i0, (OOC_SymbolTable__Item)i1);
3914       found = i0;
3915 
3916       goto l47;
3917 l42:
3918       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 110385))+112);
3919       i1 = (OOC_INT64)type;
3920       i0 = OOC_SymbolTable__DeclarationDesc_GetId_GetContainer_Contains((OOC_SymbolTable__Item)i0, (OOC_SymbolTable__Item)i1);
3921       found = i0;
3922 
3923       goto l47;
3924 l44:
3925       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 110305))+96);
3926       i1 = (OOC_INT64)type;
3927       i0 = OOC_SymbolTable__DeclarationDesc_GetId_GetContainer_Contains((OOC_SymbolTable__Item)i0, (OOC_SymbolTable__Item)i1);
3928       found = i0;
3929 
3930       goto l47;
3931 l46:
3932       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 110225))+96);
3933       i1 = (OOC_INT64)type;
3934       i0 = OOC_SymbolTable__DeclarationDesc_GetId_GetContainer_Contains((OOC_SymbolTable__Item)i0, (OOC_SymbolTable__Item)i1);
3935       found = i0;
3936 
3937 l47:
3938       i1 = (OOC_INT64)ptr;
3939       if (!i0) goto l50;
3940       return (OOC_SymbolTable__Declaration)(_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 110580)))), &_td_OOC_SymbolTable__DeclarationDesc, 110580));
3941 l50:
3942       i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 110624));
3943       ptr = (OOC_SymbolTable__Item)i0;
3944       i1 = i0!=(OOC_INT64)0;
3945       if (i1) goto l31_loop;
3946 l55:
3947       _assert(0u, 127, 110654);
3948       _failed_function(109167); return 0;
3949       ;
3950     }
3951 
3952 
3953     OOC_Scanner_InputBuffer__CharArray OOC_SymbolTable__DeclarationDesc_GetId_Concat(OOC_Scanner_InputBuffer__CharArray a, OOC_Scanner_InputBuffer__CharArray b) {
3954       register OOC_INT64 i0,i1,i2,i3;
3955       OOC_Scanner_InputBuffer__CharArray n;
3956 
3957       i0 = (OOC_INT64)a;
3958       i1 = (
3959       _cmp8((const void*)(_check_pointer(i0, 110795)),(const void*)(OOC_CHAR8*)""))==0;
3960       if (i1) goto l3;
3961       i1 = OOC_ARRAY_LENGTH((_check_pointer(i0, 110869)), 0);
3962       i1 = Strings__Length((void*)(_check_pointer(i0, 110869)), i1);
3963       i2 = (OOC_INT64)b;
3964       i3 = OOC_ARRAY_LENGTH((_check_pointer(i2, 110889)), 0);
3965       i3 = Strings__Length((void*)(_check_pointer(i2, 110889)), i3);
3966       i1 = (OOC_INT64)RT0__NewObject(_td_OOC_Scanner_InputBuffer__CharArray.baseTypes[0], ((i1+i3)+2));
3967       n = (OOC_Scanner_InputBuffer__CharArray)i1;
3968       i3 = OOC_ARRAY_LENGTH((_check_pointer(i1, 110915)), 0);
3969       _copy_8((const void*)(_check_pointer(i0, 110911)),(void*)(_check_pointer(i1, 110915)),i3);
3970       i0 = OOC_ARRAY_LENGTH((_check_pointer(i1, 110949)), 0);
3971       Strings__Append((OOC_CHAR8*)".", 2, (void*)(_check_pointer(i1, 110949)), i0);
3972       i0 = OOC_ARRAY_LENGTH((_check_pointer(i2, 110978)), 0);
3973       i3 = OOC_ARRAY_LENGTH((_check_pointer(i1, 110982)), 0);
3974       Strings__Append((void*)(_check_pointer(i2, 110978)), i0, (void*)(_check_pointer(i1, 110982)), i3);
3975       return (OOC_Scanner_InputBuffer__CharArray)i1;
3976       goto l4;
3977 l3:
3978       i0 = (OOC_INT64)b;
3979       return (OOC_Scanner_InputBuffer__CharArray)i0;
3980 l4:
3981       _failed_function(110706); return 0;
3982       ;
3983     }
3984 
3985 
3986   i0 = (OOC_INT64)decl;
3987   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 111052))+72);
3988   i1 = i1!=(OOC_INT64)0;
3989   if (i1) goto l44;
3990   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 111127)))), &_td_OOC_SymbolTable__ModuleDesc);
3991   if (i1) goto l42;
3992   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 111248)))), &_td_OOC_SymbolTable__ProcDeclDesc);
3993   if (i1) goto l7;
3994   i1=0u;
3995   goto l9;
3996 l7:
3997   i1 = OOC_SymbolTable__ProcDeclDesc_IsTypeBound((OOC_SymbolTable__ProcDecl)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 111268)))), &_td_OOC_SymbolTable__ProcDeclDesc, 111268)));
3998 
3999 l9:
4000   if (i1) goto l40;
4001   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 111567)))), &_td_OOC_SymbolTable__FieldDeclDesc);
4002   if (i1) goto l38;
4003   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 111843)))), &_td_OOC_SymbolTable__VarDeclDesc);
4004   if (i1) goto l15;
4005   i1=0u;
4006   goto l17;
4007 l15:
4008   i1 = *(OOC_UINT8*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 111862)))), &_td_OOC_SymbolTable__VarDeclDesc, 111862)), 111870))+104);
4009 
4010 l17:
4011   if (i1) goto l36;
4012   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 112152)))), &_td_OOC_SymbolTable__TypeDeclDesc);
4013   if (i1) goto l21;
4014   i1=0u;
4015   goto l23;
4016 l21:
4017   i1 = OOC_SymbolTable__TypeDeclDesc_IsTypeParameter((OOC_SymbolTable__TypeDecl)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 112172)))), &_td_OOC_SymbolTable__TypeDeclDesc, 112172)));
4018 
4019 l23:
4020   if (i1) goto l34;
4021   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 112476))+8);
4022   parent = (OOC_SymbolTable__Item)i1;
4023   i2 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 112508)))), &_td_OOC_SymbolTable__DeclarationDesc));
4024   if (!i2) goto l33;
4025 l28_loop:
4026   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 112553))+8);
4027   parent = (OOC_SymbolTable__Item)i1;
4028   i2 = !(OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 112508)))), &_td_OOC_SymbolTable__DeclarationDesc));
4029   if (i2) goto l28_loop;
4030 l33:
4031   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 112630))+40);
4032   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 112635))+16);
4033   i1 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer((_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 112604)))), &_td_OOC_SymbolTable__DeclarationDesc, 112604)), 112616)))), OOC_SymbolTable__DeclarationDesc_GetId)),OOC_SymbolTable__DeclarationDesc_GetId)((OOC_SymbolTable__Declaration)(_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 112604)))), &_td_OOC_SymbolTable__DeclarationDesc, 112604)));
4034   i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetId_Concat((OOC_Scanner_InputBuffer__CharArray)i1, (OOC_Scanner_InputBuffer__CharArray)i0);
4035   id = (OOC_Scanner_InputBuffer__CharArray)i0;
4036 
4037   goto l43;
4038 l34:
4039   i1 = (OOC_INT64)OOC_SymbolTable__TypeDeclDesc_ParametricType((OOC_SymbolTable__TypeDecl)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 112355)))), &_td_OOC_SymbolTable__TypeDeclDesc, 112355)));
4040   ptr = (OOC_SymbolTable__Item)i1;
4041   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 112431))+40);
4042   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 112436))+16);
4043   i1 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer((_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 112408)))), &_td_OOC_SymbolTable__TypeDeclDesc, 112408)), 112417)))), OOC_SymbolTable__DeclarationDesc_GetId)),OOC_SymbolTable__DeclarationDesc_GetId)((OOC_SymbolTable__Declaration)(_type_guard(i1, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i1, 112408)))), &_td_OOC_SymbolTable__TypeDeclDesc, 112408)));
4044   i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetId_Concat((OOC_Scanner_InputBuffer__CharArray)i1, (OOC_Scanner_InputBuffer__CharArray)i0);
4045   id = (OOC_Scanner_InputBuffer__CharArray)i0;
4046 
4047   goto l43;
4048 l36:
4049   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 112041)))), &_td_OOC_SymbolTable__VarDeclDesc, 112041)), 112049))+8);
4050   i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetId_GetContainer((OOC_SymbolTable__Type)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 112058)))), &_td_OOC_SymbolTable__FormalParsDesc, 112058)));
4051   declWithType = (OOC_SymbolTable__Declaration)i0;
4052   i1 = (OOC_INT64)decl;
4053   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 112121))+40);
4054   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 112127))+16);
4055   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 112106)))), OOC_SymbolTable__DeclarationDesc_GetId)),OOC_SymbolTable__DeclarationDesc_GetId)((OOC_SymbolTable__Declaration)i0);
4056   i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetId_Concat((OOC_Scanner_InputBuffer__CharArray)i0, (OOC_Scanner_InputBuffer__CharArray)i1);
4057   id = (OOC_Scanner_InputBuffer__CharArray)i0;
4058 
4059   goto l43;
4060 l38:
4061   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer((_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 111734)))), &_td_OOC_SymbolTable__FieldDeclDesc, 111734)), 111744))+8);
4062   i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetId_GetContainer((OOC_SymbolTable__Type)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 111753)))), &_td_OOC_SymbolTable__RecordDesc, 111753)));
4063   declWithType = (OOC_SymbolTable__Declaration)i0;
4064   i1 = (OOC_INT64)decl;
4065   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 111812))+40);
4066   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 111818))+16);
4067   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 111797)))), OOC_SymbolTable__DeclarationDesc_GetId)),OOC_SymbolTable__DeclarationDesc_GetId)((OOC_SymbolTable__Declaration)i0);
4068   i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetId_Concat((OOC_Scanner_InputBuffer__CharArray)i0, (OOC_Scanner_InputBuffer__CharArray)i1);
4069   id = (OOC_Scanner_InputBuffer__CharArray)i0;
4070 
4071   goto l43;
4072 l40:
4073   i0 = (OOC_INT64)OOC_SymbolTable__ProcDeclDesc_Class((OOC_SymbolTable__ProcDecl)(_type_guard(i0, ((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 111466)))), &_td_OOC_SymbolTable__ProcDeclDesc, 111466)));
4074   i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetId_GetContainer((OOC_SymbolTable__Type)i0);
4075   declWithType = (OOC_SymbolTable__Declaration)i0;
4076   i1 = (OOC_INT64)decl;
4077   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 111536))+40);
4078   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 111542))+16);
4079   i0 = (OOC_INT64)OOC_TBCALL(((OOC_INT64)OOC_TBPROC_ADR(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 111521)))), OOC_SymbolTable__DeclarationDesc_GetId)),OOC_SymbolTable__DeclarationDesc_GetId)((OOC_SymbolTable__Declaration)i0);
4080   i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetId_Concat((OOC_Scanner_InputBuffer__CharArray)i0, (OOC_Scanner_InputBuffer__CharArray)i1);
4081   id = (OOC_Scanner_InputBuffer__CharArray)i0;
4082 
4083   goto l43;
4084 l42:
4085   i0 = (OOC_INT64)RT0__NewObject(_td_OOC_Scanner_InputBuffer__CharArray.baseTypes[0], 1);
4086   id = (OOC_Scanner_InputBuffer__CharArray)i0;
4087   i1 = _check_pointer(i0, 111220);
4088   i2 = OOC_ARRAY_LENGTH(i1, 0);
4089   *(OOC_UINT8*)(i1+(_check_index(0, i2, OOC_UINT8, 111220))) = 0u;
4090 
4091 l43:
4092   i1 = (OOC_INT64)decl;
4093   *(OOC_INT64*)((_check_pointer(i1, 112663))+72) = i0;
4094   return (OOC_Scanner_InputBuffer__CharArray)i0;
4095   goto l45;
4096 l44:
4097   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 111092))+72);
4098   return (OOC_Scanner_InputBuffer__CharArray)i0;
4099 l45:
4100   _failed_function(108718); return 0;
4101   ;
4102 }
4103 
OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace(OOC_SymbolTable__Declaration decl,OOC_CHAR8 followTypeNames)4104 OOC_SymbolTable__Namespace OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace(OOC_SymbolTable__Declaration decl, OOC_CHAR8 followTypeNames) {
4105   register OOC_INT64 i0,i1;
4106   auto OOC_SymbolTable__Namespace OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace_NamespaceOfType(OOC_SymbolTable__Type type, OOC_SymbolTable__Type srcType);
4107 
4108     OOC_SymbolTable__Namespace OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace_NamespaceOfType(OOC_SymbolTable__Type type, OOC_SymbolTable__Type srcType) {
4109       register OOC_INT64 i0,i1;
4110 
4111       i0 = followTypeNames;
4112       i0 = !i0;
4113       if (i0) goto l3;
4114       i0=0u;
4115       goto l5;
4116 l3:
4117       i0 = (OOC_INT64)srcType;
4118       i0 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 113112)))), &_td_OOC_SymbolTable__TypeNameDesc);
4119 
4120 l5:
4121       if (i0) goto l39;
4122       i0 = (OOC_INT64)type;
4123       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 113300)))), &_td_OOC_SymbolTable__PredefTypeDesc);
4124       if (i1) goto l37;
4125       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 113351)))), &_td_OOC_SymbolTable__TypeNameDesc);
4126       if (i1) goto l35;
4127       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 113450)))), &_td_OOC_SymbolTable__PointerDesc);
4128       if (i1) goto l33;
4129       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 113550)))), &_td_OOC_SymbolTable__FormalParsDesc);
4130       if (i1) goto l31;
4131       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 113660)))), &_td_OOC_SymbolTable__ArrayDesc);
4132       if (i1) goto l29;
4133       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 113764)))), &_td_OOC_SymbolTable__RecordDesc);
4134       if (i1) goto l27;
4135       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 113816)))), &_td_OOC_SymbolTable__TypeVarDesc);
4136       if (i1) goto l25;
4137       i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 113899)))), &_td_OOC_SymbolTable__QualTypeDesc);
4138       if (i1) goto l23;
4139       _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 113893)))), 113893);
4140       goto l40;
4141 l23:
4142       i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 113967))+80);
4143       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 113951))+72);
4144       i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace_NamespaceOfType((OOC_SymbolTable__Type)i0, (OOC_SymbolTable__Type)i1);
4145       return (OOC_SymbolTable__Namespace)i0;
4146       goto l40;
4147 l25:
4148       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 113867))+72);
4149       i1 = (OOC_INT64)srcType;
4150       i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace_NamespaceOfType((OOC_SymbolTable__Type)i0, (OOC_SymbolTable__Type)i1);
4151       return (OOC_SymbolTable__Namespace)i0;
4152       goto l40;
4153 l27:
4154       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 113797))+96);
4155       return (OOC_SymbolTable__Namespace)i0;
4156       goto l40;
4157 l29:
4158       i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 113728))+88);
4159       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 113709))+80);
4160       i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace_NamespaceOfType((OOC_SymbolTable__Type)i0, (OOC_SymbolTable__Type)i1);
4161       return (OOC_SymbolTable__Namespace)i0;
4162       goto l40;
4163 l31:
4164       return (OOC_SymbolTable__Namespace)(OOC_INT64)0;
4165       goto l40;
4166 l33:
4167       i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 113517))+80);
4168       i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 113501))+72);
4169       i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace_NamespaceOfType((OOC_SymbolTable__Type)i0, (OOC_SymbolTable__Type)i1);
4170       return (OOC_SymbolTable__Namespace)i0;
4171       goto l40;
4172 l35:
4173       return (OOC_SymbolTable__Namespace)(OOC_INT64)0;
4174       goto l40;
4175 l37:
4176       return (OOC_SymbolTable__Namespace)(OOC_INT64)0;
4177       goto l40;
4178 l39:
4179       return (OOC_SymbolTable__Namespace)(OOC_INT64)0;
4180 l40:
4181       _failed_function(113015); return 0;
4182       ;
4183     }
4184 
4185 
4186   i0 = (OOC_INT64)decl;
4187   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 114057)))), &_td_OOC_SymbolTable__ModuleDesc);
4188   if (i1) goto l35;
4189   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 114101)))), &_td_OOC_SymbolTable__ImportDesc);
4190   if (i1) goto l33;
4191   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 114161)))), &_td_OOC_SymbolTable__ProcDeclDesc);
4192   if (i1) goto l31;
4193   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 114207)))), &_td_OOC_SymbolTable__ConstDeclDesc);
4194   if (i1) goto l29;
4195   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 114249)))), &_td_OOC_SymbolTable__PredefProcDesc);
4196   if (i1) goto l27;
4197   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 114292)))), &_td_OOC_SymbolTable__VarDeclDesc);
4198   if (i1) goto l25;
4199   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 114376)))), &_td_OOC_SymbolTable__FieldDeclDesc);
4200   if (i1) goto l23;
4201   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 114462)))), &_td_OOC_SymbolTable__TypeDeclDesc);
4202   if (i1) goto l21;
4203   i1 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 114547)))), &_td_OOC_SymbolTable__RedirectDesc);
4204   if (i1) goto l19;
4205   _failed_with(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i0, 114541)))), 114541);
4206   goto l36;
4207 l19:
4208   return (OOC_SymbolTable__Namespace)(OOC_INT64)0;
4209   goto l36;
4210 l21:
4211   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 114522))+96);
4212   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 114510))+88);
4213   i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace_NamespaceOfType((OOC_SymbolTable__Type)i0, (OOC_SymbolTable__Type)i1);
4214   return (OOC_SymbolTable__Namespace)i0;
4215   goto l36;
4216 l23:
4217   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 114437))+96);
4218   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 114425))+88);
4219   i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace_NamespaceOfType((OOC_SymbolTable__Type)i0, (OOC_SymbolTable__Type)i1);
4220   return (OOC_SymbolTable__Namespace)i0;
4221   goto l36;
4222 l25:
4223   i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 114351))+96);
4224   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 114339))+88);
4225   i0 = (OOC_INT64)OOC_SymbolTable__DeclarationDesc_GetEmbeddedNamespace_NamespaceOfType((OOC_SymbolTable__Type)i0, (OOC_SymbolTable__Type)i1);
4226   return (OOC_SymbolTable__Namespace)i0;
4227   goto l36;
4228 l27:
4229   return (OOC_SymbolTable__Namespace)(OOC_INT64)0;
4230   goto l36;
4231 l29:
4232   return (OOC_SymbolTable__Namespace)(OOC_INT64)0;
4233   goto l36;
4234 l31:
4235   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 114192))+104);
4236   return (OOC_SymbolTable__Namespace)i0;
4237   goto l36;
4238 l33:
4239   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 114130))+96);
4240   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 114146))+88);
4241   return (OOC_SymbolTable__Namespace)i0;
4242   goto l36;
4243 l35:
4244   i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 114086))+88);
4245   return (OOC_SymbolTable__Namespace)i0;
4246 l36:
4247   _failed_function(112749); return 0;
4248   ;
4249 }
4250 
OOC_SymbolTable__Init(void)4251 static void OOC_SymbolTable__Init(void) {
4252   register OOC_INT64 i0,i1,i2;
4253   OOC_SymbolTable__TypeVarArray params;
4254   OOC_SymbolTable__TypeRefArray arguments;
4255   OOC_Scanner_InputBuffer__CharArray nameString;
4256 
4257   i0 = (OOC_INT64)URI_Scheme_File__NewPrototype();
4258   URI__RegisterScheme((URI__URI)i0);
4259   OOC_SymbolTable__predefIdToType = (void*)(OOC_INT64)0;
4260   i0 = (OOC_INT64)URI_Scheme_File__ToURI((OOC_CHAR8*)"/", 2);
4261   OOC_SymbolTable__emptyBaseURI = (URI__HierarchicalURI)i0;
4262   i0 = (OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__Position.baseTypes[0]);
4263   OOC_SymbolTable__importPosition = (OOC_SymbolTable__Position)i0;
4264   OOC_SymbolTable__InitPosition((OOC_SymbolTable__Position)i0, (-2), (-1), (-1));
4265   i0 = (OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__TypeVarArray.baseTypes[0], 0);
4266   params = (OOC_SymbolTable__TypeVarArray)i0;
4267   i1 = (OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__TypeRefArray.baseTypes[0], 0);
4268   arguments = (OOC_SymbolTable__TypeRefArray)i1;
4269   i2 = (OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__TypeClosure.baseTypes[0]);
4270   OOC_SymbolTable__emptyClosure = (OOC_SymbolTable__TypeClosure)i2;
4271   OOC_SymbolTable__InitTypeClosure((OOC_SymbolTable__TypeClosure)i2, (OOC_SymbolTable__Position)(OOC_INT64)0, (OOC_SymbolTable__Type)(OOC_INT64)0, (OOC_SymbolTable__TypeVarArray)i0, (OOC_SymbolTable__TypeRefArray)i1);
4272   i0 = (OOC_INT64)RT0__NewObject(_td_OOC_Scanner_InputBuffer__CharArray.baseTypes[0], 1);
4273   nameString = (OOC_Scanner_InputBuffer__CharArray)i0;
4274   i1 = OOC_ARRAY_LENGTH((_check_pointer(i0, 115113)), 0);
4275   _copy_8((const void*)(OOC_CHAR8*)"",(void*)(_check_pointer(i0, 115113)),i1);
4276   i1 = (OOC_INT64)RT0__NewObject(_td_OOC_SymbolTable__Name.baseTypes[0]);
4277   OOC_SymbolTable__predefName = (OOC_SymbolTable__Name)i1;
4278   OOC_SymbolTable__InitName((OOC_SymbolTable__Name)i1, (OOC_Scanner_InputBuffer__CharArray)i0, 0, 0, 0);
4279   return;
4280   ;
4281 }
4282 
OOC_OOC_SymbolTable_init(void)4283 void OOC_OOC_SymbolTable_init(void) {
4284   _c0 = Object__NewLatin1Region((OOC_CHAR8*)"standard", 9, 0, 8);
4285   _c1 = Object__NewLatin1Region((OOC_CHAR8*)"internal", 9, 0, 8);
4286   _c2 = Object__NewLatin1Region((OOC_CHAR8*)"foreign", 8, 0, 7);
4287   _c3 = Object__NewLatin1Region((OOC_CHAR8*)"interface", 10, 0, 9);
4288   _c4 = Object__NewLatin1Region((OOC_CHAR8*)"--invalid--", 12, 0, 11);
4289   _c5 = Object__NewLatin1Region((OOC_CHAR8*)"default", 8, 0, 7);
4290   _c6 = Object__NewLatin1Region((OOC_CHAR8*)"internal", 9, 0, 8);
4291   _c7 = Object__NewLatin1Char(67u);
4292   _c8 = Object__NewLatin1Region((OOC_CHAR8*)"Pascal", 7, 0, 6);
4293   _c9 = Object__NewLatin1Region((OOC_CHAR8*)"Fastcall", 9, 0, 8);
4294   _c10 = Object__NewLatin1Char(67u);
4295   _c11 = Object__NewLatin1Region((OOC_CHAR8*)"Pascal", 7, 0, 6);
4296   _c12 = Object__NewLatin1Region((OOC_CHAR8*)"Fastcall", 9, 0, 8);
4297 
4298   OOC_SymbolTable__Init();
4299   return;
4300   ;
4301 }
4302 
OOC_OOC_SymbolTable_destroy(void)4303 void OOC_OOC_SymbolTable_destroy(void) {
4304 }
4305 
4306 /* --- */
4307