compiler/libec; ecere; ide: (Emscripten WIP) Address virtual method issues
[sdk] / compiler / bootstrap / ecere / bootstrap / Container.c
1 /* Code generated from eC source file: Container.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 extern int __ecereVMethodID_class_OnCompare;
53
54 extern int __ecereVMethodID_class_OnGetString;
55
56 extern int __ecereVMethodID_class_OnSerialize;
57
58 extern int __ecereVMethodID_class_OnUnserialize;
59
60 extern struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Class_char__PTR_;
61
62 struct __ecereNameSpace__ecere__sys__BTNode;
63
64 struct __ecereNameSpace__ecere__sys__OldList
65 {
66 void *  first;
67 void *  last;
68 int count;
69 unsigned int offset;
70 unsigned int circ;
71 } ecere_gcc_struct;
72
73 struct __ecereNameSpace__ecere__com__DataValue
74 {
75 union
76 {
77 char c;
78 unsigned char uc;
79 short s;
80 unsigned short us;
81 int i;
82 unsigned int ui;
83 void *  p;
84 float f;
85 double d;
86 long long i64;
87 uint64 ui64;
88 } ecere_gcc_struct __anon1;
89 } ecere_gcc_struct;
90
91 struct __ecereNameSpace__ecere__com__IteratorPointer;
92
93 struct __ecereNameSpace__ecere__com__SerialBuffer
94 {
95 unsigned char *  _buffer;
96 unsigned int count;
97 unsigned int _size;
98 unsigned int pos;
99 } ecere_gcc_struct;
100
101 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
102
103 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
104
105 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
106
107 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
108
109 extern void __ecereNameSpace__ecere__com__eSystem_Delete(void *  memory);
110
111 extern char *  strcat(char * , const char * );
112
113 extern void *  memset(void *  area, int value, size_t count);
114
115 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
116
117 int __ecereVMethodID_class_OnCompare;
118
119 int __ecereVMethodID_class_OnCopy;
120
121 int __ecereVMethodID_class_OnGetString;
122
123 int __ecereVMethodID_class_OnFree;
124
125 struct __ecereNameSpace__ecere__com__Property;
126
127 extern void __ecereNameSpace__ecere__com__eInstance_Watch(void *  instance, struct __ecereNameSpace__ecere__com__Property * _property, void *  object, void (*  callback)(void * , void * ));
128
129 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Iterator_data, * __ecerePropM___ecereNameSpace__ecere__com__Iterator_data;
130
131 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Container_copySrc, * __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc;
132
133 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Container_firstIterator, * __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator;
134
135 static __attribute__((unused)) struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Container_lastIterator, * __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator;
136
137 struct __ecereNameSpace__ecere__com__Class;
138
139 struct __ecereNameSpace__ecere__com__Instance
140 {
141 void * *  _vTbl;
142 struct __ecereNameSpace__ecere__com__Class * _class;
143 int _refCount;
144 } ecere_gcc_struct;
145
146 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
147
148 extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
149
150 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
151
152 extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
153
154 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
155
156 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst;
157
158 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetLast;
159
160 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetPrev;
161
162 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext;
163
164 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData;
165
166 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_SetData;
167
168 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetAtPosition;
169
170 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Insert;
171
172 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Add;
173
174 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove;
175
176 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Move;
177
178 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll;
179
180 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Copy;
181
182 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Find;
183
184 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_FreeIterator;
185
186 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount;
187
188 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Free;
189
190 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete;
191
192 struct __ecereNameSpace__ecere__com__Property
193 {
194 struct __ecereNameSpace__ecere__com__Property * prev;
195 struct __ecereNameSpace__ecere__com__Property * next;
196 const char *  name;
197 unsigned int isProperty;
198 int memberAccess;
199 int id;
200 struct __ecereNameSpace__ecere__com__Class * _class;
201 const char *  dataTypeString;
202 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
203 struct __ecereNameSpace__ecere__com__Instance * dataType;
204 void (*  Set)(void * , int);
205 int (*  Get)(void * );
206 unsigned int (*  IsSet)(void * );
207 void *  data;
208 void *  symbol;
209 int vid;
210 unsigned int conversion;
211 unsigned int watcherOffset;
212 const char *  category;
213 unsigned int compiled;
214 unsigned int selfWatchable;
215 unsigned int isWatchable;
216 } ecere_gcc_struct;
217
218 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
219
220 extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
221
222 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
223
224 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);
225
226 extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
227
228 struct __ecereNameSpace__ecere__com__Iterator
229 {
230 struct __ecereNameSpace__ecere__com__Instance * container;
231 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
232 } ecere_gcc_struct;
233
234 void __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * value);
235
236 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetFirst(struct __ecereNameSpace__ecere__com__Instance * this)
237 {
238 return (((void *)0));
239 }
240
241 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetLast(struct __ecereNameSpace__ecere__com__Instance * this)
242 {
243 return (((void *)0));
244 }
245
246 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetPrev(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
247 {
248 return (((void *)0));
249 }
250
251 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetNext(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
252 {
253 return (((void *)0));
254 }
255
256 uint64 __ecereMethod___ecereNameSpace__ecere__com__Container_GetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
257 {
258 return (uint64)0;
259 }
260
261 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetAtPosition(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 pos, unsigned int create, unsigned int * justAdded)
262 {
263 return (((void *)0));
264 }
265
266 int __ecereVMethodID_class_OnSerialize;
267
268 int __ecereVMethodID_class_OnUnserialize;
269
270 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
271
272 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data);
273
274 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * *  data);
275
276 struct __ecereNameSpace__ecere__sys__BinaryTree;
277
278 struct __ecereNameSpace__ecere__sys__BinaryTree
279 {
280 struct __ecereNameSpace__ecere__sys__BTNode * root;
281 int count;
282 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
283 void (*  FreeKey)(void *  key);
284 } ecere_gcc_struct;
285
286 struct __ecereNameSpace__ecere__com__DataMember;
287
288 struct __ecereNameSpace__ecere__com__DataMember
289 {
290 struct __ecereNameSpace__ecere__com__DataMember * prev;
291 struct __ecereNameSpace__ecere__com__DataMember * next;
292 const char *  name;
293 unsigned int isProperty;
294 int memberAccess;
295 int id;
296 struct __ecereNameSpace__ecere__com__Class * _class;
297 const char *  dataTypeString;
298 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
299 struct __ecereNameSpace__ecere__com__Instance * dataType;
300 int type;
301 int offset;
302 int memberID;
303 struct __ecereNameSpace__ecere__sys__OldList members;
304 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
305 int memberOffset;
306 short structAlignment;
307 short pointerAlignment;
308 } ecere_gcc_struct;
309
310 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);
311
312 struct __ecereNameSpace__ecere__com__Method;
313
314 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
315 {
316 union
317 {
318 struct
319 {
320 const char *  dataTypeString;
321 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
322 } ecere_gcc_struct __anon1;
323 struct __ecereNameSpace__ecere__com__DataValue expression;
324 struct
325 {
326 const char *  memberString;
327 union
328 {
329 struct __ecereNameSpace__ecere__com__DataMember * member;
330 struct __ecereNameSpace__ecere__com__Property * prop;
331 struct __ecereNameSpace__ecere__com__Method * method;
332 } ecere_gcc_struct __anon1;
333 } ecere_gcc_struct __anon2;
334 } ecere_gcc_struct __anon1;
335 } ecere_gcc_struct;
336
337 struct __ecereNameSpace__ecere__com__Method
338 {
339 const char *  name;
340 struct __ecereNameSpace__ecere__com__Method * parent;
341 struct __ecereNameSpace__ecere__com__Method * left;
342 struct __ecereNameSpace__ecere__com__Method * right;
343 int depth;
344 int (*  function)();
345 int vid;
346 int type;
347 struct __ecereNameSpace__ecere__com__Class * _class;
348 void *  symbol;
349 const char *  dataTypeString;
350 struct __ecereNameSpace__ecere__com__Instance * dataType;
351 int memberAccess;
352 } ecere_gcc_struct;
353
354 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);
355
356 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
357
358 extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, int type, const void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
359
360 struct __ecereNameSpace__ecere__com__Module;
361
362 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);
363
364 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
365
366 struct __ecereNameSpace__ecere__com__NameSpace;
367
368 struct __ecereNameSpace__ecere__com__NameSpace
369 {
370 const char *  name;
371 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
372 struct __ecereNameSpace__ecere__com__NameSpace *  left;
373 struct __ecereNameSpace__ecere__com__NameSpace *  right;
374 int depth;
375 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
376 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
377 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
378 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
379 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
380 } ecere_gcc_struct;
381
382 struct __ecereNameSpace__ecere__com__Class
383 {
384 struct __ecereNameSpace__ecere__com__Class * prev;
385 struct __ecereNameSpace__ecere__com__Class * next;
386 const char *  name;
387 int offset;
388 int structSize;
389 void * *  _vTbl;
390 int vTblSize;
391 unsigned int (*  Constructor)(void * );
392 void (*  Destructor)(void * );
393 int offsetClass;
394 int sizeClass;
395 struct __ecereNameSpace__ecere__com__Class * base;
396 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
397 struct __ecereNameSpace__ecere__sys__BinaryTree members;
398 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
399 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
400 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
401 struct __ecereNameSpace__ecere__sys__OldList derivatives;
402 int memberID;
403 int startMemberID;
404 int type;
405 struct __ecereNameSpace__ecere__com__Instance * module;
406 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
407 const char *  dataTypeString;
408 struct __ecereNameSpace__ecere__com__Instance * dataType;
409 int typeSize;
410 int defaultAlignment;
411 void (*  Initialize)();
412 int memberOffset;
413 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
414 const char *  designerClass;
415 unsigned int noExpansion;
416 const char *  defaultProperty;
417 unsigned int comRedefinition;
418 int count;
419 int isRemote;
420 unsigned int internalDecl;
421 void *  data;
422 unsigned int computeSize;
423 short structAlignment;
424 short pointerAlignment;
425 int destructionWatchOffset;
426 unsigned int fixed;
427 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
428 int inheritanceAccess;
429 const char *  fullName;
430 void *  symbol;
431 struct __ecereNameSpace__ecere__sys__OldList conversions;
432 struct __ecereNameSpace__ecere__sys__OldList templateParams;
433 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
434 struct __ecereNameSpace__ecere__com__Class * templateClass;
435 struct __ecereNameSpace__ecere__sys__OldList templatized;
436 int numParams;
437 unsigned int isInstanceClass;
438 unsigned int byValueSystemClass;
439 } ecere_gcc_struct;
440
441 struct __ecereNameSpace__ecere__com__Application
442 {
443 int argc;
444 const char * *  argv;
445 int exitCode;
446 unsigned int isGUIApp;
447 struct __ecereNameSpace__ecere__sys__OldList allModules;
448 char *  parsedCommand;
449 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
450 } ecere_gcc_struct;
451
452 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Iterator;
453
454 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Container;
455
456 void __ecereMethod___ecereNameSpace__ecere__com__Container_OnFree(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this)
457 {
458 if((struct __ecereNameSpace__ecere__com__Instance *)this)
459 {
460 (__extension__ ({
461 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
462
463 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
464 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
465
466 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
467 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Free]);
468 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (void)1;
469 }));
470 (__ecereNameSpace__ecere__com__eInstance_DecRef(this), this = 0);
471 }
472 }
473
474 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_int;
475
476 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
477
478 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_uint;
479
480 const char *  __ecereProp___ecereNameSpace__ecere__com__Class_Get_char__PTR_(struct __ecereNameSpace__ecere__com__Class * this);
481
482 struct __ecereNameSpace__ecere__com__Class * __ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(const char *  value);
483
484 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
485
486 struct __ecereNameSpace__ecere__com__Module
487 {
488 struct __ecereNameSpace__ecere__com__Instance * application;
489 struct __ecereNameSpace__ecere__sys__OldList classes;
490 struct __ecereNameSpace__ecere__sys__OldList defines;
491 struct __ecereNameSpace__ecere__sys__OldList functions;
492 struct __ecereNameSpace__ecere__sys__OldList modules;
493 struct __ecereNameSpace__ecere__com__Instance * prev;
494 struct __ecereNameSpace__ecere__com__Instance * next;
495 const char *  name;
496 void *  library;
497 void *  Unload;
498 int importType;
499 int origImportType;
500 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
501 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
502 } ecere_gcc_struct;
503
504 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this)
505 {
506 return (__extension__ ({
507 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
508
509 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
510 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
511
512 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
513 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
514 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (uint64)1;
515 }));
516 }
517
518 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value)
519 {
520 (__extension__ ({
521 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data);
522
523 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data))__extension__ ({
524 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
525
526 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
527 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_SetData]);
528 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer, value) : (unsigned int)1;
529 }));
530 }
531
532 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Prev(struct __ecereNameSpace__ecere__com__Iterator * this)
533 {
534 if(this->pointer && this->container)
535 this->pointer = (__extension__ ({
536 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
537
538 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
539 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
540
541 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
542 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetPrev]);
543 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
544 }));
545 else if(this->container)
546 this->pointer = (__extension__ ({
547 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
548
549 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
550 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
551
552 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
553 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetLast]);
554 __internal_VirtualMethod ? __internal_VirtualMethod(this->container) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
555 }));
556 return this->pointer != (((void *)0));
557 }
558
559 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(struct __ecereNameSpace__ecere__com__Iterator * this)
560 {
561 if(this->pointer && this->container)
562 this->pointer = (__extension__ ({
563 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
564
565 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
566 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
567
568 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
569 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
570 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
571 }));
572 else if(this->container)
573 this->pointer = (__extension__ ({
574 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
575
576 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
577 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
578
579 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
580 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
581 __internal_VirtualMethod ? __internal_VirtualMethod(this->container) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
582 }));
583 return this->pointer != (((void *)0));
584 }
585
586 uint64 __ecereMethod___ecereNameSpace__ecere__com__Iterator_GetData(struct __ecereNameSpace__ecere__com__Iterator * this)
587 {
588 return (__extension__ ({
589 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
590
591 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
592 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
593
594 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
595 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
596 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (uint64)1;
597 }));
598 }
599
600 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_SetData(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value)
601 {
602 return (__extension__ ({
603 unsigned int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data);
604
605 __internal_VirtualMethod = ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer, uint64 data))__extension__ ({
606 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
607
608 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
609 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_SetData]);
610 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer, value) : (unsigned int)1;
611 }));
612 }
613
614 void __ecereMethod___ecereNameSpace__ecere__com__Iterator_Remove(struct __ecereNameSpace__ecere__com__Iterator * this)
615 {
616 if(this->container)
617 (__extension__ ({
618 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
619
620 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
621 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
622
623 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
624 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove]);
625 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (void)1;
626 }));
627 this->pointer = (((void *)0));
628 }
629
630 void __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(struct __ecereNameSpace__ecere__com__Iterator * this)
631 {
632 if(this->container)
633 (__extension__ ({
634 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
635
636 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
637 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
638
639 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
640 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_FreeIterator]);
641 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, this->pointer) : (void)1;
642 }));
643 }
644
645 void __ecereDestructor___ecereNameSpace__ecere__com__Container(struct __ecereNameSpace__ecere__com__Instance * this)
646 {
647 {
648 (__extension__ ({
649 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
650
651 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
652 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
653
654 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
655 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll]);
656 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (void)1;
657 }));
658 }
659 }
660
661 void __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * value)
662 {
663 (__extension__ ({
664 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source);
665
666 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source))__extension__ ({
667 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
668
669 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
670 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Copy]);
671 __internal_VirtualMethod ? __internal_VirtualMethod(this, value) : (void)1;
672 }));
673 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__Container_copySrc), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc);
674 }
675
676 void __ecereProp___ecereNameSpace__ecere__com__Container_Get_firstIterator(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Iterator * value)
677 {
678 struct __ecereNameSpace__ecere__com__Iterator __simpleStruct0;
679
680 *value = (__simpleStruct0.container = (struct __ecereNameSpace__ecere__com__Instance *)this, __simpleStruct0.pointer = (__extension__ ({
681 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
682
683 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
684 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
685
686 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
687 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
688 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
689 })), __simpleStruct0);
690 }
691
692 void __ecereProp___ecereNameSpace__ecere__com__Container_Get_lastIterator(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Iterator * value)
693 {
694 struct __ecereNameSpace__ecere__com__Iterator __simpleStruct0;
695
696 *value = (__simpleStruct0.container = (struct __ecereNameSpace__ecere__com__Instance *)this, __simpleStruct0.pointer = (__extension__ ({
697 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
698
699 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
700 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
701
702 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
703 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetLast]);
704 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
705 })), __simpleStruct0);
706 }
707
708 void __ecereMethod___ecereNameSpace__ecere__com__Container_RemoveAll(struct __ecereNameSpace__ecere__com__Instance * this)
709 {
710 struct __ecereNameSpace__ecere__com__IteratorPointer * i, * next;
711
712 for(i = (__extension__ ({
713 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
714
715 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
716 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
717
718 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
719 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
720 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
721 })), next = i ? (__extension__ ({
722 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
723
724 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
725 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
726
727 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
728 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
729 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
730 })) : (((void *)0)); i; i = next, next = i ? (__extension__ ({
731 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
732
733 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
734 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
735
736 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
737 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
738 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
739 })) : (((void *)0)))
740 (__extension__ ({
741 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
742
743 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
744 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
745
746 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
747 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove]);
748 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (void)1;
749 }));
750 }
751
752 void __ecereMethod___ecereNameSpace__ecere__com__Container_Copy(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * source)
753 {
754 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
755
756 (__extension__ ({
757 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
758
759 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
760 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
761
762 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
763 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_RemoveAll]);
764 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (void)1;
765 }));
766 for(i = (__extension__ ({
767 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
768
769 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
770 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
771
772 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
773 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
774 __internal_VirtualMethod ? __internal_VirtualMethod(source) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
775 })); i; i = (__extension__ ({
776 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
777
778 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
779 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
780
781 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
782 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
783 __internal_VirtualMethod ? __internal_VirtualMethod(source, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
784 })))
785 {
786 uint64 data = (__extension__ ({
787 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
788
789 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
790 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
791
792 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
793 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
794 __internal_VirtualMethod ? __internal_VirtualMethod(source, i) : (uint64)1;
795 }));
796
797 (__extension__ ({
798 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value);
799
800 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
801 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
802
803 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
804 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add]);
805 __internal_VirtualMethod ? __internal_VirtualMethod(this, data) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
806 }));
807 }
808 }
809
810 int __ecereMethod___ecereNameSpace__ecere__com__Container_GetCount(struct __ecereNameSpace__ecere__com__Instance * this)
811 {
812 int count = 0;
813 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
814
815 for(i = (__extension__ ({
816 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
817
818 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
819 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
820
821 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
822 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
823 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
824 })); i; i = (__extension__ ({
825 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
826
827 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
828 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
829
830 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
831 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
832 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
833 })))
834 count++;
835 return count;
836 }
837
838 void __ecereMethod___ecereNameSpace__ecere__com__Container_Free(struct __ecereNameSpace__ecere__com__Instance * this)
839 {
840 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
841
842 while((i = (__extension__ ({
843 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
844
845 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
846 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
847
848 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
849 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
850 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
851 }))))
852 (__extension__ ({
853 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i);
854
855 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * i))__extension__ ({
856 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
857
858 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
859 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete]);
860 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (void)1;
861 }));
862 }
863
864 const char * __ecereMethod___ecereNameSpace__ecere__com__Container_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this, char * tempString, void * fieldData, unsigned int * needClass)
865 {
866 if((struct __ecereNameSpace__ecere__com__Instance *)this)
867 {
868 char itemString[4096];
869 unsigned int first = 1;
870 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
871
872 tempString[0] = '\0';
873 for(i = (__extension__ ({
874 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
875
876 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
877 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
878
879 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
880 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
881 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
882 })); i; i = (__extension__ ({
883 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
884
885 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
886 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
887
888 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
889 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
890 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
891 })))
892 {
893 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
894 uint64 data = (__extension__ ({
895 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
896
897 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
898 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
899
900 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
901 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
902 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
903 }));
904 const char * result;
905
906 itemString[0] = '\0';
907 result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnGetString])(Dclass, ((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? ((char *)&data + __ENDIAN_PAD(class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)) : (void *)(uintptr_t)data, itemString, (((void *)0)), (((void *)0)));
908 if(!first)
909 strcat(tempString, ", ");
910 strcat(tempString, result);
911 first = 0;
912 }
913 }
914 else
915 tempString[0] = 0;
916 return tempString;
917 }
918
919 void __ecereMethod___ecereNameSpace__ecere__com__Container_TakeOut(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 d)
920 {
921 struct __ecereNameSpace__ecere__com__IteratorPointer * i = (__extension__ ({
922 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value);
923
924 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__extension__ ({
925 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
926
927 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
928 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Find]);
929 __internal_VirtualMethod ? __internal_VirtualMethod(this, d) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
930 }));
931
932 if(i)
933 (__extension__ ({
934 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
935
936 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
937 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
938
939 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
940 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove]);
941 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (void)1;
942 }));
943 }
944
945 static __attribute__((unused)) void UnusedFunction()
946 {
947 int a;
948
949 (__extension__ ({
950 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , const void * object);
951
952 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCompare]);
953 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (int)1;
954 }));
955 (__extension__ ({
956 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , const void * newData);
957
958 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * newData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCopy]);
959 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (void)1;
960 }));
961 (__extension__ ({
962 const char *  (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , char *  tempString, void *  fieldData, unsigned int *  needClass);
963
964 __internal_VirtualMethod = ((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString]);
965 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0)), (((void *)0)), (((void *)0))) : (const char * )1;
966 }));
967 (__extension__ ({
968 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , struct __ecereNameSpace__ecere__com__Instance * channel);
969
970 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnSerialize]);
971 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (void)1;
972 }));
973 (__extension__ ({
974 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Class * , const void * , struct __ecereNameSpace__ecere__com__Instance * channel);
975
976 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnUnserialize]);
977 __internal_VirtualMethod ? __internal_VirtualMethod(__ecereClass_int, (void *)&a, (((void *)0))) : (void)1;
978 }));
979 }
980
981 void __ecereMethod___ecereNameSpace__ecere__com__Container_OnCopy(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance ** this, struct __ecereNameSpace__ecere__com__Instance * source)
982 {
983 if((struct __ecereNameSpace__ecere__com__Instance *)source)
984 {
985 struct __ecereNameSpace__ecere__com__Instance * container = __ecereNameSpace__ecere__com__eInstance_New(((struct __ecereNameSpace__ecere__com__Instance *)(char *)source)->_class);
986
987 (__extension__ ({
988 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source);
989
990 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__Instance * source))__extension__ ({
991 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = container;
992
993 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
994 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Copy]);
995 __internal_VirtualMethod ? __internal_VirtualMethod(container, (struct __ecereNameSpace__ecere__com__Instance *)source) : (void)1;
996 }));
997 (*this) = container;
998 }
999 else
1000 {
1001 (*this) = (((void *)0));
1002 }
1003 }
1004
1005 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_Find(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 value)
1006 {
1007 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
1008 struct __ecereNameSpace__ecere__com__Class * Dclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass;
1009
1010 if(((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3))
1011 {
1012 for(i = (__extension__ ({
1013 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1014
1015 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1016 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1017
1018 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1019 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
1020 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1021 })); i; i = (__extension__ ({
1022 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1023
1024 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1025 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1026
1027 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1028 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
1029 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1030 })))
1031 {
1032 uint64 data = (__extension__ ({
1033 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1034
1035 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1036 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1037
1038 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1039 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1040 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1041 }));
1042 int result = ((int (*)(void *, const void *, const void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare])(Dclass, ((char *)&value + __ENDIAN_PAD(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)), ((char *)&data + __ENDIAN_PAD(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)));
1043
1044 if(!result)
1045 return i;
1046 }
1047 }
1048 else
1049 {
1050 for(i = (__extension__ ({
1051 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1052
1053 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1054 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1055
1056 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1057 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
1058 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1059 })); i; i = (__extension__ ({
1060 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1061
1062 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1063 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1064
1065 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1066 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
1067 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1068 })))
1069 {
1070 uint64 data = (__extension__ ({
1071 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1072
1073 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1074 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1075
1076 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1077 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1078 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1079 }));
1080 int result = ((int (*)(void *, const void *, const void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare])(Dclass, (const void *)(uintptr_t)value, (const void *)(uintptr_t)data);
1081
1082 if(!result)
1083 return i;
1084 }
1085 }
1086 return (((void *)0));
1087 }
1088
1089 void __ecereMethod___ecereNameSpace__ecere__com__Container_Delete(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * i)
1090 {
1091 uint64 data = (__extension__ ({
1092 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1093
1094 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1095 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1096
1097 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1098 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1099 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1100 }));
1101
1102 (((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass, ((void * )((uintptr_t)(data)))), data = 0);
1103 (__extension__ ({
1104 void (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it);
1105
1106 __internal_VirtualMethod = ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
1107 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1108
1109 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1110 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove]);
1111 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (void)1;
1112 }));
1113 }
1114
1115 void __ecereMethod___ecereNameSpace__ecere__com__Container_OnSerialize(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Instance * channel)
1116 {
1117 unsigned int count = (__extension__ ({
1118 int (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1119
1120 __internal_VirtualMethod = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1121 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1122
1123 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1124 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount]);
1125 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (int)1;
1126 }));
1127 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
1128 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
1129 unsigned int isNormalClass = (Dclass->type == 0) && Dclass->structSize;
1130
1131 __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(channel, __ecereClass_uint, (void *)&count);
1132 for(i = (__extension__ ({
1133 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *);
1134
1135 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
1136 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1137
1138 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1139 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst]);
1140 __internal_VirtualMethod ? __internal_VirtualMethod(this) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1141 })); i; i = (__extension__ ({
1142 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1143
1144 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1145 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1146
1147 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1148 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext]);
1149 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1150 })))
1151 {
1152 uint64 data = (__extension__ ({
1153 uint64 (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer);
1154
1155 __internal_VirtualMethod = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
1156 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
1157
1158 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
1159 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData]);
1160 __internal_VirtualMethod ? __internal_VirtualMethod(this, i) : (uint64)1;
1161 }));
1162 struct __ecereNameSpace__ecere__com__Class * Eclass = isNormalClass ? ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)((uintptr_t)((uint64)(data)))))->_class : Dclass;
1163
1164 ((void (*)(void *, void *, void *))(void *)Eclass->_vTbl[__ecereVMethodID_class_OnSerialize])(Eclass, ((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? ((char *)&data + __ENDIAN_PAD(class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)) : (void *)(uintptr_t)data, channel);
1165 }
1166 }
1167
1168 void __ecereMethod___ecereNameSpace__ecere__com__Container_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance ** this, struct __ecereNameSpace__ecere__com__Instance * channel)
1169 {
1170 struct __ecereNameSpace__ecere__com__Instance * container = __ecereNameSpace__ecere__com__eInstance_New(__ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(class->fullName));
1171 unsigned int count, c;
1172 struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
1173 uint64 data;
1174 unsigned int isStruct = Dclass->type == 1;
1175
1176 __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(channel, __ecereClass_uint, (void *)&count);
1177 if(isStruct)
1178 data = (uint64)(uintptr_t)(__ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (Dclass->structSize)));
1179 for(c = 0; c < count; c++)
1180 {
1181 if(isStruct)
1182 memset((char *)(uintptr_t)data, 0, Dclass->structSize);
1183 else
1184 data = (uint64)0;
1185 ((void (*)(void *, void *, void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnUnserialize])(Dclass, isStruct ? (void *)(uintptr_t)data : ((char *)&data + __ENDIAN_PAD(class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)), channel);
1186 (__extension__ ({
1187 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value);
1188
1189 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
1190 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = container;
1191
1192 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1193 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add]);
1194 __internal_VirtualMethod ? __internal_VirtualMethod(container, data) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1195 }));
1196 }
1197 if(isStruct)
1198 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)(uintptr_t)data), data = 0);
1199 (*this) = container;
1200 }
1201
1202 void __ecereUnregisterModule_Container(struct __ecereNameSpace__ecere__com__Instance * module)
1203 {
1204
1205 __ecerePropM___ecereNameSpace__ecere__com__Iterator_data = (void *)0;
1206 __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc = (void *)0;
1207 __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator = (void *)0;
1208 __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator = (void *)0;
1209 }
1210
1211 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Find(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 value)
1212 {
1213 if(this->container)
1214 {
1215 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(this);
1216 this->pointer = (__extension__ ({
1217 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value);
1218
1219 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__extension__ ({
1220 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
1221
1222 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1223 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Find]);
1224 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, value) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1225 }));
1226 }
1227 return this->pointer != (((void *)0));
1228 }
1229
1230 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create)
1231 {
1232 if(this->container)
1233 {
1234 unsigned int justAdded = 0;
1235
1236 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(this);
1237 this->pointer = (__extension__ ({
1238 struct __ecereNameSpace__ecere__com__IteratorPointer * (*  __internal_VirtualMethod)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create, unsigned int *  justAdded);
1239
1240 __internal_VirtualMethod = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create, unsigned int *  justAdded))__extension__ ({
1241 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
1242
1243 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
1244 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetAtPosition]);
1245 __internal_VirtualMethod ? __internal_VirtualMethod(this->container, index, create, &justAdded) : (struct __ecereNameSpace__ecere__com__IteratorPointer *)1;
1246 }));
1247 return !justAdded && this->pointer != (((void *)0));
1248 }
1249 return 0;
1250 }
1251
1252 void __ecereRegisterModule_Container(struct __ecereNameSpace__ecere__com__Instance * module)
1253 {
1254 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct2 =
1255 {
1256
1257 .__anon1 = {
1258
1259 .__anon1 = {
1260 .dataTypeString = "T"
1261 }
1262 }
1263 };
1264 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct1 =
1265 {
1266
1267 .__anon1 = {
1268
1269 .__anon1 = {
1270 .dataTypeString = "int"
1271 }
1272 }
1273 };
1274 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct0 =
1275 {
1276
1277 .__anon1 = {
1278
1279 .__anon1 = {
1280 .dataTypeString = "int"
1281 }
1282 }
1283 };
1284 struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
1285
1286 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::com::Iterator", 0, sizeof(struct __ecereNameSpace__ecere__com__Iterator), 0, (void *)0, (void *)0, module, 4, 1);
1287 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)
1288 __ecereClass___ecereNameSpace__ecere__com__Iterator = class;
1289 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Find", "bool Find(const T value)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Find, 1);
1290 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free, 1);
1291 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetData", "T GetData()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_GetData, 1);
1292 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Index", "bool Index(const IT index, bool create)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index, 1);
1293 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Next", "bool Next()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next, 1);
1294 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Prev", "bool Prev()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Prev, 1);
1295 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Remove", "void Remove()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Remove, 1);
1296 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "SetData", "bool SetData(T value)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_SetData, 1);
1297 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "container", "ecere::com::Container<T, IT>", sizeof(void *), 0xF000F000, 1);
1298 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "pointer", "ecere::com::IteratorPointer", sizeof(void *), 0xF000F000, 1);
1299 __ecerePropM___ecereNameSpace__ecere__com__Iterator_data = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "data", "T", __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data, __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data, 1);
1300 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)
1301 __ecereProp___ecereNameSpace__ecere__com__Iterator_data = __ecerePropM___ecereNameSpace__ecere__com__Iterator_data, __ecerePropM___ecereNameSpace__ecere__com__Iterator_data = (void *)0;
1302 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "T", 0, 0, (((void *)0)));
1303 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "IT", 0, 0, &__simpleStruct0);
1304 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(class);
1305 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::Container", 0, 0, 0, (void *)0, (void *)__ecereDestructor___ecereNameSpace__ecere__com__Container, module, 4, 1);
1306 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)
1307 __ecereClass___ecereNameSpace__ecere__com__Container = class;
1308 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCopy", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnCopy, 1);
1309 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnFree", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnFree, 1);
1310 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnGetString, 1);
1311 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnSerialize", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnSerialize, 1);
1312 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnUnserialize", 0, __ecereMethod___ecereNameSpace__ecere__com__Container_OnUnserialize, 1);
1313 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetFirst", "ecere::com::IteratorPointer GetFirst()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetFirst, 1);
1314 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetLast", "ecere::com::IteratorPointer GetLast()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetLast, 1);
1315 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetPrev", "ecere::com::IteratorPointer GetPrev(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetPrev, 1);
1316 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetNext", "ecere::com::IteratorPointer GetNext(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetNext, 1);
1317 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetData", "D GetData(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetData, 1);
1318 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "SetData", "bool SetData(ecere::com::IteratorPointer pointer, D data)", 0, 1);
1319 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetAtPosition", "ecere::com::IteratorPointer GetAtPosition(const I pos, bool create, bool * justAdded)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetAtPosition, 1);
1320 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Insert", "ecere::com::IteratorPointer Insert(ecere::com::IteratorPointer after, T value)", 0, 1);
1321 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Add", "ecere::com::IteratorPointer Add(T value)", 0, 1);
1322 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Remove", "void Remove(ecere::com::IteratorPointer it)", 0, 1);
1323 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Move", "void Move(ecere::com::IteratorPointer it, ecere::com::IteratorPointer after)", 0, 1);
1324 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "RemoveAll", "void RemoveAll()", __ecereMethod___ecereNameSpace__ecere__com__Container_RemoveAll, 1);
1325 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Copy", "void Copy(ecere::com::Container<T> source)", __ecereMethod___ecereNameSpace__ecere__com__Container_Copy, 1);
1326 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Find", "ecere::com::IteratorPointer Find(const D value)", __ecereMethod___ecereNameSpace__ecere__com__Container_Find, 1);
1327 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FreeIterator", "void FreeIterator(ecere::com::IteratorPointer it)", 0, 1);
1328 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetCount", "int GetCount()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetCount, 1);
1329 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__Container_Free, 1);
1330 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Delete", "void Delete(ecere::com::IteratorPointer i)", __ecereMethod___ecereNameSpace__ecere__com__Container_Delete, 1);
1331 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "TakeOut", "void TakeOut(const D d)", __ecereMethod___ecereNameSpace__ecere__com__Container_TakeOut, 1);
1332 __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "copySrc", "ecere::com::Container<T>", __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc, 0, 1);
1333 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)
1334 __ecereProp___ecereNameSpace__ecere__com__Container_copySrc = __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc, __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc = (void *)0;
1335 __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "firstIterator", "ecere::com::Iterator<T>", 0, __ecereProp___ecereNameSpace__ecere__com__Container_Get_firstIterator, 1);
1336 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)
1337 __ecereProp___ecereNameSpace__ecere__com__Container_firstIterator = __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator, __ecerePropM___ecereNameSpace__ecere__com__Container_firstIterator = (void *)0;
1338 __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "lastIterator", "ecere::com::Iterator<T>", 0, __ecereProp___ecereNameSpace__ecere__com__Container_Get_lastIterator, 1);
1339 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)
1340 __ecereProp___ecereNameSpace__ecere__com__Container_lastIterator = __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator, __ecerePropM___ecereNameSpace__ecere__com__Container_lastIterator = (void *)0;
1341 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "T", 0, 0, (((void *)0)));
1342 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "I", 0, 0, &__simpleStruct1);
1343 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(class, "D", 0, 0, &__simpleStruct2);
1344 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(class);
1345 if(class)
1346 class->fixed = (unsigned int)1;
1347 }
1348