compiler/bootstrap: synced
[sdk] / compiler / bootstrap / ecere / bootstrap / OldList.c
1 /* Code generated from eC source file: OldList.ec */
2 #if defined(_WIN32)
3 #define __runtimePlatform 1
4 #elif defined(__APPLE__)
5 #define __runtimePlatform 3
6 #else
7 #define __runtimePlatform 2
8 #endif
9 #if defined(__GNUC__)
10 typedef long long int64;
11 typedef unsigned long long uint64;
12 #ifndef _WIN32
13 #define __declspec(x)
14 #endif
15 #elif defined(__TINYC__)
16 #include <stdarg.h>
17 #define __builtin_va_list va_list
18 #define __builtin_va_start va_start
19 #define __builtin_va_end va_end
20 #ifdef _WIN32
21 #define strcasecmp stricmp
22 #define strncasecmp strnicmp
23 #define __declspec(x) __attribute__((x))
24 #else
25 #define __declspec(x)
26 #endif
27 typedef long long int64;
28 typedef unsigned long long uint64;
29 #else
30 typedef __int64 int64;
31 typedef unsigned __int64 uint64;
32 #endif
33 #ifdef __BIG_ENDIAN__
34 #define __ENDIAN_PAD(x) (8 - (x))
35 #else
36 #define __ENDIAN_PAD(x) 0
37 #endif
38 #if defined(_WIN32)
39 #   if defined(__GNUC__) || defined(__TINYC__)
40 #      define ecere_stdcall __attribute__((__stdcall__))
41 #      define ecere_gcc_struct __attribute__((gcc_struct))
42 #   else
43 #      define ecere_stdcall __stdcall
44 #      define ecere_gcc_struct
45 #   endif
46 #else
47 #   define ecere_stdcall
48 #   define ecere_gcc_struct
49 #endif
50 #include <stdint.h>
51 #include <sys/types.h>
52 struct __ecereNameSpace__ecere__sys__OldList
53 {
54 void * first, * last;
55 int count;
56 unsigned int offset;
57 unsigned int circ;
58 } ecere_gcc_struct;
59
60 struct __ecereNameSpace__ecere__sys__BTNode;
61
62 struct __ecereNameSpace__ecere__com__DataValue
63 {
64 union
65 {
66 char c;
67 unsigned char uc;
68 short s;
69 unsigned short us;
70 int i;
71 unsigned int ui;
72 void *  p;
73 float f;
74 double d;
75 long long i64;
76 uint64 ui64;
77 } ecere_gcc_struct __anon1;
78 } ecere_gcc_struct;
79
80 struct __ecereNameSpace__ecere__com__SerialBuffer
81 {
82 unsigned char *  _buffer;
83 unsigned int count;
84 unsigned int _size;
85 unsigned int pos;
86 } ecere_gcc_struct;
87
88 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
89
90 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
91
92 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
93
94 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
95
96 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
97
98 extern void *  memcpy(void * , const void * , size_t size);
99
100 extern int strcmp(const char * , const char * );
101
102 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(struct __ecereNameSpace__ecere__sys__OldList * this)
103 {
104 this->offset = 0;
105 this->circ = 0;
106 this->count = 0;
107 this->first = this->last = (((void *)0));
108 }
109
110 struct __ecereNameSpace__ecere__sys__Item;
111
112 struct __ecereNameSpace__ecere__sys__Item
113 {
114 struct __ecereNameSpace__ecere__sys__Item * prev, * next;
115 } ecere_gcc_struct;
116
117 void __ecereMethod___ecereNameSpace__ecere__sys__Item_Copy(struct __ecereNameSpace__ecere__sys__Item * this, struct __ecereNameSpace__ecere__sys__Item * src, int size)
118 {
119 memcpy((unsigned char *)this + sizeof(struct __ecereNameSpace__ecere__sys__Item), (unsigned char *)src + sizeof(struct __ecereNameSpace__ecere__sys__Item), size - sizeof(struct __ecereNameSpace__ecere__sys__Item *));
120 }
121
122 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(struct __ecereNameSpace__ecere__sys__OldList * this, void * item)
123 {
124 if(item)
125 {
126 struct __ecereNameSpace__ecere__sys__Item * link = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item + this->offset);
127
128 link->prev = this->last;
129 if(link->prev)
130 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->prev + this->offset))->next = item;
131 if(!this->first)
132 this->first = item;
133 this->last = item;
134 link->next = this->circ ? this->first : (((void *)0));
135 if(this->circ)
136 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)this->first + this->offset))->prev = item;
137 this->count++;
138 }
139 }
140
141 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(struct __ecereNameSpace__ecere__sys__OldList * this, void * prevItem, void * item)
142 {
143 if(item && prevItem != item)
144 {
145 struct __ecereNameSpace__ecere__sys__Item * prevLink = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)prevItem + this->offset);
146 struct __ecereNameSpace__ecere__sys__Item * link = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item + this->offset);
147
148 link->prev = prevItem ? prevItem : (this->circ ? this->last : (((void *)0)));
149 if(prevItem)
150 {
151 link->next = prevLink->next;
152 prevLink->next = item;
153 }
154 else
155 {
156 link->next = this->first;
157 this->first = item;
158 if(this->circ)
159 {
160 if(link->prev)
161 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->prev + this->offset))->next = item;
162 else
163 link->next = item;
164 }
165 }
166 if(prevItem == this->last)
167 this->last = item;
168 if(link->next)
169 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->next + this->offset))->prev = item;
170 this->count++;
171 return 1;
172 }
173 return 0;
174 }
175
176 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(struct __ecereNameSpace__ecere__sys__OldList * this, void * item)
177 {
178 if(item)
179 {
180 struct __ecereNameSpace__ecere__sys__Item * link = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item + this->offset);
181
182 if(link->prev)
183 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->prev + this->offset))->next = link->next;
184 if(link->next)
185 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->next + this->offset))->prev = link->prev;
186 if(this->circ && this->last == this->first)
187 this->last = this->first = (((void *)0));
188 else
189 {
190 if(this->last == item)
191 this->last = link->prev;
192 if(this->first == item)
193 this->first = link->next;
194 }
195 link->prev = (((void *)0));
196 link->next = (((void *)0));
197 this->count--;
198 }
199 }
200
201 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(struct __ecereNameSpace__ecere__sys__OldList * this, void (* freeFn)(void *))
202 {
203 void * item, * next;
204
205 for(item = this->first; item; item = next)
206 {
207 struct __ecereNameSpace__ecere__sys__Item * link = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item + this->offset);
208
209 next = link->next;
210 if(freeFn)
211 freeFn(item);
212 (__ecereNameSpace__ecere__com__eSystem_Delete(item), item = 0);
213 if(next == this->first)
214 break;
215 }
216 this->first = this->last = (((void *)0));
217 this->count = 0;
218 }
219
220 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_RemoveAll(struct __ecereNameSpace__ecere__sys__OldList * this, void (* freeFn)(void *))
221 {
222 void * item, * next;
223
224 for(item = this->first; item; item = next)
225 {
226 struct __ecereNameSpace__ecere__sys__Item * link = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item + this->offset);
227
228 next = link->next;
229 if(freeFn)
230 freeFn(item);
231 if(next == this->first)
232 break;
233 }
234 this->first = this->last = (((void *)0));
235 this->count = 0;
236 }
237
238 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Move(struct __ecereNameSpace__ecere__sys__OldList * this, void * item, void * prevItem)
239 {
240 if(item)
241 {
242 struct __ecereNameSpace__ecere__sys__Item * link = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item + this->offset);
243 struct __ecereNameSpace__ecere__sys__Item * prevLink = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)prevItem + this->offset);
244
245 if(prevItem != item && (this->first != item || prevItem))
246 {
247 if(link->prev)
248 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->prev + this->offset))->next = link->next;
249 if(link->next)
250 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->next + this->offset))->prev = link->prev;
251 if(item == this->first)
252 this->first = link->next;
253 if(item == this->last)
254 this->last = link->prev;
255 if(prevItem == this->last)
256 this->last = item;
257 link->prev = prevItem ? prevItem : (this->circ ? this->last : (((void *)0)));
258 if(prevItem)
259 {
260 link->next = prevLink->next;
261 prevLink->next = item;
262 }
263 else
264 {
265 link->next = this->first;
266 this->first = item;
267 if(this->circ)
268 {
269 if(link->prev)
270 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->prev + this->offset))->next = item;
271 else
272 link->next = item;
273 }
274 }
275 if(link->next)
276 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link->next + this->offset))->prev = item;
277 }
278 }
279 }
280
281 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Swap(struct __ecereNameSpace__ecere__sys__OldList * this, void * item1, void * item2)
282 {
283 struct __ecereNameSpace__ecere__sys__Item * link1 = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item1 + this->offset);
284 struct __ecereNameSpace__ecere__sys__Item * link2 = (struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)item2 + this->offset);
285 struct __ecereNameSpace__ecere__sys__Item * prev1 = link1->prev, * next1 = link1->next;
286 void * tmp1 = item1, * tmp2 = item2;
287
288 link1->prev = link2->prev;
289 link1->next = link2->next;
290 link2->prev = prev1;
291 link2->next = next1;
292 if(this->first == tmp1)
293 this->first = item2;
294 else if(this->first == tmp2)
295 this->first = item1;
296 if(this->last == tmp1)
297 this->last = item1;
298 else if(this->last == tmp2)
299 this->last = item2;
300 if(link1->next)
301 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link1->next + this->offset))->prev = item2;
302 if(link1->prev)
303 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link1->prev + this->offset))->next = item2;
304 if(link2->next)
305 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link2->next + this->offset))->prev = item1;
306 if(link2->prev)
307 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)link2->prev + this->offset))->next = item1;
308 }
309
310 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Copy(struct __ecereNameSpace__ecere__sys__OldList * this, struct __ecereNameSpace__ecere__sys__OldList * src, int size, void (* copy)(void * dest, void * src))
311 {
312 struct __ecereNameSpace__ecere__sys__Item * item;
313
314 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(this);
315 for(item = src->first; item; item = item->next)
316 {
317 struct __ecereNameSpace__ecere__sys__Item * newItem = (struct __ecereNameSpace__ecere__sys__Item *)__ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (size));
318
319 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(this, newItem);
320 __ecereMethod___ecereNameSpace__ecere__sys__Item_Copy(newItem, item, size);
321 if(copy)
322 copy(newItem, item);
323 }
324 }
325
326 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Merge(struct __ecereNameSpace__ecere__sys__OldList * this, struct __ecereNameSpace__ecere__sys__OldList * list1, struct __ecereNameSpace__ecere__sys__OldList * list2, int (* compare)(void *, void *, void *), void * data)
327 {
328 void * item;
329
330 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(this);
331 this->offset = list1->offset;
332 while((list1->first && list2->first))
333 {
334 if(compare(list1->first, list2->first, data) <= 0)
335 {
336 item = list1->first;
337 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(list1, item);
338 }
339 else
340 {
341 item = list2->first;
342 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(list2, item);
343 }
344 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(this, item);
345 }
346 while((item = list1->first))
347 {
348 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(list1, item);
349 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(this, item);
350 }
351 while((item = list2->first))
352 {
353 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(list2, item);
354 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(this, item);
355 }
356 }
357
358 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(struct __ecereNameSpace__ecere__sys__OldList * this, void * item)
359 {
360 if(item)
361 {
362 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(this, item);
363 (__ecereNameSpace__ecere__com__eSystem_Delete(item), item = 0);
364 }
365 }
366
367 struct __ecereNameSpace__ecere__sys__NamedItem;
368
369 struct __ecereNameSpace__ecere__sys__NamedItem
370 {
371 struct __ecereNameSpace__ecere__sys__NamedItem * prev, * next;
372 char * name;
373 } ecere_gcc_struct;
374
375 void * __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName(struct __ecereNameSpace__ecere__sys__OldList * this, const char * name, unsigned int warn)
376 {
377 void * result = (((void *)0));
378
379 if(name)
380 {
381 void * item;
382 struct __ecereNameSpace__ecere__sys__NamedItem * link;
383 int compare = 1;
384
385 for(item = this->first; item; item = link->next)
386 {
387 link = (struct __ecereNameSpace__ecere__sys__NamedItem *)(((unsigned char *)item) + this->offset);
388 if(link->name && (compare = strcmp(link->name, name)) >= 0)
389 break;
390 }
391 if(!compare)
392 result = item;
393 else if(warn)
394 ;
395 }
396 return result;
397 }
398
399 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_PlaceName(struct __ecereNameSpace__ecere__sys__OldList * this, const char * name, void ** place)
400 {
401 unsigned int result = 1;
402 void * item;
403 struct __ecereNameSpace__ecere__sys__NamedItem * link;
404 int compare = 1;
405
406 for(item = this->first; item; item = link->next)
407 {
408 link = (struct __ecereNameSpace__ecere__sys__NamedItem *)((unsigned char *)item + this->offset);
409 if(link->name && (compare = strcmp(link->name, name)) >= 0)
410 break;
411 }
412 if(!item)
413 *place = this->last;
414 else
415 *place = link->prev;
416 if(compare)
417 result = 1;
418 else
419 ;
420 return result;
421 }
422
423 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName(struct __ecereNameSpace__ecere__sys__OldList * this, void * item)
424 {
425 unsigned int result = 0;
426 void * place;
427 struct __ecereNameSpace__ecere__sys__NamedItem * link = ((struct __ecereNameSpace__ecere__sys__NamedItem *)((unsigned char *)item + this->offset));
428
429 if(__ecereMethod___ecereNameSpace__ecere__sys__OldList_PlaceName(this, link->name, &place))
430 {
431 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(this, place, item);
432 result = 1;
433 }
434 return result;
435 }
436
437 struct __ecereNameSpace__ecere__sys__OldLink;
438
439 struct __ecereNameSpace__ecere__sys__OldLink
440 {
441 struct __ecereNameSpace__ecere__sys__OldLink * prev, * next;
442 void * data;
443 } ecere_gcc_struct;
444
445 void __ecereMethod___ecereNameSpace__ecere__sys__OldLink_Free(struct __ecereNameSpace__ecere__sys__OldLink * this)
446 {
447 (__ecereNameSpace__ecere__com__eSystem_Delete(this->data), this->data = 0);
448 }
449
450 struct __ecereNameSpace__ecere__sys__OldLink * __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindLink(struct __ecereNameSpace__ecere__sys__OldList * this, void * data)
451 {
452 void * item;
453 struct __ecereNameSpace__ecere__sys__OldLink * link;
454
455 for(item = this->first; item; item = link->next)
456 {
457 link = (struct __ecereNameSpace__ecere__sys__OldLink *)((unsigned char *)item + this->offset);
458 if(link->data == data)
459 break;
460 }
461 return item;
462 }
463
464 struct __ecereNameSpace__ecere__sys__NamedLink;
465
466 struct __ecereNameSpace__ecere__sys__NamedLink
467 {
468 struct __ecereNameSpace__ecere__sys__NamedLink * prev, * next;
469 char * name;
470 void * data;
471 } ecere_gcc_struct;
472
473 void * __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindNamedLink(struct __ecereNameSpace__ecere__sys__OldList * this, const char * name, unsigned int warn)
474 {
475 if(name)
476 {
477 void * item = __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName(this, name, warn);
478
479 return item ? ((struct __ecereNameSpace__ecere__sys__NamedLink *)((unsigned char *)item + this->offset))->data : (((void *)0));
480 }
481 return (((void *)0));
482 }
483
484 struct __ecereNameSpace__ecere__sys__NamedLink64;
485
486 struct __ecereNameSpace__ecere__sys__NamedLink64
487 {
488 struct __ecereNameSpace__ecere__sys__NamedLink64 * prev, * next;
489 char * name;
490 long long data;
491 } ecere_gcc_struct;
492
493 struct __ecereNameSpace__ecere__com__Class;
494
495 struct __ecereNameSpace__ecere__com__Instance
496 {
497 void * *  _vTbl;
498 struct __ecereNameSpace__ecere__com__Class * _class;
499 int _refCount;
500 } ecere_gcc_struct;
501
502 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
503
504 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
505
506 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
507
508 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
509
510 struct __ecereNameSpace__ecere__com__Property;
511
512 struct __ecereNameSpace__ecere__com__Property
513 {
514 struct __ecereNameSpace__ecere__com__Property * prev;
515 struct __ecereNameSpace__ecere__com__Property * next;
516 const char *  name;
517 unsigned int isProperty;
518 int memberAccess;
519 int id;
520 struct __ecereNameSpace__ecere__com__Class * _class;
521 const char *  dataTypeString;
522 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
523 struct __ecereNameSpace__ecere__com__Instance * dataType;
524 void (*  Set)(void * , int);
525 int (*  Get)(void * );
526 unsigned int (*  IsSet)(void * );
527 void *  data;
528 void *  symbol;
529 int vid;
530 unsigned int conversion;
531 unsigned int watcherOffset;
532 const char *  category;
533 unsigned int compiled;
534 unsigned int selfWatchable;
535 unsigned int isWatchable;
536 } ecere_gcc_struct;
537
538 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
539
540 extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
541
542 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void *  instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
543
544 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
545
546 struct __ecereNameSpace__ecere__sys__BinaryTree;
547
548 struct __ecereNameSpace__ecere__sys__BinaryTree
549 {
550 struct __ecereNameSpace__ecere__sys__BTNode * root;
551 int count;
552 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
553 void (*  FreeKey)(void *  key);
554 } ecere_gcc_struct;
555
556 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Sort(struct __ecereNameSpace__ecere__sys__OldList *  this, int (*  compare)(void * , void * , void * ), void *  data);
557
558 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Sort(struct __ecereNameSpace__ecere__sys__OldList * this, int (* compare)(void *, void *, void *), void * data)
559 {
560 if(this->first && ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)this->first + this->offset))->next)
561 {
562 struct __ecereNameSpace__ecere__sys__OldList list1, list2;
563 void * middle, * end;
564
565 for(middle = this->first, list1.count = 0, list2.count = 0, end = ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)this->first + this->offset))->next; middle && end; middle = ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)middle + this->offset))->next, list1.count++, end = ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)end + this->offset))->next, list2.count++)
566 {
567 end = ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)end + this->offset))->next;
568 if(!end)
569 break;
570 }
571 list1.offset = this->offset;
572 list2.offset = this->offset;
573 list1.circ = this->circ;
574 list2.circ = this->circ;
575 list1.first = this->first;
576 list1.last = middle;
577 list2.first = ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)middle + this->offset))->next;
578 list2.last = this->last;
579 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)list1.last + this->offset))->next = (((void *)0));
580 ((struct __ecereNameSpace__ecere__sys__Item *)((unsigned char *)list2.first + this->offset))->prev = (((void *)0));
581 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Sort(&list1, compare, data);
582 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Sort(&list2, compare, data);
583 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Merge(this, &list1, &list2, compare, data);
584 }
585 }
586
587 struct __ecereNameSpace__ecere__com__Method;
588
589 struct __ecereNameSpace__ecere__com__Method
590 {
591 const char *  name;
592 struct __ecereNameSpace__ecere__com__Method * parent;
593 struct __ecereNameSpace__ecere__com__Method * left;
594 struct __ecereNameSpace__ecere__com__Method * right;
595 int depth;
596 int (*  function)();
597 int vid;
598 int type;
599 struct __ecereNameSpace__ecere__com__Class * _class;
600 void *  symbol;
601 const char *  dataTypeString;
602 struct __ecereNameSpace__ecere__com__Instance * dataType;
603 int memberAccess;
604 } ecere_gcc_struct;
605
606 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
607
608 struct __ecereNameSpace__ecere__com__DataMember;
609
610 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
611 {
612 union
613 {
614 struct
615 {
616 const char *  dataTypeString;
617 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
618 } ecere_gcc_struct __anon1;
619 struct __ecereNameSpace__ecere__com__DataValue expression;
620 struct
621 {
622 const char *  memberString;
623 union
624 {
625 struct __ecereNameSpace__ecere__com__DataMember * member;
626 struct __ecereNameSpace__ecere__com__Property * prop;
627 struct __ecereNameSpace__ecere__com__Method * method;
628 } ecere_gcc_struct __anon1;
629 } ecere_gcc_struct __anon2;
630 } ecere_gcc_struct __anon1;
631 } ecere_gcc_struct;
632
633 struct __ecereNameSpace__ecere__com__DataMember
634 {
635 struct __ecereNameSpace__ecere__com__DataMember * prev;
636 struct __ecereNameSpace__ecere__com__DataMember * next;
637 const char *  name;
638 unsigned int isProperty;
639 int memberAccess;
640 int id;
641 struct __ecereNameSpace__ecere__com__Class * _class;
642 const char *  dataTypeString;
643 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
644 struct __ecereNameSpace__ecere__com__Instance * dataType;
645 int type;
646 int offset;
647 int memberID;
648 struct __ecereNameSpace__ecere__sys__OldList members;
649 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
650 int memberOffset;
651 short structAlignment;
652 short pointerAlignment;
653 } ecere_gcc_struct;
654
655 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
656
657 struct __ecereNameSpace__ecere__com__Module;
658
659 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
660
661 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
662
663 struct __ecereNameSpace__ecere__com__NameSpace;
664
665 struct __ecereNameSpace__ecere__com__NameSpace
666 {
667 const char *  name;
668 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
669 struct __ecereNameSpace__ecere__com__NameSpace *  left;
670 struct __ecereNameSpace__ecere__com__NameSpace *  right;
671 int depth;
672 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
673 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
674 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
675 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
676 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
677 } ecere_gcc_struct;
678
679 struct __ecereNameSpace__ecere__com__Class
680 {
681 struct __ecereNameSpace__ecere__com__Class * prev;
682 struct __ecereNameSpace__ecere__com__Class * next;
683 const char *  name;
684 int offset;
685 int structSize;
686 void * *  _vTbl;
687 int vTblSize;
688 unsigned int (*  Constructor)(void * );
689 void (*  Destructor)(void * );
690 int offsetClass;
691 int sizeClass;
692 struct __ecereNameSpace__ecere__com__Class * base;
693 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
694 struct __ecereNameSpace__ecere__sys__BinaryTree members;
695 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
696 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
697 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
698 struct __ecereNameSpace__ecere__sys__OldList derivatives;
699 int memberID;
700 int startMemberID;
701 int type;
702 struct __ecereNameSpace__ecere__com__Instance * module;
703 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
704 const char *  dataTypeString;
705 struct __ecereNameSpace__ecere__com__Instance * dataType;
706 int typeSize;
707 int defaultAlignment;
708 void (*  Initialize)();
709 int memberOffset;
710 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
711 const char *  designerClass;
712 unsigned int noExpansion;
713 const char *  defaultProperty;
714 unsigned int comRedefinition;
715 int count;
716 int isRemote;
717 unsigned int internalDecl;
718 void *  data;
719 unsigned int computeSize;
720 short structAlignment;
721 short pointerAlignment;
722 int destructionWatchOffset;
723 unsigned int fixed;
724 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
725 int inheritanceAccess;
726 const char *  fullName;
727 void *  symbol;
728 struct __ecereNameSpace__ecere__sys__OldList conversions;
729 struct __ecereNameSpace__ecere__sys__OldList templateParams;
730 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
731 struct __ecereNameSpace__ecere__com__Class * templateClass;
732 struct __ecereNameSpace__ecere__sys__OldList templatized;
733 int numParams;
734 unsigned int isInstanceClass;
735 unsigned int byValueSystemClass;
736 } ecere_gcc_struct;
737
738 struct __ecereNameSpace__ecere__com__Application
739 {
740 int argc;
741 const char * *  argv;
742 int exitCode;
743 unsigned int isGUIApp;
744 struct __ecereNameSpace__ecere__sys__OldList allModules;
745 char *  parsedCommand;
746 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
747 } ecere_gcc_struct;
748
749 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__Item;
750
751 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedItem;
752
753 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldLink;
754
755 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedLink;
756
757 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedLink64;
758
759 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
760
761 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
762
763 struct __ecereNameSpace__ecere__com__Module
764 {
765 struct __ecereNameSpace__ecere__com__Instance * application;
766 struct __ecereNameSpace__ecere__sys__OldList classes;
767 struct __ecereNameSpace__ecere__sys__OldList defines;
768 struct __ecereNameSpace__ecere__sys__OldList functions;
769 struct __ecereNameSpace__ecere__sys__OldList modules;
770 struct __ecereNameSpace__ecere__com__Instance * prev;
771 struct __ecereNameSpace__ecere__com__Instance * next;
772 const char *  name;
773 void *  library;
774 void *  Unload;
775 int importType;
776 int origImportType;
777 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
778 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
779 } ecere_gcc_struct;
780
781 void __ecereRegisterModule_OldList(struct __ecereNameSpace__ecere__com__Instance * module)
782 {
783 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
784
785 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::Item", 0, sizeof(struct __ecereNameSpace__ecere__sys__Item), 0, (void *)0, (void *)0, module, 4, 1);
786 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
787 __ecereClass___ecereNameSpace__ecere__sys__Item = class;
788 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Copy", "void Copy(ecere::sys::Item src, int size)", __ecereMethod___ecereNameSpace__ecere__sys__Item_Copy, 1);
789 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::sys::Item", sizeof(void *), 0xF000F000, 1);
790 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::sys::Item", sizeof(void *), 0xF000F000, 1);
791 if(class)
792 class->fixed = (unsigned int)1;
793 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::NamedItem", 0, sizeof(struct __ecereNameSpace__ecere__sys__NamedItem), 0, (void *)0, (void *)0, module, 4, 1);
794 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
795 __ecereClass___ecereNameSpace__ecere__sys__NamedItem = class;
796 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::sys::NamedItem", sizeof(void *), 0xF000F000, 1);
797 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::sys::NamedItem", sizeof(void *), 0xF000F000, 1);
798 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", sizeof(void *), 0xF000F000, 1);
799 if(class)
800 class->fixed = (unsigned int)1;
801 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::OldLink", 0, sizeof(struct __ecereNameSpace__ecere__sys__OldLink), 0, (void *)0, (void *)0, module, 4, 1);
802 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
803 __ecereClass___ecereNameSpace__ecere__sys__OldLink = class;
804 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__sys__OldLink_Free, 1);
805 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::sys::OldLink", sizeof(void *), 0xF000F000, 1);
806 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::sys::OldLink", sizeof(void *), 0xF000F000, 1);
807 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "data", "void *", sizeof(void *), 0xF000F000, 1);
808 if(class)
809 class->fixed = (unsigned int)1;
810 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::NamedLink", 0, sizeof(struct __ecereNameSpace__ecere__sys__NamedLink), 0, (void *)0, (void *)0, module, 4, 1);
811 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
812 __ecereClass___ecereNameSpace__ecere__sys__NamedLink = class;
813 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::sys::NamedLink", sizeof(void *), 0xF000F000, 1);
814 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::sys::NamedLink", sizeof(void *), 0xF000F000, 1);
815 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", sizeof(void *), 0xF000F000, 1);
816 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "data", "void *", sizeof(void *), 0xF000F000, 1);
817 if(class)
818 class->fixed = (unsigned int)1;
819 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::NamedLink64", 0, sizeof(struct __ecereNameSpace__ecere__sys__NamedLink64), 0, (void *)0, (void *)0, module, 4, 1);
820 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
821 __ecereClass___ecereNameSpace__ecere__sys__NamedLink64 = class;
822 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::sys::NamedLink64", sizeof(void *), 0xF000F000, 1);
823 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::sys::NamedLink64", sizeof(void *), 0xF000F000, 1);
824 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", sizeof(void *), 0xF000F000, 1);
825 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "data", "int64", 8, 8, 1);
826 if(class)
827 class->fixed = (unsigned int)1;
828 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::sys::OldList", 0, sizeof(struct __ecereNameSpace__ecere__sys__OldList), 0, (void *)0, (void *)0, module, 4, 1);
829 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + sizeof(struct __ecereNameSpace__ecere__com__Instance))))->application && class)
830 __ecereClass___ecereNameSpace__ecere__sys__OldList = class;
831 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Add", "void Add(void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add, 1);
832 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "AddName", "bool AddName(void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName, 1);
833 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Clear", "void Clear(void)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear, 1);
834 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Copy", "void Copy(ecere::sys::OldList src, int size, void (* copy)(void * dest, void * src))", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Copy, 1);
835 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Delete", "void Delete(void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete, 1);
836 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindLink", "ecere::sys::OldLink FindLink(void * data)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindLink, 1);
837 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindName", "void * FindName(const char * name, bool warn)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName, 1);
838 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindNamedLink", "void * FindNamedLink(const char * name, bool warn)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindNamedLink, 1);
839 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free(void (* freeFn)(void *))", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free, 1);
840 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Insert", "bool Insert(void * prevItem, void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert, 1);
841 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Move", "void Move(void * item, void * prevItem)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Move, 1);
842 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "PlaceName", "bool PlaceName(const char * name, void ** place)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_PlaceName, 1);
843 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Remove", "void Remove(void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove, 1);
844 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "RemoveAll", "void RemoveAll(void (* freeFn)(void *))", __ecereMethod___ecereNameSpace__ecere__sys__OldList_RemoveAll, 1);
845 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Sort", "void Sort(int (* compare)(void *, void *, void *), void * data)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Sort, 1);
846 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Swap", "void Swap(void * item1, void * item2)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Swap, 1);
847 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "first", "void *", sizeof(void *), 0xF000F000, 1);
848 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "last", "void *", sizeof(void *), 0xF000F000, 1);
849 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "count", "int", 4, 4, 1);
850 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "offset", "uint", 4, 4, 1);
851 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "circ", "bool", 4, 4, 1);
852 if(class)
853 class->fixed = (unsigned int)1;
854 }
855
856 void __ecereUnregisterModule_OldList(struct __ecereNameSpace__ecere__com__Instance * module)
857 {
858
859 }
860