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