2 typedef long long int64;
3 typedef unsigned long long uint64;
7 #elif defined(__TINYC__)
9 #define __builtin_va_list va_list
10 #define __builtin_va_start va_start
11 #define __builtin_va_end va_end
13 #define strcasecmp stricmp
14 #define strncasecmp strnicmp
15 #define __declspec(x) __attribute__((x))
19 typedef long long int64;
20 typedef unsigned long long uint64;
22 typedef __int64 int64;
23 typedef unsigned __int64 uint64;
26 #define __ENDIAN_PAD(x) (8 - (x))
28 #define __ENDIAN_PAD(x) 0
32 typedef unsigned long long int uintptr_t;
33 typedef long long int intptr_t;
35 typedef unsigned int uintptr_t;
41 extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
43 extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
45 extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
47 extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
49 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
51 struct __ecereNameSpace__ecere__sys__BTNode;
53 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BinaryTree;
55 struct __ecereNameSpace__ecere__sys__BinaryTree
57 struct __ecereNameSpace__ecere__sys__BTNode * root;
59 int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
60 void (* FreeKey)(void * key);
61 } __attribute__ ((gcc_struct));
63 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
65 struct __ecereNameSpace__ecere__sys__OldList
72 } __attribute__ ((gcc_struct));
74 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
76 struct __ecereNameSpace__ecere__com__Method
79 struct __ecereNameSpace__ecere__com__Method * parent;
80 struct __ecereNameSpace__ecere__com__Method * left;
81 struct __ecereNameSpace__ecere__com__Method * right;
86 struct __ecereNameSpace__ecere__com__Class * _class;
88 char * dataTypeString;
89 struct Type * dataType;
91 } __attribute__ ((gcc_struct));
93 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
95 struct __ecereNameSpace__ecere__com__Property
97 struct __ecereNameSpace__ecere__com__Property * prev;
98 struct __ecereNameSpace__ecere__com__Property * next;
100 unsigned int isProperty;
103 struct __ecereNameSpace__ecere__com__Class * _class;
104 char * dataTypeString;
105 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
106 struct Type * dataType;
107 void (* Set)(void * , int);
108 int (* Get)(void * );
109 unsigned int (* IsSet)(void * );
113 unsigned int conversion;
114 unsigned int watcherOffset;
116 unsigned int compiled;
117 unsigned int selfWatchable;
118 unsigned int isWatchable;
119 } __attribute__ ((gcc_struct));
121 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_CodePosition;
128 unsigned int included;
129 } __attribute__ ((gcc_struct));
131 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Location;
135 struct CodePosition start;
136 struct CodePosition end;
137 } __attribute__ ((gcc_struct));
139 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attrib;
143 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ExtDecl;
147 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
149 struct ClassDefinition;
151 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
155 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Instantiation;
157 struct Instantiation;
159 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declaration;
163 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Statement;
167 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeName;
171 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Initializer;
175 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
177 struct __ecereNameSpace__ecere__com__DataValue
192 } __attribute__ ((gcc_struct));
193 } __attribute__ ((gcc_struct));
195 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Expression;
199 struct Expression * prev;
200 struct Expression * next;
208 struct Identifier * identifier;
209 } __attribute__ ((gcc_struct));
210 struct Statement * compound;
211 struct Instantiation * instance;
213 struct __ecereNameSpace__ecere__sys__OldList * list;
216 struct __ecereNameSpace__ecere__sys__OldList * specifiers;
217 struct Declarator * decl;
218 } __attribute__ ((gcc_struct)) _classExp;
221 struct Identifier * id;
222 } __attribute__ ((gcc_struct)) classData;
225 struct Expression * exp;
226 struct __ecereNameSpace__ecere__sys__OldList * arguments;
227 struct Location argLoc;
228 } __attribute__ ((gcc_struct)) call;
231 struct Expression * exp;
232 struct __ecereNameSpace__ecere__sys__OldList * index;
233 } __attribute__ ((gcc_struct)) index;
236 struct Expression * exp;
237 struct Identifier * member;
239 unsigned int thisPtr;
240 } __attribute__ ((gcc_struct)) member;
244 struct Expression * exp1;
245 struct Expression * exp2;
246 } __attribute__ ((gcc_struct)) op;
247 struct TypeName * typeName;
248 struct Specifier * _class;
251 struct TypeName * typeName;
252 struct Expression * exp;
253 } __attribute__ ((gcc_struct)) cast;
256 struct Expression * cond;
257 struct __ecereNameSpace__ecere__sys__OldList * exp;
258 struct Expression * elseExp;
259 } __attribute__ ((gcc_struct)) cond;
262 struct TypeName * typeName;
263 struct Expression * size;
264 } __attribute__ ((gcc_struct)) _new;
267 struct TypeName * typeName;
268 struct Expression * size;
269 struct Expression * exp;
270 } __attribute__ ((gcc_struct)) _renew;
274 struct Identifier * id;
275 } __attribute__ ((gcc_struct)) db;
278 struct Expression * ds;
279 struct Expression * name;
280 } __attribute__ ((gcc_struct)) dbopen;
283 struct TypeName * typeName;
284 struct Initializer * initializer;
285 } __attribute__ ((gcc_struct)) initializer;
288 struct Expression * exp;
289 struct TypeName * typeName;
290 } __attribute__ ((gcc_struct)) vaArg;
291 } __attribute__ ((gcc_struct));
292 unsigned int debugValue;
293 struct __ecereNameSpace__ecere__com__DataValue val;
295 unsigned int hasAddress;
296 struct Type * expType;
297 struct Type * destType;
300 unsigned int byReference;
301 unsigned int isConstant;
302 unsigned int addedThis;
303 unsigned int needCast;
304 unsigned int thisPtr;
305 } __attribute__ ((gcc_struct));
307 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateDatatype;
309 struct TemplateDatatype;
311 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateArgument;
313 struct TemplateArgument;
315 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
317 struct TemplateParameter;
319 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Specifier;
323 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Identifier;
327 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Pointer;
331 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declarator;
335 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_FunctionDefinition;
337 struct FunctionDefinition;
339 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableDef;
343 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_External;
347 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ModuleImport;
351 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassImport;
355 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Symbol;
360 struct Symbol * parent;
361 struct Symbol * left;
362 struct Symbol * right;
367 struct __ecereNameSpace__ecere__com__Method * method;
368 struct __ecereNameSpace__ecere__com__Property * _property;
369 struct __ecereNameSpace__ecere__com__Class * registered;
370 } __attribute__ ((gcc_struct));
377 struct External * pointerExternal;
378 struct External * structExternal;
379 } __attribute__ ((gcc_struct));
382 struct External * externalGet;
383 struct External * externalSet;
384 struct External * externalPtr;
385 struct External * externalIsSet;
386 } __attribute__ ((gcc_struct));
389 struct External * methodExternal;
390 struct External * methodCodeExternal;
391 } __attribute__ ((gcc_struct));
392 } __attribute__ ((gcc_struct));
393 unsigned int imported;
394 unsigned int declaredStructSym;
395 struct __ecereNameSpace__ecere__com__Class * _class;
396 unsigned int declaredStruct;
397 unsigned int needConstructor;
398 unsigned int needDestructor;
399 char * constructorName;
402 char * destructorName;
403 struct ModuleImport * module;
404 struct ClassImport * _import;
405 struct Location nameLoc;
406 unsigned int isParam;
407 unsigned int isRemote;
408 unsigned int isStruct;
409 unsigned int fireWatchersDone;
411 unsigned int classData;
412 unsigned int isStatic;
414 struct __ecereNameSpace__ecere__sys__OldList * templateParams;
415 struct __ecereNameSpace__ecere__sys__OldList templatedClasses;
416 struct Context * ctx;
418 struct Expression * propCategory;
419 } __attribute__ ((gcc_struct));
421 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Type;
425 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
427 struct __ecereNameSpace__ecere__com__Class
429 struct __ecereNameSpace__ecere__com__Class * prev;
430 struct __ecereNameSpace__ecere__com__Class * next;
436 int (* Constructor)(struct __ecereNameSpace__ecere__com__Instance *);
437 void (* Destructor)(struct __ecereNameSpace__ecere__com__Instance *);
440 struct __ecereNameSpace__ecere__com__Class * base;
441 struct __ecereNameSpace__ecere__sys__BinaryTree methods;
442 struct __ecereNameSpace__ecere__sys__BinaryTree members;
443 struct __ecereNameSpace__ecere__sys__BinaryTree prop;
444 struct __ecereNameSpace__ecere__sys__OldList membersAndProperties;
445 struct __ecereNameSpace__ecere__sys__BinaryTree classProperties;
446 struct __ecereNameSpace__ecere__sys__OldList derivatives;
450 struct __ecereNameSpace__ecere__com__Instance * module;
451 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
452 char * dataTypeString;
453 struct Type * dataType;
455 int defaultAlignment;
456 void (* Initialize)();
458 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
459 char * designerClass;
460 unsigned int noExpansion;
461 char * defaultProperty;
462 unsigned int comRedefinition;
464 unsigned int isRemote;
465 unsigned int internalDecl;
467 unsigned int computeSize;
469 int destructionWatchOffset;
471 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
472 int inheritanceAccess;
475 struct __ecereNameSpace__ecere__sys__OldList conversions;
476 struct __ecereNameSpace__ecere__sys__OldList templateParams;
477 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * templateArgs;
478 struct __ecereNameSpace__ecere__com__Class * templateClass;
479 struct __ecereNameSpace__ecere__sys__OldList templatized;
481 } __attribute__ ((gcc_struct));
483 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name);
485 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
487 struct __ecereNameSpace__ecere__com__Instance
490 struct __ecereNameSpace__ecere__com__Class * _class;
492 } __attribute__ ((gcc_struct));
494 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
496 struct __ecereNameSpace__ecere__com__DataMember
498 struct __ecereNameSpace__ecere__com__DataMember * prev;
499 struct __ecereNameSpace__ecere__com__DataMember * next;
501 unsigned int isProperty;
504 struct __ecereNameSpace__ecere__com__Class * _class;
505 char * dataTypeString;
506 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
507 struct Type * dataType;
511 struct __ecereNameSpace__ecere__sys__OldList members;
512 struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
515 } __attribute__ ((gcc_struct));
517 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
519 struct __ecereNameSpace__ecere__com__SerialBuffer
521 unsigned char * _buffer;
525 } __attribute__ ((gcc_struct));
527 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
529 struct __ecereNameSpace__ecere__com__ClassTemplateArgument
535 char * dataTypeString;
536 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
537 } __attribute__ ((gcc_struct));
538 struct __ecereNameSpace__ecere__com__DataValue expression;
544 struct __ecereNameSpace__ecere__com__DataMember * member;
545 struct __ecereNameSpace__ecere__com__Property * prop;
546 struct __ecereNameSpace__ecere__com__Method * method;
547 } __attribute__ ((gcc_struct));
548 } __attribute__ ((gcc_struct));
549 } __attribute__ ((gcc_struct));
550 } __attribute__ ((gcc_struct));
554 struct __ecereNameSpace__ecere__com__NameSpace * globalData;
556 void SetGlobalData(struct __ecereNameSpace__ecere__com__NameSpace * nameSpace)
558 globalData = nameSpace;
561 struct __ecereNameSpace__ecere__sys__OldList dataRedefinitions;
563 extern char sourceFileStack[10][797];
565 extern int include_stack_ptr;
567 static int numIncludes;
569 static char ** includes;
571 unsigned int inIDE = 0x0;
573 void SetInIDE(unsigned int b)
578 struct __ecereNameSpace__ecere__com__Instance * sourceDirs;
580 void SetSourceDirs(struct __ecereNameSpace__ecere__com__Instance * list)
585 struct __ecereNameSpace__ecere__sys__OldList * includeDirs, * sysIncludeDirs;
587 void SetIncludeDirs(struct __ecereNameSpace__ecere__sys__OldList * list)
592 void SetSysIncludeDirs(struct __ecereNameSpace__ecere__sys__OldList * list)
594 sysIncludeDirs = list;
597 unsigned int ecereImported;
599 void SetEcereImported(unsigned int b)
604 unsigned int GetEcereImported()
606 return ecereImported;
609 unsigned int inPreCompiler = 0x0;
611 void SetInPreCompiler(unsigned int b)
616 struct __ecereNameSpace__ecere__sys__OldList * precompDefines;
618 void SetPrecompDefines(struct __ecereNameSpace__ecere__sys__OldList * list)
620 precompDefines = list;
623 unsigned int DummyMethod()
628 extern char * __ecereNameSpace__ecere__sys__TrimLSpaces(char * string, char * output);
630 extern int strcmp(const char * , const char * );
632 extern int strtol(char * , char * * , int base);
634 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, char * name, char * type, unsigned int size, unsigned int alignment, int declMode);
636 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
638 struct __ecereNameSpace__ecere__com__BitMember
640 struct __ecereNameSpace__ecere__com__BitMember * prev;
641 struct __ecereNameSpace__ecere__com__BitMember * next;
643 unsigned int isProperty;
646 struct __ecereNameSpace__ecere__com__Class * _class;
647 char * dataTypeString;
648 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
649 struct Type * dataType;
654 } __attribute__ ((gcc_struct));
656 extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, int bitSize, int bitPos, int declMode);
658 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, unsigned int size, unsigned int alignment, int declMode);
660 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_New(int type, int declMode);
662 extern unsigned int __ecereNameSpace__ecere__com__eMember_AddMember(struct __ecereNameSpace__ecere__com__DataMember * addTo, struct __ecereNameSpace__ecere__com__DataMember * dataMember);
664 extern unsigned int __ecereNameSpace__ecere__com__eClass_AddMember(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__DataMember * dataMember);
666 extern char * strcpy(char * , const char * );
668 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(struct __ecereNameSpace__ecere__com__Instance * this, char * s, int max);
670 static void ReadDataMembers(struct __ecereNameSpace__ecere__com__Class * regClass, struct __ecereNameSpace__ecere__com__DataMember * member, struct __ecereNameSpace__ecere__com__Instance * f)
674 int size = 0, bitPos = -1;
675 int memberAccess = 1;
679 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
681 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
682 if(!strcmp(line, "."))
686 if(!strcmp(line, "[Size]"))
688 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
689 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
690 size = strtol(line, (((void *)0)), 0);
692 else if(!strcmp(line, "[Pos]"))
694 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
695 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
696 bitPos = strtol(line, (((void *)0)), 0);
698 else if(!strcmp(line, "[Public]"))
700 else if(!strcmp(line, "[Private]"))
702 else if(!strcmp(line, "[Type]"))
704 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
705 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
708 if(!__ecereNameSpace__ecere__com__eMember_AddDataMember(member, name, line[0] ? line : 0, 0, 0, memberAccess))
711 else if(regClass && regClass->type == 2)
713 struct __ecereNameSpace__ecere__com__BitMember * member = __ecereNameSpace__ecere__com__eClass_AddBitMember(regClass, name, line[0] ? line : 0, 0, 0, memberAccess);
716 member->pos = bitPos;
720 if(!__ecereNameSpace__ecere__com__eClass_AddDataMember(regClass, name, line[0] ? line : 0, 0, 0, memberAccess))
724 else if(!strcmp(line, "[Struct]") || !strcmp(line, "[Union]"))
726 struct __ecereNameSpace__ecere__com__DataMember * dataMember = (regClass || member) ? __ecereNameSpace__ecere__com__eMember_New((!strcmp(line, "[Union]")) ? 1 : 2, memberAccess) : (((void *)0));
728 ReadDataMembers((((void *)0)), dataMember, f);
731 if(!__ecereNameSpace__ecere__com__eMember_AddMember(member, dataMember))
736 if(!__ecereNameSpace__ecere__com__eClass_AddMember(regClass, dataMember))
751 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpenBuffered(char * fileName, int mode);
753 extern char * __ecereNameSpace__ecere__sys__GetLastDirectory(char * string, char * output);
755 extern int strcasecmp(const char * , const char * );
757 extern struct Symbol * DeclClass(int symbolID, char * name);
759 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char * name);
761 extern struct __ecereNameSpace__ecere__com__Instance * privateModule;
763 extern struct Symbol * FindClass(char * name);
765 extern char * sourceFile;
767 extern char * strstr(char * , const char * );
769 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char * name, char * baseName, int size, int sizeClass, unsigned int (* )(void * ), void (* )(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
771 extern char * strcat(char * , const char * );
773 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldLink;
775 struct __ecereNameSpace__ecere__sys__OldLink
777 struct __ecereNameSpace__ecere__sys__OldLink * prev;
778 struct __ecereNameSpace__ecere__sys__OldLink * next;
780 } __attribute__ ((gcc_struct));
782 extern void __ecereNameSpace__ecere__com__eClass_DestructionWatchable(struct __ecereNameSpace__ecere__com__Class * _class);
784 extern struct ModuleImport * FindModule(struct __ecereNameSpace__ecere__com__Instance * moduleToFind);
786 extern struct ModuleImport * mainModule;
788 extern char * strchr(char * , int);
790 extern void * memcpy(void * , const void * , unsigned int size);
792 extern char * __ecereNameSpace__ecere__sys__TrimRSpaces(char * string, char * output);
794 extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char * string, int value);
796 extern int atoi(const char * );
798 extern int __ecereNameSpace__ecere__com__eEnum_AddValue(struct __ecereNameSpace__ecere__com__Class * _class, char * string);
800 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, void * function, int declMode);
802 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, void * function, int declMode);
804 extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * dataType, void * setStmt, void * getStmt, int declMode);
806 extern void __ecereNameSpace__ecere__com__eProperty_Watchable(struct __ecereNameSpace__ecere__com__Property * _property);
808 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassProperty;
810 struct __ecereNameSpace__ecere__com__ClassProperty;
812 extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_AddClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * dataType, void * setStmt, void * getStmt);
814 extern char * __ecereNameSpace__ecere__sys__CopyString(char * string);
816 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_OpTable;
820 unsigned int (* Add)(struct Expression *, struct Operand *, struct Operand *);
821 unsigned int (* Sub)(struct Expression *, struct Operand *, struct Operand *);
822 unsigned int (* Mul)(struct Expression *, struct Operand *, struct Operand *);
823 unsigned int (* Div)(struct Expression *, struct Operand *, struct Operand *);
824 unsigned int (* Mod)(struct Expression *, struct Operand *, struct Operand *);
825 unsigned int (* Neg)(struct Expression *, struct Operand *);
826 unsigned int (* Inc)(struct Expression *, struct Operand *);
827 unsigned int (* Dec)(struct Expression *, struct Operand *);
828 unsigned int (* Asign)(struct Expression *, struct Operand *, struct Operand *);
829 unsigned int (* AddAsign)(struct Expression *, struct Operand *, struct Operand *);
830 unsigned int (* SubAsign)(struct Expression *, struct Operand *, struct Operand *);
831 unsigned int (* MulAsign)(struct Expression *, struct Operand *, struct Operand *);
832 unsigned int (* DivAsign)(struct Expression *, struct Operand *, struct Operand *);
833 unsigned int (* ModAsign)(struct Expression *, struct Operand *, struct Operand *);
834 unsigned int (* BitAnd)(struct Expression *, struct Operand *, struct Operand *);
835 unsigned int (* BitOr)(struct Expression *, struct Operand *, struct Operand *);
836 unsigned int (* BitXor)(struct Expression *, struct Operand *, struct Operand *);
837 unsigned int (* LShift)(struct Expression *, struct Operand *, struct Operand *);
838 unsigned int (* RShift)(struct Expression *, struct Operand *, struct Operand *);
839 unsigned int (* BitNot)(struct Expression *, struct Operand *);
840 unsigned int (* AndAsign)(struct Expression *, struct Operand *, struct Operand *);
841 unsigned int (* OrAsign)(struct Expression *, struct Operand *, struct Operand *);
842 unsigned int (* XorAsign)(struct Expression *, struct Operand *, struct Operand *);
843 unsigned int (* LShiftAsign)(struct Expression *, struct Operand *, struct Operand *);
844 unsigned int (* RShiftAsign)(struct Expression *, struct Operand *, struct Operand *);
845 unsigned int (* Not)(struct Expression *, struct Operand *);
846 unsigned int (* Equ)(struct Expression *, struct Operand *, struct Operand *);
847 unsigned int (* Nqu)(struct Expression *, struct Operand *, struct Operand *);
848 unsigned int (* And)(struct Expression *, struct Operand *, struct Operand *);
849 unsigned int (* Or)(struct Expression *, struct Operand *, struct Operand *);
850 unsigned int (* Grt)(struct Expression *, struct Operand *, struct Operand *);
851 unsigned int (* Sma)(struct Expression *, struct Operand *, struct Operand *);
852 unsigned int (* GrtEqu)(struct Expression *, struct Operand *, struct Operand *);
853 unsigned int (* SmaEqu)(struct Expression *, struct Operand *, struct Operand *);
854 unsigned int (* Cond)(struct Expression *, struct Operand *, struct Operand *, struct Operand *);
855 } __attribute__ ((gcc_struct));
857 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Operand;
863 unsigned int ptrSize;
876 } __attribute__ ((gcc_struct));
878 } __attribute__ ((gcc_struct));
880 extern struct Location yylloc;
882 extern struct __ecereNameSpace__ecere__com__Instance * fileInput;
886 extern void resetScanner();
888 extern struct Expression * ParseExpressionString(char * expression);
890 extern struct Type * ProcessTypeString(char * string, unsigned int staticMethod);
892 extern void ProcessExpressionType(struct Expression * exp);
894 extern void ComputeExpression(struct Expression * exp);
896 extern struct Operand GetOperand(struct Expression * exp);
898 extern void FreeExpression(struct Expression * exp);
900 extern void resetScannerPos(struct CodePosition * pos);
902 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
904 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
906 extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, char * name, int type, void * info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
908 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
910 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DefinedExpression;
912 struct __ecereNameSpace__ecere__com__DefinedExpression;
914 extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(char * name, char * value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
916 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
918 struct __ecereNameSpace__ecere__com__GlobalFunction;
920 extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char * name, char * type, void * func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
922 extern char * strncpy(char * , const char * , int n);
924 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
926 struct __ecereNameSpace__ecere__com__NameSpace
929 struct __ecereNameSpace__ecere__com__NameSpace * btParent;
930 struct __ecereNameSpace__ecere__com__NameSpace * left;
931 struct __ecereNameSpace__ecere__com__NameSpace * right;
933 struct __ecereNameSpace__ecere__com__NameSpace * parent;
934 struct __ecereNameSpace__ecere__sys__BinaryTree nameSpaces;
935 struct __ecereNameSpace__ecere__sys__BinaryTree classes;
936 struct __ecereNameSpace__ecere__sys__BinaryTree defines;
937 struct __ecereNameSpace__ecere__sys__BinaryTree functions;
938 } __attribute__ ((gcc_struct));
940 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_GlobalData;
945 struct __ecereNameSpace__ecere__sys__BTNode * parent;
946 struct __ecereNameSpace__ecere__sys__BTNode * left;
947 struct __ecereNameSpace__ecere__sys__BTNode * right;
949 struct __ecereNameSpace__ecere__com__Instance * module;
950 char * dataTypeString;
951 struct Type * dataType;
954 } __attribute__ ((gcc_struct));
956 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DataRedefinition;
958 struct DataRedefinition
960 struct DataRedefinition * prev;
961 struct DataRedefinition * next;
965 } __attribute__ ((gcc_struct));
967 void ImportModule(char * name, int importType, int importAccess, unsigned int loadDllOnly);
969 extern void Compiler_Error(char * format, ...);
971 extern char * __ecereNameSpace__ecere__GetTranslatedString(struct __ecereNameSpace__ecere__com__Instance * module, char * string, char * stringAndContext);
973 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
975 extern void * __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
977 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof;
979 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
981 struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char * key);
983 int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char * a, char * b);
985 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(struct __ecereNameSpace__ecere__sys__BinaryTree * this, struct __ecereNameSpace__ecere__sys__BTNode * node);
987 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(struct __ecereNameSpace__ecere__sys__OldList * this, void * item);
989 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
991 unsigned int LoadSymbols(char * fileName, int importType, unsigned int loadDllOnly)
994 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpenBuffered(fileName, 1);
995 unsigned int globalInstance = 0x0;
999 unsigned int ecereCOMModule = 0x0;
1000 char moduleName[797];
1002 __ecereNameSpace__ecere__sys__GetLastDirectory(fileName, moduleName);
1003 if(!((strcasecmp)(moduleName, "instance.sym") && (strcasecmp)(moduleName, "BinaryTree.sym") && (strcasecmp)(moduleName, "dataTypes.sym") && (strcasecmp)(moduleName, "OldList.sym") && (strcasecmp)(moduleName, "String.sym") && (strcasecmp)(moduleName, "BTNode.sym") && (strcasecmp)(moduleName, "Array.sym") && (strcasecmp)(moduleName, "AVLTree.sym") && (strcasecmp)(moduleName, "BuiltInContainer.sym") && (strcasecmp)(moduleName, "Container.sym") && (strcasecmp)(moduleName, "CustomAVLTree.sym") && (strcasecmp)(moduleName, "LinkList.sym") && (strcasecmp)(moduleName, "List.sym") && (strcasecmp)(moduleName, "Map.sym") && (strcasecmp)(moduleName, "Mutex.sym")))
1004 ecereCOMModule = 0x1;
1009 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1011 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1014 if(!strcmp(line, "[Global Instance]"))
1015 globalInstance = 0x1;
1016 else if(!strcmp(line, "[Defined Classes]"))
1018 struct __ecereNameSpace__ecere__com__Class * regClass = (((void *)0));
1020 unsigned int isRemote = 0x0;
1021 unsigned int isStatic = 0x0;
1022 unsigned int isWatchable = 0x0;
1024 unsigned int fixed = 0x0;
1025 unsigned int noExpansion = 0x0;
1026 int inheritanceAccess = 1;
1030 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1032 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1033 if(!strcmp(line, "."))
1037 if(!strcmp(line, "[Remote]"))
1039 else if(!strcmp(line, "[Static]"))
1041 else if(!strcmp(line, "[Fixed]"))
1043 else if(!strcmp(line, "[No Expansion]"))
1045 else if(!strcmp(line, "[Watchable]"))
1047 else if(!strcmp(line, "[Enum]"))
1049 else if(!strcmp(line, "[Bit]"))
1051 else if(!strcmp(line, "[Struct]"))
1053 else if(!strcmp(line, "[Unit]"))
1055 else if(!strcmp(line, "[NoHead]"))
1057 else if(!strcmp(line, "[Base]") || !strcmp(line, "[Private Base]"))
1059 if(!strcmp(line, "[Private Base]"))
1060 inheritanceAccess = 2;
1061 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1062 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1065 if(isStatic || loadDllOnly || importType == 3 || importType == 4)
1066 regClass = (((void *)0));
1067 else if(regClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, name), !regClass || regClass->internalDecl || regClass->isRemote)
1069 struct Symbol * existingClass = FindClass(name);
1070 char * baseName = (classType == 0 && importType == 2 && isRemote) ? "DCOMClientObject" : (!strcmp(line, "[None]") ? (((void *)0)) : line);
1072 if(!isRemote || (importType != 2) || (!sourceFile || !strstr(sourceFile, ".main.ec")))
1074 if(!regClass || regClass->internalDecl)
1075 regClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(classType, name, isRemote ? (((void *)0)) : baseName, 0, 0, (((void *)0)), (((void *)0)), privateModule, ecereCOMModule ? 4 : 1, inheritanceAccess);
1076 if(regClass && isRemote)
1077 regClass->isRemote = (importType == 2) ? (unsigned int)1 : (unsigned int)2;
1082 char className[1024] = "DCOMClient_";
1084 strcat(className, name);
1086 existingClass = DeclClass(0, name);
1087 regClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(classType, className, baseName, 0, 0, (((void *)0)), (((void *)0)), privateModule, ecereCOMModule ? 4 : 1, inheritanceAccess);
1090 regClass->isRemote = (importType == 2) ? (unsigned int)1 : (unsigned int)3;
1094 struct __ecereNameSpace__ecere__sys__OldLink * link;
1096 for(link = existingClass->templatedClasses.first; link; link = link->next)
1098 struct Symbol * symbol = link->data;
1100 symbol->registered = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, symbol->string);
1104 regClass->fixed = 0x1;
1106 regClass->noExpansion = 0x1;
1109 __ecereNameSpace__ecere__com__eClass_DestructionWatchable(regClass);
1110 regClass->structSize = regClass->offset;
1112 if(regClass && existingClass)
1114 existingClass->registered = regClass;
1115 regClass->symbol = existingClass;
1116 existingClass->id = (((int)0x7fffffff));
1117 existingClass->idCode = (((int)0x7fffffff));
1118 existingClass->imported = 0x1;
1119 if(regClass->module)
1120 existingClass->module = FindModule(regClass->module);
1122 existingClass->module = mainModule;
1126 regClass = (((void *)0));
1129 regClass = (((void *)0));
1135 else if(!strcmp(line, "[Enum Values]"))
1141 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1143 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1144 if(!strcmp(line, "."))
1148 equal = strchr(line, '=');
1153 memcpy(name, line, (int)(equal - line));
1154 name[equal - line] = '\0';
1155 __ecereNameSpace__ecere__sys__TrimLSpaces(name, name);
1156 __ecereNameSpace__ecere__sys__TrimRSpaces(name, name);
1157 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(regClass, name, atoi(equal + 1));
1161 __ecereNameSpace__ecere__com__eEnum_AddValue(regClass, line);
1166 else if(!strcmp(line, "[Defined Methods]"))
1169 unsigned int isVirtual = 0x0;
1170 int memberAccess = 1;
1174 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1176 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1177 if(!strcmp(line, "."))
1181 if(!strcmp(line, "[Type]"))
1183 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1186 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1188 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(regClass, name, line[0] ? line : 0, DummyMethod, memberAccess);
1190 __ecereNameSpace__ecere__com__eClass_AddMethod(regClass, name, line[0] ? line : 0, DummyMethod, memberAccess);
1193 else if(!strcmp(line, "[Virtual]"))
1195 else if(!strcmp(line, "[Public]"))
1197 else if(!strcmp(line, "[Private]"))
1208 else if(!strcmp(line, "[Defined Properties]"))
1211 unsigned int setStmt = 0x0, getStmt = 0x0, isVirtual = 0x0, conversion = 0x0;
1212 unsigned int isWatchable = 0x0;
1213 int memberAccess = 1;
1217 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1219 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1220 if(!strcmp(line, "."))
1224 if(!strcmp(line, "[Type]"))
1226 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1227 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1230 struct __ecereNameSpace__ecere__com__Property * prop = __ecereNameSpace__ecere__com__eClass_AddProperty(regClass, conversion ? (((void *)0)) : name, line[0] ? line : 0, (void *)(unsigned int)setStmt, (void *)(unsigned int)getStmt, memberAccess);
1234 prop->compiled = 0x0;
1237 __ecereNameSpace__ecere__com__eProperty_Watchable(prop);
1238 regClass->structSize = regClass->offset;
1243 else if(!strcmp(line, "[Set]"))
1245 else if(!strcmp(line, "[Get]"))
1247 else if(!strcmp(line, "[Watchable]"))
1249 else if(!strcmp(line, "[Public]"))
1251 else if(!strcmp(line, "[Private]"))
1253 else if(!strcmp(line, "[Conversion]"))
1256 setStmt = getStmt = isVirtual = isWatchable = 0x0;
1262 setStmt = getStmt = isVirtual = conversion = isWatchable = 0x0;
1267 else if(!strcmp(line, "[Defined Class Properties]"))
1270 unsigned int setStmt = 0x0, getStmt = 0x0;
1274 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1276 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1277 if(!strcmp(line, "."))
1281 if(!strcmp(line, "[Type]"))
1283 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1284 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1287 __ecereNameSpace__ecere__com__eClass_AddClassProperty(regClass, name, line, (void *)(unsigned int)setStmt, (void *)(unsigned int)getStmt);
1290 else if(!strcmp(line, "[Set]"))
1292 else if(!strcmp(line, "[Get]"))
1298 setStmt = getStmt = 0x0;
1302 else if(!strcmp(line, "[Defined Data Members]"))
1304 ReadDataMembers(regClass, (((void *)0)), f);
1306 else if(!strcmp(line, "[Template Parameters]"))
1308 while(!((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof])(f))
1312 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg =
1316 void * info = (((void *)0));
1318 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1319 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1323 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1324 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1325 if(!strcmp(line, "[Expression]"))
1327 else if(!strcmp(line, "[Identifier]"))
1332 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1333 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1334 if(regClass && strcmp(line, "[None]"))
1336 info = __ecereNameSpace__ecere__sys__CopyString(line);
1338 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1339 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1340 if(regClass && strcmp(line, "[None]"))
1342 defaultArg.dataTypeString = __ecereNameSpace__ecere__sys__CopyString(line);
1346 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1347 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1348 if(regClass && strcmp(line, "[None]"))
1350 info = __ecereNameSpace__ecere__sys__CopyString(line);
1352 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1353 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1354 if(regClass && strcmp(line, "[None]"))
1357 struct Expression * exp;
1358 struct Location oldLocation = yylloc;
1359 struct __ecereNameSpace__ecere__com__Instance * backFileInput = fileInput;
1363 exp = ParseExpressionString(line);
1365 exp->destType = ProcessTypeString(info, 0x0);
1366 ProcessExpressionType(exp);
1367 ComputeExpression(exp);
1368 op = GetOperand(exp);
1369 defaultArg.expression.ui64 = op.ui64;
1370 FreeExpression(exp);
1372 yylloc = oldLocation;
1373 fileInput = backFileInput;
1376 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))fileInput->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, yylloc.start.pos, 0);
1377 resetScannerPos(&yylloc.start);
1383 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1384 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1385 if(!strcmp(line, "[Data member]"))
1387 else if(!strcmp(line, "[Method]"))
1389 else if(!strcmp(line, "[Property]"))
1391 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1392 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1393 if(regClass && strcmp(line, "[None]"))
1395 defaultArg.memberString = __ecereNameSpace__ecere__sys__CopyString(line);
1400 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, name, type, info, &defaultArg);
1401 if(type == 0 || type == 2)
1402 (__ecereNameSpace__ecere__com__eSystem_Delete(info), info = 0);
1403 if(type == 0 || type == 1)
1404 (__ecereNameSpace__ecere__com__eSystem_Delete(defaultArg.dataTypeString), defaultArg.dataTypeString = 0);
1407 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(regClass);
1412 inheritanceAccess = 1;
1416 regClass = (((void *)0));
1420 else if(!strcmp(line, "[Defined Expressions]"))
1426 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1428 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1429 if(!strcmp(line, "."))
1431 if(!strcmp(line, "[Value]"))
1433 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1434 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1435 if(!loadDllOnly && importType != 3 && importType != 4)
1436 __ecereNameSpace__ecere__com__eSystem_RegisterDefine(name, line, privateModule, ecereCOMModule ? 4 : 1);
1438 else if(line[0] != '[')
1444 else if(!strcmp(line, "[Defined Functions]"))
1450 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1452 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1453 if(!strcmp(line, "."))
1455 if(!strcmp(line, "[Type]"))
1457 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1458 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1459 if(!loadDllOnly && importType != 3 && importType != 4)
1460 __ecereNameSpace__ecere__com__eSystem_RegisterFunction(name, line, (((void *)0)), privateModule, ecereCOMModule ? 4 : 1);
1462 else if(line[0] != '[')
1468 else if(!strcmp(line, "[Defined Data]"))
1474 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1476 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1477 if(!strcmp(line, "."))
1479 if(!strcmp(line, "[Type]"))
1481 __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line);
1482 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1483 if(!loadDllOnly && importType != 3 && importType != 4)
1486 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace = globalData;
1487 struct GlobalData * data;
1489 for(c = 0; name[c]; c++)
1491 if(name[c] == '.' || (name[c] == ':' && name[c + 1] == ':'))
1493 struct __ecereNameSpace__ecere__com__NameSpace * newSpace;
1494 char * spaceName = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (c - start + 1));
1496 strncpy(spaceName, name + start, c - start);
1497 spaceName[c - start] = '\0';
1498 newSpace = (struct __ecereNameSpace__ecere__com__NameSpace *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&(*nameSpace).nameSpaces, spaceName);
1501 newSpace = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(struct __ecereNameSpace__ecere__com__NameSpace) * (1));
1502 (*newSpace).classes.CompareKey = (void *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString;
1503 (*newSpace).defines.CompareKey = (void *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString;
1504 (*newSpace).functions.CompareKey = (void *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString;
1505 (*newSpace).nameSpaces.CompareKey = (void *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString;
1506 (*newSpace).name = spaceName;
1507 (*newSpace).parent = nameSpace;
1508 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&(*nameSpace).nameSpaces, (struct __ecereNameSpace__ecere__sys__BTNode *)newSpace);
1511 (__ecereNameSpace__ecere__com__eSystem_Delete(spaceName), spaceName = 0);
1512 nameSpace = newSpace;
1520 data = (struct GlobalData *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&(*nameSpace).functions, name + start);
1523 data = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_GlobalData), ((struct GlobalData *)__ecereTemp1)->fullName = __ecereNameSpace__ecere__sys__CopyString(name), ((struct GlobalData *)__ecereTemp1)->dataTypeString = __ecereNameSpace__ecere__sys__CopyString(line), ((struct GlobalData *)__ecereTemp1)->module = privateModule, ((struct GlobalData *)__ecereTemp1));
1524 data->key = (uintptr_t)(data->fullName + start);
1525 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&(*nameSpace).functions, (struct __ecereNameSpace__ecere__sys__BTNode *)data);
1527 else if(strcmp(data->dataTypeString, line))
1529 struct DataRedefinition * redefinition = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_DataRedefinition);
1531 strcpy(redefinition->name, name);
1532 strcpy(redefinition->type1, data->dataTypeString);
1533 strcpy(redefinition->type2, line);
1534 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&dataRedefinitions, redefinition);
1539 else if(line[0] != '[')
1545 else if(!strcmp(line, "[Imported Modules]"))
1547 int moduleImportType = 0;
1548 int importAccess = 1;
1552 if(!__ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof line))
1554 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
1555 if(!strcmp(line, "."))
1557 if(!strcmp(line, "[Static]"))
1558 moduleImportType = 1;
1559 else if(!strcmp(line, "[Remote]"))
1560 moduleImportType = 2;
1561 else if(!strcmp(line, "[Private]"))
1563 else if(line[0] != '[')
1565 if(importType != 3 && importType != 4)
1566 ImportModule(line, moduleImportType, importAccess, loadDllOnly);
1568 ImportModule(line, 4, importAccess, loadDllOnly);
1569 if(!strcmp(line, "ecere"))
1570 ecereImported = 0x1;
1571 moduleImportType = 0;
1578 (__ecereNameSpace__ecere__com__eInstance_DecRef(f), f = 0);
1580 else if(importType != 4)
1582 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString(__thisModule, "Couldn't open %s\n", (((void *)0))), fileName);
1584 return globalInstance;
1587 struct __ecereNameSpace__ecere__com__Instance * loadedModules;
1589 extern unsigned int __ecereNameSpace__ecere__sys__StripExtension(char * string);
1591 extern struct __ecereNameSpace__ecere__sys__OldList * defines;
1593 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ImportedModule;
1595 struct ImportedModule
1597 struct ImportedModule * prev;
1598 struct ImportedModule * next;
1602 unsigned int globalInstance;
1603 unsigned int dllOnly;
1605 } __attribute__ ((gcc_struct));
1607 extern int strlen(const char * );
1609 extern char * __ecereNameSpace__ecere__sys__GetExtension(char * string, char * output);
1611 extern char * symbolsDir;
1613 extern char * __ecereNameSpace__ecere__sys__PathCat(char * string, char * addedPath);
1615 extern char * __ecereNameSpace__ecere__sys__ChangeExtension(char * string, char * ext, char * output);
1617 extern unsigned int __ecereNameSpace__ecere__sys__FileExists(char * fileName);
1619 extern unsigned int inCompiler;
1621 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
1623 struct __ecereNameSpace__ecere__com__IteratorPointer;
1625 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__MapIterator;
1627 struct __ecereNameSpace__ecere__com__MapIterator
1629 struct __ecereNameSpace__ecere__com__Instance * container;
1630 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
1631 } __attribute__ ((gcc_struct));
1633 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStrict(struct __ecereNameSpace__ecere__com__Instance * fromModule, char * name, int importAccess);
1635 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
1637 struct __ecereNameSpace__ecere__com__Module
1639 struct __ecereNameSpace__ecere__com__Instance * application;
1640 struct __ecereNameSpace__ecere__sys__OldList classes;
1641 struct __ecereNameSpace__ecere__sys__OldList defines;
1642 struct __ecereNameSpace__ecere__sys__OldList functions;
1643 struct __ecereNameSpace__ecere__sys__OldList modules;
1644 struct __ecereNameSpace__ecere__com__Instance * prev;
1645 struct __ecereNameSpace__ecere__com__Instance * next;
1651 struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
1652 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
1653 } __attribute__ ((gcc_struct));
1655 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Iterator;
1657 struct __ecereNameSpace__ecere__com__Iterator
1659 struct __ecereNameSpace__ecere__com__Instance * container;
1660 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
1661 } __attribute__ ((gcc_struct));
1663 extern int sprintf(char * , char * , ...);
1665 extern int __ecereNameSpace__ecere__com__GetRuntimePlatform(void);
1667 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__List_TPL_ecere__com__Module_;
1669 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName(struct __ecereNameSpace__ecere__sys__OldList * this, void * item);
1671 struct __ecereNameSpace__ecere__com__Instance * __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_map(struct __ecereNameSpace__ecere__com__MapIterator * this);
1673 void __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(struct __ecereNameSpace__ecere__com__MapIterator * this, struct __ecereNameSpace__ecere__com__Instance * value);
1675 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__MapIterator_map;
1677 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 index, unsigned int create);
1679 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Add;
1681 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this);
1683 void __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value);
1685 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Iterator_data;
1687 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next();
1689 void ImportModule(char * name, int importType, int importAccess, unsigned int loadDllOnly)
1691 void * __ecereTemp1;
1692 struct ImportedModule * module = (((void *)0));
1693 char moduleName[274];
1695 strncpy(moduleName, name, (274) - 1);
1696 moduleName[(274) - 1] = (char)0;
1697 __ecereNameSpace__ecere__sys__StripExtension(moduleName);
1698 for(module = (*defines).first; module; module = module->next)
1700 if(module->type == 0 && !(strcasecmp)(module->name, moduleName))
1703 if((!module || (module->dllOnly && !loadDllOnly)) && strlen(name) < (274))
1706 struct __ecereNameSpace__ecere__com__Instance * loadedModule = (((void *)0));
1710 __ecereNameSpace__ecere__sys__GetExtension(name, ext);
1711 strcpy(symFile, symbolsDir ? symbolsDir : "");
1712 __ecereNameSpace__ecere__sys__PathCat(symFile, name);
1713 __ecereNameSpace__ecere__sys__ChangeExtension(symFile, "sym", symFile);
1714 if(!strcmp(ext, "dll") || !strcmp(ext, "dll") || !ext[0])
1722 module = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ImportedModule), ((struct ImportedModule *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(moduleName), ((struct ImportedModule *)__ecereTemp1)->type = 0, ((struct ImportedModule *)__ecereTemp1)->importType = importType, ((struct ImportedModule *)__ecereTemp1)->importAccess = importAccess, ((struct ImportedModule *)__ecereTemp1));
1723 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*precompDefines), module);
1725 module = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ImportedModule), ((struct ImportedModule *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(moduleName), ((struct ImportedModule *)__ecereTemp1)->type = 0, ((struct ImportedModule *)__ecereTemp1)->importType = importType, ((struct ImportedModule *)__ecereTemp1)->importAccess = importAccess, ((struct ImportedModule *)__ecereTemp1));
1726 __ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName((&*defines), module);
1728 module->dllOnly = loadDllOnly;
1729 if(ext[0] || !__ecereNameSpace__ecere__sys__FileExists(symFile))
1731 unsigned int skipLoad = 0x0;
1732 struct __ecereNameSpace__ecere__com__Instance * list = (((void *)0));
1736 __ecereNameSpace__ecere__sys__StripExtension(file);
1739 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, loadedModules), it);
1741 if(!__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&it, (uint64)(file), 0x0))
1743 struct __ecereNameSpace__ecere__com__Instance * firstModule = __ecereNameSpace__ecere__com__eModule_LoadStrict(__thisModule, file, importAccess);
1747 list = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__List_TPL_ecere__com__Module_);
1748 ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))list->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add])(list, (uint64)(firstModule));
1750 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
1755 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(file))), 0x1);
1756 __ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&__internalIterator, list);
1763 list = ((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&it));
1767 loadedModule = __ecereNameSpace__ecere__com__eModule_LoadStrict(privateModule, file, importAccess);
1770 ((struct __ecereNameSpace__ecere__com__Module *)(((char *)loadedModule + 12)))->importType = importType;
1771 module->dllOnly = 0x0;
1773 ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))list->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add])(list, (uint64)(loadedModule));
1779 if(!loadedModule && (!strcmp(ext, "ec") || !strcmp(ext, "sym") || !ext[0]))
1786 module = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ImportedModule), ((struct ImportedModule *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(moduleName), ((struct ImportedModule *)__ecereTemp1)->type = 0, ((struct ImportedModule *)__ecereTemp1)->importType = importType, ((struct ImportedModule *)__ecereTemp1)->importAccess = importAccess, ((struct ImportedModule *)__ecereTemp1));
1787 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*precompDefines), module);
1789 module = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ImportedModule), ((struct ImportedModule *)__ecereTemp1)->name = __ecereNameSpace__ecere__sys__CopyString(moduleName), ((struct ImportedModule *)__ecereTemp1)->type = 0, ((struct ImportedModule *)__ecereTemp1)->importType = importType, ((struct ImportedModule *)__ecereTemp1)->importAccess = importAccess, ((struct ImportedModule *)__ecereTemp1));
1790 __ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName((&*defines), module);
1792 module->dllOnly = loadDllOnly;
1795 if(inIDE && !__ecereNameSpace__ecere__sys__FileExists(symFile) && sourceDirs)
1798 struct __ecereNameSpace__ecere__com__Iterator dir =
1803 while(__ecereMethod___ecereNameSpace__ecere__com__Iterator_Next(&dir))
1805 char configDir[274];
1807 strcpy(symFile, __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&dir));
1808 __ecereNameSpace__ecere__sys__PathCat(symFile, "obj");
1809 sprintf(configDir, "debug.%s", (__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "win32" : "linux");
1810 __ecereNameSpace__ecere__sys__PathCat(symFile, configDir);
1811 __ecereNameSpace__ecere__sys__PathCat(symFile, name);
1812 __ecereNameSpace__ecere__sys__ChangeExtension(symFile, "sym", symFile);
1813 if(__ecereNameSpace__ecere__sys__FileExists(symFile))
1818 if(!__ecereNameSpace__ecere__sys__FileExists(symFile))
1822 __ecereNameSpace__ecere__sys__GetLastDirectory(symFile, fileName);
1823 strcpy(symFile, symbolsDir ? symbolsDir : "");
1824 __ecereNameSpace__ecere__sys__PathCat(symFile, fileName);
1826 module->globalInstance = LoadSymbols(symFile, importType, loadDllOnly);
1832 int FindIncludeFileID(char * includeFile)
1836 for(c = 0; c < numIncludes; c++)
1837 if(!((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? (strcasecmp) : strcmp)(includes[c], includeFile))
1842 int GetIncludeFileID(char * includeFile)
1844 int found = FindIncludeFileID(includeFile);
1848 includes = __ecereNameSpace__ecere__com__eSystem_Renew(includes, sizeof(char *) * (numIncludes + 1));
1849 includes[numIncludes++] = __ecereNameSpace__ecere__sys__CopyString(includeFile);
1853 char * GetIncludeFileFromID(int id)
1855 return includes[id - 1];
1858 extern char * __ecereNameSpace__ecere__sys__StripLastDirectory(char * string, char * output);
1860 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char * fileName, int mode);
1862 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedItem;
1864 struct __ecereNameSpace__ecere__sys__NamedItem
1866 struct __ecereNameSpace__ecere__sys__NamedItem * prev;
1867 struct __ecereNameSpace__ecere__sys__NamedItem * next;
1869 } __attribute__ ((gcc_struct));
1871 struct __ecereNameSpace__ecere__com__Instance * OpenIncludeFile(char * includeFile)
1873 struct __ecereNameSpace__ecere__com__Instance * file;
1876 __ecereNameSpace__ecere__sys__StripLastDirectory(sourceFileStack[(include_stack_ptr >= 0) ? include_stack_ptr : 0], location);
1877 __ecereNameSpace__ecere__sys__PathCat(location, includeFile);
1878 file = __ecereNameSpace__ecere__sys__FileOpen(location, 1);
1881 strcpy(sourceFileStack[include_stack_ptr + 1], location);
1885 struct __ecereNameSpace__ecere__sys__NamedItem * includeDir;
1889 for(includeDir = (*includeDirs).first; includeDir; includeDir = includeDir->next)
1891 strcpy(location, includeDir->name);
1892 __ecereNameSpace__ecere__sys__PathCat(location, includeFile);
1893 file = __ecereNameSpace__ecere__sys__FileOpen(location, 1);
1900 for(includeDir = (*sysIncludeDirs).first; includeDir; includeDir = includeDir->next)
1902 strcpy(location, includeDir->name);
1903 __ecereNameSpace__ecere__sys__PathCat(location, includeFile);
1904 file = __ecereNameSpace__ecere__sys__FileOpen(location, 1);
1913 void FreeIncludeFiles()
1917 for(c = 0; c < numIncludes; c++)
1918 (__ecereNameSpace__ecere__com__eSystem_Delete(includes[c]), includes[c] = 0);
1919 (__ecereNameSpace__ecere__com__eSystem_Delete(includes), includes = 0);
1923 extern void FreeSymbol(struct Symbol * symbol);
1925 extern void FreeType(struct Type * type);
1927 void __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(struct __ecereNameSpace__ecere__sys__BinaryTree * this, struct __ecereNameSpace__ecere__sys__BTNode * node);
1929 void FreeGlobalData(struct __ecereNameSpace__ecere__com__NameSpace * globalDataList)
1931 struct __ecereNameSpace__ecere__com__NameSpace * ns;
1932 struct GlobalData * data;
1934 for(; (ns = (struct __ecereNameSpace__ecere__com__NameSpace *)globalDataList->nameSpaces.root); )
1937 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalDataList->nameSpaces, (struct __ecereNameSpace__ecere__sys__BTNode *)ns);
1938 (__ecereNameSpace__ecere__com__eSystem_Delete((*ns).name), (*ns).name = 0);
1939 (__ecereNameSpace__ecere__com__eSystem_Delete(ns), ns = 0);
1941 for(; (data = (struct GlobalData *)globalDataList->functions.root); )
1943 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalDataList->functions, data);
1945 FreeSymbol(data->symbol);
1946 FreeType(data->dataType);
1947 (__ecereNameSpace__ecere__com__eSystem_Delete(data->fullName), data->fullName = 0);
1948 (__ecereNameSpace__ecere__com__eSystem_Delete(data->dataTypeString), data->dataTypeString = 0);
1949 ((data ? (__ecereClass_GlobalData->Destructor ? __ecereClass_GlobalData->Destructor(data) : 0, __ecereClass___ecereNameSpace__ecere__sys__BTNode->Destructor ? __ecereClass___ecereNameSpace__ecere__sys__BTNode->Destructor(data) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(data)) : 0), data = 0);
1953 extern void PrintType(struct Type * type, char * string, unsigned int printName, unsigned int fullName);
1955 extern void Compiler_Warning(char * format, ...);
1957 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(struct __ecereNameSpace__ecere__sys__OldList * this, void (* freeFn)(void * ));
1959 void CheckDataRedefinitions()
1961 struct DataRedefinition * redefinition;
1963 for(redefinition = dataRedefinitions.first; redefinition; redefinition = redefinition->next)
1965 struct Type * type1 = ProcessTypeString(redefinition->type1, 0x0);
1966 struct Type * type2 = ProcessTypeString(redefinition->type2, 0x0);
1967 char type1String[1024] = "";
1968 char type2String[1024] = "";
1970 PrintType(type1, type1String, 0x0, 0x1);
1971 PrintType(type2, type2String, 0x0, 0x1);
1972 if(strcmp(type1String, type2String))
1973 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString(__thisModule, "Redefinition of %s (defining as %s, already defined as %s)\n", (((void *)0))), redefinition->name, type1String, type2String);
1977 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(&dataRedefinitions, (((void *)0)));
1980 void __ecereRegisterModule_loadSymbols(struct __ecereNameSpace__ecere__com__Instance * module)
1982 struct __ecereNameSpace__ecere__com__Class * class;
1984 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetGlobalData", "void SetGlobalData(ecere::com::NameSpace * nameSpace)", SetGlobalData, module, 1);
1985 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetInIDE", "void SetInIDE(bool b)", SetInIDE, module, 1);
1986 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSourceDirs", "void SetSourceDirs(ecere::com::List<String> list)", SetSourceDirs, module, 1);
1987 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetIncludeDirs", "void SetIncludeDirs(ecere::sys::OldList * list)", SetIncludeDirs, module, 1);
1988 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSysIncludeDirs", "void SetSysIncludeDirs(ecere::sys::OldList * list)", SetSysIncludeDirs, module, 1);
1989 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetEcereImported", "void SetEcereImported(bool b)", SetEcereImported, module, 1);
1990 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetEcereImported", "bool GetEcereImported(void)", GetEcereImported, module, 1);
1991 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetInPreCompiler", "void SetInPreCompiler(bool b)", SetInPreCompiler, module, 1);
1992 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetPrecompDefines", "void SetPrecompDefines(ecere::sys::OldList * list)", SetPrecompDefines, module, 1);
1993 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("DummyMethod", "bool DummyMethod(void)", DummyMethod, module, 1);
1994 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("LoadSymbols", "bool LoadSymbols(char * fileName, ecere::com::ImportType importType, bool loadDllOnly)", LoadSymbols, module, 1);
1995 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ImportModule", "void ImportModule(char * name, ecere::com::ImportType importType, ecere::com::AccessMode importAccess, bool loadDllOnly)", ImportModule, module, 1);
1996 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindIncludeFileID", "int FindIncludeFileID(char * includeFile)", FindIncludeFileID, module, 2);
1997 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetIncludeFileID", "int GetIncludeFileID(char * includeFile)", GetIncludeFileID, module, 2);
1998 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetIncludeFileFromID", "char * GetIncludeFileFromID(int id)", GetIncludeFileFromID, module, 2);
1999 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OpenIncludeFile", "ecere::sys::File OpenIncludeFile(char * includeFile)", OpenIncludeFile, module, 2);
2000 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeIncludeFiles", "void FreeIncludeFiles(void)", FreeIncludeFiles, module, 1);
2001 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeGlobalData", "void FreeGlobalData(ecere::com::NameSpace globalDataList)", FreeGlobalData, module, 1);
2002 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("CheckDataRedefinitions", "void CheckDataRedefinitions(void)", CheckDataRedefinitions, module, 1);
2005 void __ecereUnregisterModule_loadSymbols(struct __ecereNameSpace__ecere__com__Instance * module)
2010 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__List_TPL_ecere__com__Module___;
2012 void __ecereCreateModuleInstances_loadSymbols()
2014 loadedModules = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__List_TPL_ecere__com__Module___);
2015 __ecereNameSpace__ecere__com__eInstance_IncRef(loadedModules);
2018 void __ecereDestroyModuleInstances_loadSymbols()
2020 (__ecereNameSpace__ecere__com__eInstance_DecRef(loadedModules), loadedModules = 0);