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