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