bafc9545840e511cfe72effe40237931253e9c1d
[sdk] / compiler / bootstrap / ecp / bootstrap / ecp.main.c
1 #if defined(__GNUC__)
2 typedef long long int64;
3 typedef unsigned long long uint64;
4 #ifndef _WIN32
5 #define __declspec(x)
6 #endif
7 #elif defined(__TINYC__)
8 #include <stdarg.h>
9 #define __builtin_va_list va_list
10 #define __builtin_va_start va_start
11 #define __builtin_va_end va_end
12 #ifdef _WIN32
13 #define strcasecmp stricmp
14 #define strncasecmp strnicmp
15 #define __declspec(x) __attribute__((x))
16 #else
17 #define __declspec(x)
18 #endif
19 typedef long long int64;
20 typedef unsigned long long uint64;
21 #else
22 typedef __int64 int64;
23 typedef unsigned __int64 uint64;
24 #endif
25 #ifdef __BIG_ENDIAN__
26 #define __ENDIAN_PAD(x) (8 - (x))
27 #else
28 #define __ENDIAN_PAD(x) 0
29 #endif
30 #include <stdint.h>
31 #include <sys/types.h>
32
33 #if /*defined(_W64) || */(defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
34 #define _64BIT 1
35 #else
36 #define _64BIT 0
37 #endif
38
39 #define arch_PointerSize                  sizeof(void *)
40 #define structSize_Instance               (_64BIT ? 24 : 12)
41 #define structSize_Module                 (_64BIT ? 560 : 300)
42
43 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
44
45 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
46
47 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew(void *  memory, unsigned int size);
48
49 extern void *  __ecereNameSpace__ecere__com__eSystem_Renew0(void *  memory, unsigned int size);
50
51 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
52
53 struct __ecereNameSpace__ecere__sys__BTNode;
54
55 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
56
57 struct __ecereNameSpace__ecere__sys__BinaryTree
58 {
59 struct __ecereNameSpace__ecere__sys__BTNode * root;
60 int count;
61 int (*  CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
62 void (*  FreeKey)(void *  key);
63 } __attribute__ ((gcc_struct));
64
65 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
66
67 struct __ecereNameSpace__ecere__sys__OldList
68 {
69 void *  first;
70 void *  last;
71 int count;
72 unsigned int offset;
73 unsigned int circ;
74 } __attribute__ ((gcc_struct));
75
76 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
77
78 struct __ecereNameSpace__ecere__com__Method
79 {
80 char *  name;
81 struct __ecereNameSpace__ecere__com__Method * parent;
82 struct __ecereNameSpace__ecere__com__Method * left;
83 struct __ecereNameSpace__ecere__com__Method * right;
84 int depth;
85 int (*  function)();
86 int vid;
87 int type;
88 struct __ecereNameSpace__ecere__com__Class * _class;
89 void *  symbol;
90 char *  dataTypeString;
91 struct Type * dataType;
92 int memberAccess;
93 } __attribute__ ((gcc_struct));
94
95 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
96
97 struct __ecereNameSpace__ecere__com__Property
98 {
99 struct __ecereNameSpace__ecere__com__Property * prev;
100 struct __ecereNameSpace__ecere__com__Property * next;
101 char *  name;
102 unsigned int isProperty;
103 int memberAccess;
104 int id;
105 struct __ecereNameSpace__ecere__com__Class * _class;
106 char *  dataTypeString;
107 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
108 struct Type * dataType;
109 void (*  Set)(void * , int);
110 int (*  Get)(void * );
111 unsigned int (*  IsSet)(void * );
112 void *  data;
113 void *  symbol;
114 int vid;
115 unsigned int conversion;
116 unsigned int watcherOffset;
117 char *  category;
118 unsigned int compiled;
119 unsigned int selfWatchable;
120 unsigned int isWatchable;
121 } __attribute__ ((gcc_struct));
122
123 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_CodePosition;
124
125 struct CodePosition
126 {
127 int line;
128 int charPos;
129 int pos;
130 unsigned int included;
131 } __attribute__ ((gcc_struct));
132
133 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Location;
134
135 struct Location
136 {
137 struct CodePosition start;
138 struct CodePosition end;
139 } __attribute__ ((gcc_struct));
140
141 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attrib;
142
143 struct Attrib;
144
145 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ExtDecl;
146
147 struct ExtDecl;
148
149 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
150
151 struct ClassDefinition;
152
153 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
154
155 struct Context;
156
157 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Instantiation;
158
159 struct Instantiation;
160
161 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declaration;
162
163 struct Declaration;
164
165 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Statement;
166
167 struct Statement;
168
169 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeName;
170
171 struct TypeName;
172
173 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Initializer;
174
175 struct Initializer;
176
177 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
178
179 struct __ecereNameSpace__ecere__com__DataValue
180 {
181 union
182 {
183 char c;
184 unsigned char uc;
185 short s;
186 unsigned short us;
187 int i;
188 unsigned int ui;
189 void *  p;
190 float f;
191 double d;
192 long long i64;
193 uint64 ui64;
194 } __attribute__ ((gcc_struct));
195 } __attribute__ ((gcc_struct));
196
197 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Expression;
198
199 struct Expression;
200
201 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateDatatype;
202
203 struct TemplateDatatype;
204
205 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateArgument;
206
207 struct TemplateArgument;
208
209 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
210
211 struct TemplateParameter;
212
213 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Specifier;
214
215 struct Specifier;
216
217 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Identifier;
218
219 struct Identifier;
220
221 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declarator;
222
223 struct Declarator;
224
225 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_FunctionDefinition;
226
227 struct FunctionDefinition;
228
229 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableDef;
230
231 struct DBTableDef;
232
233 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_External;
234
235 struct External;
236
237 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ModuleImport;
238
239 struct ModuleImport;
240
241 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassImport;
242
243 struct ClassImport;
244
245 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Symbol;
246
247 struct Symbol;
248
249 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Type;
250
251 struct Type;
252
253 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
254
255 struct __ecereNameSpace__ecere__com__Class
256 {
257 struct __ecereNameSpace__ecere__com__Class * prev;
258 struct __ecereNameSpace__ecere__com__Class * next;
259 char *  name;
260 int offset;
261 int structSize;
262 int (* *  _vTbl)();
263 int vTblSize;
264 int (*  Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
265 void (*  Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
266 int offsetClass;
267 int sizeClass;
268 struct __ecereNameSpace__ecere__com__Class * base;
269 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
270 struct __ecereNameSpace__ecere__sys__BinaryTree members;
271 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
272 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
273 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
274 struct __ecereNameSpace__ecere__sys__OldList derivatives;
275 int memberID;
276 int startMemberID;
277 int type;
278 struct __ecereNameSpace__ecere__com__Instance * module;
279 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
280 char *  dataTypeString;
281 struct Type * dataType;
282 int typeSize;
283 int defaultAlignment;
284 void (*  Initialize)();
285 int memberOffset;
286 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
287 char *  designerClass;
288 unsigned int noExpansion;
289 char *  defaultProperty;
290 unsigned int comRedefinition;
291 int count;
292 unsigned int isRemote;
293 unsigned int internalDecl;
294 void *  data;
295 unsigned int computeSize;
296 int structAlignment;
297 int destructionWatchOffset;
298 unsigned int fixed;
299 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
300 int inheritanceAccess;
301 char *  fullName;
302 void *  symbol;
303 struct __ecereNameSpace__ecere__sys__OldList conversions;
304 struct __ecereNameSpace__ecere__sys__OldList templateParams;
305 struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
306 struct __ecereNameSpace__ecere__com__Class * templateClass;
307 struct __ecereNameSpace__ecere__sys__OldList templatized;
308 int numParams;
309 unsigned int isInstanceClass;
310 } __attribute__ ((gcc_struct));
311
312 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
313
314 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
315
316 struct __ecereNameSpace__ecere__com__Instance
317 {
318 int (* *  _vTbl)();
319 struct __ecereNameSpace__ecere__com__Class * _class;
320 int _refCount;
321 } __attribute__ ((gcc_struct));
322
323 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
324
325 struct __ecereNameSpace__ecere__com__DataMember
326 {
327 struct __ecereNameSpace__ecere__com__DataMember * prev;
328 struct __ecereNameSpace__ecere__com__DataMember * next;
329 char *  name;
330 unsigned int isProperty;
331 int memberAccess;
332 int id;
333 struct __ecereNameSpace__ecere__com__Class * _class;
334 char *  dataTypeString;
335 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
336 struct Type * dataType;
337 int type;
338 int offset;
339 int memberID;
340 struct __ecereNameSpace__ecere__sys__OldList members;
341 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
342 int memberOffset;
343 int structAlignment;
344 } __attribute__ ((gcc_struct));
345
346 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
347
348 struct __ecereNameSpace__ecere__com__SerialBuffer
349 {
350 unsigned char *  _buffer;
351 unsigned int count;
352 unsigned int _size;
353 unsigned int pos;
354 } __attribute__ ((gcc_struct));
355
356 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
357
358 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
359 {
360 union
361 {
362 struct
363 {
364 char *  dataTypeString;
365 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
366 } __attribute__ ((gcc_struct));
367 struct __ecereNameSpace__ecere__com__DataValue expression;
368 struct
369 {
370 char *  memberString;
371 union
372 {
373 struct __ecereNameSpace__ecere__com__DataMember * member;
374 struct __ecereNameSpace__ecere__com__Property * prop;
375 struct __ecereNameSpace__ecere__com__Method * method;
376 } __attribute__ ((gcc_struct));
377 } __attribute__ ((gcc_struct));
378 } __attribute__ ((gcc_struct));
379 } __attribute__ ((gcc_struct));
380
381 static struct __ecereNameSpace__ecere__com__Instance * __currentModule;
382
383 struct __ecereNameSpace__ecere__com__Instance * __thisModule;
384
385 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Application;
386
387 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
388
389 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
390
391 unsigned int __ecereDll_Load_ec(struct __ecereNameSpace__ecere__com__Instance * module);
392
393 unsigned int __ecereDll_Unload_ec(struct __ecereNameSpace__ecere__com__Instance * module);
394
395 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attrib;
396
397 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attribute;
398
399 struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDef;
400
401 struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
402
403 struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassFunction;
404
405 struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassImport;
406
407 struct __ecereNameSpace__ecere__com__Class * __ecereClass_CodePosition;
408
409 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
410
411 struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableDef;
412
413 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declaration;
414
415 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declarator;
416
417 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Definition;
418
419 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Enumerator;
420
421 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Expression;
422
423 struct __ecereNameSpace__ecere__com__Class * __ecereClass_ExtDecl;
424
425 struct __ecereNameSpace__ecere__com__Class * __ecereClass_External;
426
427 struct __ecereNameSpace__ecere__com__Class * __ecereClass_FunctionDefinition;
428
429 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Identifier;
430
431 struct __ecereNameSpace__ecere__com__Class * __ecereClass_ImportedModule;
432
433 struct __ecereNameSpace__ecere__com__Class * __ecereClass_InitDeclarator;
434
435 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Initializer;
436
437 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Instantiation;
438
439 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Location;
440
441 struct __ecereNameSpace__ecere__com__Class * __ecereClass_MemberInit;
442
443 struct __ecereNameSpace__ecere__com__Class * __ecereClass_MembersInit;
444
445 struct __ecereNameSpace__ecere__com__Class * __ecereClass_ModuleImport;
446
447 struct __ecereNameSpace__ecere__com__Class * __ecereClass_OpTable;
448
449 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Operand;
450
451 struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyDef;
452
453 struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyWatch;
454
455 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Specifier;
456
457 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Statement;
458
459 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Symbol;
460
461 struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateArgument;
462
463 struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateDatatype;
464
465 struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
466
467 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Type;
468
469 struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeName;
470
471 unsigned int __ecereDll_Load_ecere(struct __ecereNameSpace__ecere__com__Instance * module);
472
473 unsigned int __ecereDll_Unload_ecere(struct __ecereNameSpace__ecere__com__Instance * module);
474
475 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
476
477 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
478
479 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassProperty;
480
481 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
482
483 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
484
485 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
486
487 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
488
489 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DefinedExpression;
490
491 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__EnumClassData;
492
493 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
494
495 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
496
497 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
498
499 struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Platform_char__PTR_;
500
501 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
502
503 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
504
505 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
506
507 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
508
509 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof;
510
511 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts;
512
513 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
514
515 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
516
517 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write;
518
519 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedLink;
520
521 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
522
523 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
524
525 void __ecereRegisterModule_ecp(struct __ecereNameSpace__ecere__com__Instance * module);
526
527 void __ecereUnregisterModule_ecp(struct __ecereNameSpace__ecere__com__Instance * module);
528
529 void __ecereCreateModuleInstances_ecp();
530
531 void __ecereDestroyModuleInstances_ecp();
532
533 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com____ecere_COM_Initialize(unsigned int guiApp, int argc, char *  argv[]);
534
535 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStatic(struct __ecereNameSpace__ecere__com__Instance * fromModule, char *  name, int importAccess, unsigned int (*  Load)(struct __ecereNameSpace__ecere__com__Instance * module), unsigned int (*  Unload)(struct __ecereNameSpace__ecere__com__Instance * module));
536
537 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
538
539 extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
540
541 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
542
543 extern void __ecereNameSpace__ecere__LoadTranslatedStrings(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
544
545 extern void __ecereNameSpace__ecere__com__eInstance_Evolve(struct __ecereNameSpace__ecere__com__Instance **  instancePtr, struct __ecereNameSpace__ecere__com__Class * _class);
546
547 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
548
549 struct __ecereNameSpace__ecere__com__NameSpace
550 {
551 char *  name;
552 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
553 struct __ecereNameSpace__ecere__com__NameSpace *  left;
554 struct __ecereNameSpace__ecere__com__NameSpace *  right;
555 int depth;
556 struct __ecereNameSpace__ecere__com__NameSpace *  parent;
557 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
558 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
559 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
560 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
561 } __attribute__ ((gcc_struct));
562
563 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
564
565 struct __ecereNameSpace__ecere__com__Module
566 {
567 struct __ecereNameSpace__ecere__com__Instance * application;
568 struct __ecereNameSpace__ecere__sys__OldList classes;
569 struct __ecereNameSpace__ecere__sys__OldList defines;
570 struct __ecereNameSpace__ecere__sys__OldList functions;
571 struct __ecereNameSpace__ecere__sys__OldList modules;
572 struct __ecereNameSpace__ecere__com__Instance * prev;
573 struct __ecereNameSpace__ecere__com__Instance * next;
574 char *  name;
575 void *  library;
576 void *  Unload;
577 int importType;
578 int origImportType;
579 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
580 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
581 } __attribute__ ((gcc_struct));
582
583 extern void __ecereNameSpace__ecere__UnloadTranslatedStrings(struct __ecereNameSpace__ecere__com__Instance * module);
584
585 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Application;
586
587 struct __ecereNameSpace__ecere__com__Application
588 {
589 int argc;
590 char * *  argv;
591 int exitCode;
592 unsigned int isGUIApp;
593 struct __ecereNameSpace__ecere__sys__OldList allModules;
594 char *  parsedCommand;
595 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
596 } __attribute__ ((gcc_struct));
597
598 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
599
600 int main(int _argc, char * _argv[])
601 {
602 int exitCode;
603 struct __ecereNameSpace__ecere__com__Instance * module;
604 struct __ecereNameSpace__ecere__com__Class * _class;
605 struct __ecereNameSpace__ecere__com__Method * method;
606 struct __ecereNameSpace__ecere__com__Property * _property;
607
608 __thisModule = __currentModule = module = __ecereNameSpace__ecere__com____ecere_COM_Initialize((unsigned int)1, _argc, (void *)_argv);
609 __ecereNameSpace__ecere__com__eModule_LoadStatic(module, "ec", 2, __ecereDll_Load_ec, __ecereDll_Unload_ec);
610 __ecereNameSpace__ecere__com__eModule_LoadStatic(module, "ecere", 2, __ecereDll_Load_ecere, __ecereDll_Unload_ecere);
611 __ecereRegisterModule_ecp(module);
612 __ecereClass___ecereNameSpace__ecere__com__Application = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Application");
613 __ecereClass___ecereNameSpace__ecere__com__Instance = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Instance");
614 __ecereClass___ecereNameSpace__ecere__com__Module = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Module");
615 __ecereClass_Attrib = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Attrib");
616 __ecereClass_Attribute = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Attribute");
617 __ecereClass_ClassDef = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ClassDef");
618 __ecereClass_ClassDefinition = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ClassDefinition");
619 __ecereClass_ClassFunction = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ClassFunction");
620 __ecereClass_ClassImport = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ClassImport");
621 __ecereClass_CodePosition = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "CodePosition");
622 __ecereClass_Context = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Context");
623 __ecereClass_DBTableDef = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "DBTableDef");
624 __ecereClass_Declaration = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Declaration");
625 __ecereClass_Declarator = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Declarator");
626 __ecereClass_Definition = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Definition");
627 __ecereClass_Enumerator = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Enumerator");
628 __ecereClass_Expression = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Expression");
629 __ecereClass_ExtDecl = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ExtDecl");
630 __ecereClass_External = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "External");
631 __ecereClass_FunctionDefinition = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "FunctionDefinition");
632 __ecereClass_Identifier = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Identifier");
633 __ecereClass_ImportedModule = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ImportedModule");
634 __ecereClass_InitDeclarator = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "InitDeclarator");
635 __ecereClass_Initializer = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Initializer");
636 __ecereClass_Instantiation = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Instantiation");
637 __ecereClass_Location = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Location");
638 __ecereClass_MemberInit = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "MemberInit");
639 __ecereClass_MembersInit = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "MembersInit");
640 __ecereClass_ModuleImport = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ModuleImport");
641 __ecereClass_OpTable = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "OpTable");
642 __ecereClass_Operand = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Operand");
643 __ecereClass_PropertyDef = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "PropertyDef");
644 __ecereClass_PropertyWatch = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "PropertyWatch");
645 __ecereClass_Specifier = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Specifier");
646 __ecereClass_Statement = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Statement");
647 __ecereClass_Symbol = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Symbol");
648 __ecereClass_TemplateArgument = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "TemplateArgument");
649 __ecereClass_TemplateDatatype = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "TemplateDatatype");
650 __ecereClass_TemplateParameter = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "TemplateParameter");
651 __ecereClass_Type = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Type");
652 __ecereClass_TypeName = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "TypeName");
653 __ecereClass___ecereNameSpace__ecere__com__BitMember = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::BitMember");
654 __ecereClass___ecereNameSpace__ecere__com__Class = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Class");
655 __ecereClass___ecereNameSpace__ecere__com__ClassProperty = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::ClassProperty");
656 __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::ClassTemplateArgument");
657 __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::ClassTemplateParameter");
658 __ecereClass___ecereNameSpace__ecere__com__DataMember = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::DataMember");
659 __ecereClass___ecereNameSpace__ecere__com__DataValue = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::DataValue");
660 __ecereClass___ecereNameSpace__ecere__com__DefinedExpression = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::DefinedExpression");
661 __ecereClass___ecereNameSpace__ecere__com__EnumClassData = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::EnumClassData");
662 __ecereClass___ecereNameSpace__ecere__com__GlobalFunction = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::GlobalFunction");
663 __ecereClass___ecereNameSpace__ecere__com__Method = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Method");
664 __ecereClass___ecereNameSpace__ecere__com__NameSpace = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::NameSpace");
665 _class = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Platform");
666 __ecereProp___ecereNameSpace__ecere__com__Platform_char__PTR_ = _property = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, "char *", module);
667 __ecereClass___ecereNameSpace__ecere__com__Property = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Property");
668 __ecereClass___ecereNameSpace__ecere__com__SerialBuffer = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::SerialBuffer");
669 __ecereClass___ecereNameSpace__ecere__sys__BTNode = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::sys::BTNode");
670 __ecereClass___ecereNameSpace__ecere__sys__BinaryTree = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::sys::BinaryTree");
671 _class = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::sys::DualPipe");
672 _class = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::sys::File");
673 method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, "Eof", module);
674 if(method)
675 __ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof = method->vid;
676 method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, "Puts", module);
677 if(method)
678 __ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts = method->vid;
679 method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, "Read", module);
680 if(method)
681 __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read = method->vid;
682 method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, "Seek", module);
683 if(method)
684 __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek = method->vid;
685 method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, "Write", module);
686 if(method)
687 __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write = method->vid;
688 __ecereClass___ecereNameSpace__ecere__sys__NamedLink = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::sys::NamedLink");
689 __ecereClass___ecereNameSpace__ecere__sys__OldList = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::sys::OldList");
690 __ecereClass___ecereNameSpace__ecere__sys__TempFile = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::sys::TempFile");
691 __ecereNameSpace__ecere__LoadTranslatedStrings(module, "ecp");
692 _class = __ecereNameSpace__ecere__com__eSystem_FindClass(__currentModule, "PrecompApp");
693 __ecereNameSpace__ecere__com__eInstance_Evolve((struct __ecereNameSpace__ecere__com__Instance **)&__currentModule, _class);
694 __thisModule = __currentModule;
695 __ecereCreateModuleInstances_ecp();
696 ((void (*)(void *))(void *)((struct __ecereNameSpace__ecere__com__Instance *)(char *)__currentModule)->_vTbl[12])(__currentModule);
697 __ecereDestroyModuleInstances_ecp();
698 __ecereNameSpace__ecere__UnloadTranslatedStrings(__currentModule);
699 _class = __ecereNameSpace__ecere__com__eSystem_FindClass(__currentModule, "ecere::com::Application");
700 exitCode = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)((struct __ecereNameSpace__ecere__com__Instance *)__currentModule) + structSize_Module)))->exitCode;
701 (__ecereNameSpace__ecere__com__eInstance_DecRef(__currentModule), __currentModule = 0);
702 return exitCode;
703 }
704
705 void __ecereRegisterModule_ecp_main(struct __ecereNameSpace__ecere__com__Instance * module)
706 {
707 struct __ecereNameSpace__ecere__com__Class * class;
708
709 }
710
711 void __ecereUnregisterModule_ecp_main(struct __ecereNameSpace__ecere__com__Instance * module)
712 {
713
714 }
715